1
|
1
|
|
#!/usr/bin/env python3
|
2
|
2
|
|
|
|
3
|
+ |
import bisect
|
3
|
4
|
|
import os
|
4
|
5
|
|
import pathlib
|
5
|
6
|
|
import rdflib
|
17
|
18
|
|
|
18
|
19
|
|
MANPAGE = Namespace('dokk:manpages:')
|
19
|
20
|
|
|
20
|
|
- |
g = Graph()
|
|
21
|
+ |
g_distro = Graph()
|
21
|
22
|
|
|
22
|
23
|
|
for absolute_file_path in pathlib.Path(DEBIMAN_SERVING_DIR).glob('**/*.roff'):
|
23
|
24
|
|
if not absolute_file_path.is_file():
|
59
|
60
|
|
html = ''
|
60
|
61
|
|
|
61
|
62
|
|
# Create a graph node for this manpage
|
|
63
|
+ |
g_page = Graph()
|
|
64
|
+ |
|
62
|
65
|
|
page_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}/{filename}'))
|
63
|
|
- |
g.add((page_ref, RDF.type, URIRef(MANPAGE.Page)))
|
64
|
|
- |
g.add((page_ref, URIRef(MANPAGE.filename), Literal(filename)))
|
65
|
|
- |
g.add((page_ref, URIRef(MANPAGE.name), Literal(name)))
|
66
|
|
- |
g.add((page_ref, URIRef(MANPAGE.name_lowercase), Literal(name.lower())))
|
67
|
|
- |
g.add((page_ref, URIRef(MANPAGE.section), Literal(section)))
|
68
|
|
- |
g.add((page_ref, URIRef(MANPAGE.section_lowercase), Literal(section.lower())))
|
69
|
|
- |
g.add((page_ref, URIRef(MANPAGE.section_number), Literal(section_number)))
|
70
|
|
- |
g.add((page_ref, URIRef(MANPAGE.subsection), Literal(subsection)))
|
71
|
|
- |
g.add((page_ref, URIRef(MANPAGE.language), Literal(language)))
|
72
|
|
- |
g.add((page_ref, URIRef(MANPAGE.roff), Literal(roff)))
|
73
|
|
- |
g.add((page_ref, URIRef(MANPAGE.plaintext), Literal(plaintext)))
|
74
|
|
- |
g.add((page_ref, URIRef(MANPAGE.html), Literal(html)))
|
|
66
|
+ |
g_page.add((page_ref, RDF.type, URIRef(MANPAGE.Page)))
|
|
67
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.filename), Literal(filename)))
|
|
68
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.name), Literal(name)))
|
|
69
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.name_lowercase), Literal(name.lower())))
|
|
70
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.section), Literal(section)))
|
|
71
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.section_lowercase), Literal(section.lower())))
|
|
72
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.section_number), Literal(section_number)))
|
|
73
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.subsection), Literal(subsection)))
|
|
74
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.language), Literal(language)))
|
|
75
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.roff), Literal(roff)))
|
|
76
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.plaintext), Literal(plaintext)))
|
|
77
|
+ |
g_page.add((page_ref, URIRef(MANPAGE.html), Literal(html)))
|
|
78
|
+ |
|
|
79
|
+ |
print(g.serialize(format='nt'))
|
75
|
80
|
|
|
76
|
81
|
|
# Create a graph node for this package
|
77
|
82
|
|
# Link to the page node
|
78
|
83
|
|
package_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}'))
|
79
|
|
- |
g.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
|
80
|
|
- |
g.add((package_ref, MANPAGE.name, Literal(distro_package)))
|
81
|
|
- |
g.add((package_ref, MANPAGE.page, page_ref))
|
|
84
|
+ |
g_distro.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
|
|
85
|
+ |
g_distro.add((package_ref, MANPAGE.name, Literal(distro_package)))
|
|
86
|
+ |
g_distro.add((package_ref, MANPAGE.page, page_ref))
|
82
|
87
|
|
|
83
|
88
|
|
# Create a graph node for this distro
|
84
|
89
|
|
# Link to the package node
|
85
|
90
|
|
distro_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}'))
|
86
|
|
- |
g.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
|
87
|
|
- |
g.add((distro_ref, MANPAGE.name, Literal('debian')))
|
88
|
|
- |
g.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
|
89
|
|
- |
g.add((distro_ref, MANPAGE.number, Literal(distro_number)))
|
90
|
|
- |
g.add((distro_ref, MANPAGE.package, package_ref))
|
|
91
|
+ |
g_distro.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
|
|
92
|
+ |
g_distro.add((distro_ref, MANPAGE.name, Literal('debian')))
|
|
93
|
+ |
g_distro.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
|
|
94
|
+ |
g_distro.add((distro_ref, MANPAGE.number, Literal(distro_number)))
|
|
95
|
+ |
g_distro.add((distro_ref, MANPAGE.package, package_ref))
|
91
|
96
|
|
|
92
|
|
- |
print(g.serialize(format='nt'))
|
|
97
|
+ |
print(g_distro.serialize(format='nt'))
|