Merge branch 'master' of https://github.com/gutenbergtools/autocat3
commit
27c62bb4e8
|
@ -64,7 +64,7 @@ tools.gzip.on: True
|
||||||
tools.gzip.mime_types: ['text/html', 'application/xhtml+xml', 'application/atom+xml']
|
tools.gzip.mime_types: ['text/html', 'application/xhtml+xml', 'application/atom+xml']
|
||||||
|
|
||||||
tools.I18nTool.on: True
|
tools.I18nTool.on: True
|
||||||
tools.I18nTool.default: 'en_US'
|
tools.I18nTool.default: 'en'
|
||||||
tools.I18nTool.mo_dir: CherryPyApp.install_dir + '/i18n'
|
tools.I18nTool.mo_dir: CherryPyApp.install_dir + '/i18n'
|
||||||
tools.I18nTool.domain: 'messages'
|
tools.I18nTool.domain: 'messages'
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ class CoverPages (object):
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" xml:base="http://www.gutenberg.org">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" xml:base="http://www.gutenberg.org">
|
||||||
<head>
|
<head>
|
||||||
<title>Cover Flow</title>
|
<title>Cover Flow</title>
|
||||||
<style>
|
<!--<style>
|
||||||
.cover-thumb {
|
.cover-thumb {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
|
@ -53,7 +53,7 @@ class CoverPages (object):
|
||||||
width: 210px;
|
width: 210px;
|
||||||
height: 310px;
|
height: 310px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>-->
|
||||||
</head>
|
</head>
|
||||||
<body><div>"""
|
<body><div>"""
|
||||||
|
|
||||||
|
@ -69,6 +69,7 @@ class CoverPages (object):
|
||||||
style="background-image: url({url})"> </a>\n""".format (
|
style="background-image: url({url})"> </a>\n""".format (
|
||||||
url = url, href = href, title = title, size = size)
|
url = url, href = href, title = title, size = size)
|
||||||
|
|
||||||
|
|
||||||
return (s + '</div></body></html>\n').encode ('utf-8')
|
return (s + '</div></body></html>\n').encode ('utf-8')
|
||||||
|
|
||||||
def index (self, count, size, order, **kwargs):
|
def index (self, count, size, order, **kwargs):
|
||||||
|
|
|
@ -129,9 +129,7 @@ class HTMLFormatter (XMLishFormatter):
|
||||||
""" Produce HTML output. """
|
""" Produce HTML output. """
|
||||||
|
|
||||||
CONTENT_TYPE = 'text/html; charset=UTF-8'
|
CONTENT_TYPE = 'text/html; charset=UTF-8'
|
||||||
DOCTYPE = ('html',
|
DOCTYPE = 'html5'
|
||||||
'-//W3C//DTD XHTML+RDFa 1.0//EN',
|
|
||||||
'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd')
|
|
||||||
|
|
||||||
def __init__ (self):
|
def __init__ (self):
|
||||||
super (HTMLFormatter, self).__init__ ()
|
super (HTMLFormatter, self).__init__ ()
|
||||||
|
@ -139,7 +137,7 @@ class HTMLFormatter (XMLishFormatter):
|
||||||
|
|
||||||
def get_serializer (self):
|
def get_serializer (self):
|
||||||
# return BaseFormatter.XHTMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
# return BaseFormatter.XHTMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
||||||
return genshi.output.XHTMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
return genshi.output.HTMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
||||||
|
|
||||||
|
|
||||||
def fix_dc (self, dc, os):
|
def fix_dc (self, dc, os):
|
||||||
|
@ -195,16 +193,14 @@ class MobileFormatter (XMLishFormatter):
|
||||||
""" Produce HTML output suitable for mobile devices. """
|
""" Produce HTML output suitable for mobile devices. """
|
||||||
|
|
||||||
CONTENT_TYPE = mt.xhtml + '; charset=UTF-8'
|
CONTENT_TYPE = mt.xhtml + '; charset=UTF-8'
|
||||||
DOCTYPE = ('html',
|
DOCTYPE = 'html5'
|
||||||
'-//WAPFORUM//DTD XHTML Mobile 1.2//EN',
|
|
||||||
'http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd')
|
|
||||||
|
|
||||||
def __init__ (self):
|
def __init__ (self):
|
||||||
super (MobileFormatter, self).__init__ ()
|
super (MobileFormatter, self).__init__ ()
|
||||||
|
|
||||||
|
|
||||||
def get_serializer (self):
|
def get_serializer (self):
|
||||||
return genshi.output.XMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
return genshi.output.HTMLSerializer (doctype = self.DOCTYPE, strip_whitespace = False)
|
||||||
|
|
||||||
|
|
||||||
def fix_dc (self, dc, os):
|
def fix_dc (self, dc, os):
|
||||||
|
|
2
Pipfile
2
Pipfile
|
@ -16,7 +16,7 @@ Genshi = "*"
|
||||||
html5lib = "*"
|
html5lib = "*"
|
||||||
isodate = "*"
|
isodate = "*"
|
||||||
#language-selector = "*"
|
#language-selector = "*"
|
||||||
libgutenberg = "*"
|
libgutenberg = ">=0.6.0"
|
||||||
netaddr = "*"
|
netaddr = "*"
|
||||||
oauth = "*"
|
oauth = "*"
|
||||||
oauthlib = "*"
|
oauthlib = "*"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"_meta": {
|
"_meta": {
|
||||||
"hash": {
|
"hash": {
|
||||||
"sha256": "e572637bcd906d1c709a30dc233b8b835861fb78f13dbd1733908631bd2f811a"
|
"sha256": "1c8d4c9db2126e962c51f6fba4570f7a576f86aef814be09a8f21765fcc1bbc3"
|
||||||
},
|
},
|
||||||
"pipfile-spec": 6,
|
"pipfile-spec": 6,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
@ -18,25 +18,18 @@
|
||||||
"default": {
|
"default": {
|
||||||
"babel": {
|
"babel": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab",
|
"sha256:1aac2ae2d0d8ea368fa90906567f5c08463d98ade155c0c4bfedd6a0f7160e38",
|
||||||
"sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28"
|
"sha256:d670ea0b10f8b723672d3a6abeb87b565b244da220d76b4dba1b66269ec152d4"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==2.7.0"
|
"version": "==2.8.0"
|
||||||
},
|
|
||||||
"backports.functools-lru-cache": {
|
|
||||||
"hashes": [
|
|
||||||
"sha256:9d98697f088eb1b0fa451391f91afb5e3ebde16bbdb272819fd091151fda4f1a",
|
|
||||||
"sha256:f0b0e4eba956de51238e17573b7087e852dfe9854afd2e9c873f73fc0ca0a6dd"
|
|
||||||
],
|
|
||||||
"version": "==1.5"
|
|
||||||
},
|
},
|
||||||
"certifi": {
|
"certifi": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939",
|
"sha256:017c25db2a153ce562900032d5bc68e9f191e44e9a0f762f373977de9df1fbb3",
|
||||||
"sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"
|
"sha256:25b64c7da4cd7479594d035c08c2d809eb4aab3a26e5a990ea98cc450c320f1f"
|
||||||
],
|
],
|
||||||
"version": "==2019.6.16"
|
"version": "==2019.11.28"
|
||||||
},
|
},
|
||||||
"chardet": {
|
"chardet": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -48,26 +41,26 @@
|
||||||
},
|
},
|
||||||
"cheroot": {
|
"cheroot": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:1593fa2a42b18744ac485aadf5fec4a29ebfee00ba3937a2269b8ffc94447879",
|
"sha256:5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff",
|
||||||
"sha256:f6a85e005adb5bc5f3a92b998ff0e48795d4d98a0fbb7edde47a7513d4100601"
|
"sha256:5d73fff8f99e6a35325a22f61e6a942cb7d378ac9ce3621f08b560720dfe4a7f"
|
||||||
],
|
],
|
||||||
"version": "==6.5.5"
|
"version": "==8.2.1"
|
||||||
},
|
},
|
||||||
"cherrypy": {
|
"cherrypy": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:3c7b27fd1af4964434d821cd139b8d05c8f7fe4f37ae146fddb3f861d80a1da7",
|
"sha256:26efbd146d6863c50db26abf549e776fbe552d5518cd98b74f854921fea87fd0",
|
||||||
"sha256:6585c19b5e4faffa3613b5bf02c6a27dcc4c69a30d302aba819639a2af6fa48b"
|
"sha256:63b2f61c38c469112145bd4e4e2385cd18f3233799e7a33bd447df468916d22b"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==18.1.1"
|
"version": "==18.5.0"
|
||||||
},
|
},
|
||||||
"colorama": {
|
"colorama": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d",
|
"sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff",
|
||||||
"sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"
|
"sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.4.1"
|
"version": "==0.4.3"
|
||||||
},
|
},
|
||||||
"genshi": {
|
"genshi": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -92,6 +85,14 @@
|
||||||
],
|
],
|
||||||
"version": "==2.8"
|
"version": "==2.8"
|
||||||
},
|
},
|
||||||
|
"importlib-resources": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:6e2783b2538bd5a14678284a3962b0660c715e5a0f10243fd5e00a4b5974f50b",
|
||||||
|
"sha256:d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078"
|
||||||
|
],
|
||||||
|
"markers": "python_version < '3.7'",
|
||||||
|
"version": "==1.0.2"
|
||||||
|
},
|
||||||
"isodate": {
|
"isodate": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8",
|
"sha256:2e364a3d5759479cdb2d37cce6b9376ea504db2ff90252a2e5b7cc89cc9ff2d8",
|
||||||
|
@ -100,55 +101,78 @@
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.6.0"
|
"version": "==0.6.0"
|
||||||
},
|
},
|
||||||
|
"jaraco.classes": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:116429c2047953f525afdcae165475c4589c7b14870e78b2d068ecb01018827e",
|
||||||
|
"sha256:c38698ff8ef932eb33d91c0e8fc192ad7c44ecee03f7f585afd4f35aeaef7aab"
|
||||||
|
],
|
||||||
|
"version": "==3.1.0"
|
||||||
|
},
|
||||||
|
"jaraco.collections": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:a7889f28c80c4875bd6256d9924e8526dacfef22cd7b80ff8469b4d312f9f144",
|
||||||
|
"sha256:be570ef4f2e7290b757449395238fa63d70a9255574624e73c5ff9f1ee554721"
|
||||||
|
],
|
||||||
|
"version": "==3.0.0"
|
||||||
|
},
|
||||||
"jaraco.functools": {
|
"jaraco.functools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:35ba944f52b1a7beee8843a5aa6752d1d5b79893eeb7770ea98be6b637bf9345",
|
"sha256:1db5ed25d8bb6cafc48b1c575743e1b4847a5ca7fca72497e89723832aa52529",
|
||||||
"sha256:e9e377644cee5f6f9128b4dab1631fca74981236e95a255f80e4292bcd2b5284"
|
"sha256:5cb0eea0f254584241c519641328a4d4ec2001a86c3cd6d17a8fd228493f6d97"
|
||||||
],
|
],
|
||||||
"version": "==2.0"
|
"version": "==3.0.0"
|
||||||
|
},
|
||||||
|
"jaraco.text": {
|
||||||
|
"hashes": [
|
||||||
|
"sha256:c87569c9afae14f71b2e1c57f316770ab6981ab675d9c602be1c7981161bacdd",
|
||||||
|
"sha256:e5078b1126cc0f166c7859aa75103a56c0d0f39ebcafc21695615472e0f810ec"
|
||||||
|
],
|
||||||
|
"version": "==3.2.0"
|
||||||
},
|
},
|
||||||
"libgutenberg": {
|
"libgutenberg": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:498cdcb2d4e1c4749bba9bd86fc08819637741c8093dc98a39d9f14b645a379c"
|
"sha256:5caca5f52676c67506b18082eae35b672098c6f9686856c58ce3686ba8ec8490"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==0.3.2"
|
"version": "==0.6.0"
|
||||||
},
|
},
|
||||||
"lxml": {
|
"lxml": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:06c7616601430aa140a69f97e3116308fffe0848f543b639a5ec2e8920ae72fd",
|
"sha256:00ac0d64949fef6b3693813fe636a2d56d97a5a49b5bbb86e4cc4cc50ebc9ea2",
|
||||||
"sha256:177202792f9842374a8077735c69c41a4282183f7851443d2beb8ee310720819",
|
"sha256:0571e607558665ed42e450d7bf0e2941d542c18e117b1ebbf0ba72f287ad841c",
|
||||||
"sha256:19317ad721ceb9e39847d11131903931e2794e447d4751ebb0d9236f1b349ff2",
|
"sha256:0e3f04a7615fdac0be5e18b2406529521d6dbdb0167d2a690ee328bef7807487",
|
||||||
"sha256:36d206e62f3e5dbaafd4ec692b67157e271f5da7fd925fda8515da675eace50d",
|
"sha256:13cf89be53348d1c17b453867da68704802966c433b2bb4fa1f970daadd2ef70",
|
||||||
"sha256:387115b066c797c85f9861a9613abf50046a15aac16759bc92d04f94acfad082",
|
"sha256:217262fcf6a4c2e1c7cb1efa08bd9ebc432502abc6c255c4abab611e8be0d14d",
|
||||||
"sha256:3ce1c49d4b4a7bc75fb12acb3a6247bb7a91fe420542e6d671ba9187d12a12c2",
|
"sha256:223e544828f1955daaf4cefbb4853bc416b2ec3fd56d4f4204a8b17007c21250",
|
||||||
"sha256:4d2a5a7d6b0dbb8c37dab66a8ce09a8761409c044017721c21718659fa3365a1",
|
"sha256:277cb61fede2f95b9c61912fefb3d43fbd5f18bf18a14fae4911b67984486f5d",
|
||||||
"sha256:58d0a1b33364d1253a88d18df6c0b2676a1746d27c969dc9e32d143a3701dda5",
|
"sha256:3213f753e8ae86c396e0e066866e64c6b04618e85c723b32ecb0909885211f74",
|
||||||
"sha256:62a651c618b846b88fdcae0533ec23f185bb322d6c1845733f3123e8980c1d1b",
|
"sha256:4690984a4dee1033da0af6df0b7a6bde83f74e1c0c870623797cec77964de34d",
|
||||||
"sha256:69ff21064e7debc9b1b1e2eee8c2d686d042d4257186d70b338206a80c5bc5ea",
|
"sha256:4fcc472ef87f45c429d3b923b925704aa581f875d65bac80f8ab0c3296a63f78",
|
||||||
"sha256:7060453eba9ba59d821625c6af6a266bd68277dce6577f754d1eb9116c094266",
|
"sha256:61409bd745a265a742f2693e4600e4dbd45cc1daebe1d5fad6fcb22912d44145",
|
||||||
"sha256:7d26b36a9c4bce53b9cfe42e67849ae3c5c23558bc08363e53ffd6d94f4ff4d2",
|
"sha256:678f1963f755c5d9f5f6968dded7b245dd1ece8cf53c1aa9d80e6734a8c7f41d",
|
||||||
"sha256:83b427ad2bfa0b9705e02a83d8d607d2c2f01889eb138168e462a3a052c42368",
|
"sha256:6c6d03549d4e2734133badb9ab1c05d9f0ef4bcd31d83e5d2b4747c85cfa21da",
|
||||||
"sha256:923d03c84534078386cf50193057aae98fa94cace8ea7580b74754493fda73ad",
|
"sha256:6e74d5f4d6ecd6942375c52ffcd35f4318a61a02328f6f1bd79fcb4ffedf969e",
|
||||||
"sha256:b773715609649a1a180025213f67ffdeb5a4878c784293ada300ee95a1f3257b",
|
"sha256:7b4fc7b1ecc987ca7aaf3f4f0e71bbfbd81aaabf87002558f5bc95da3a865bcd",
|
||||||
"sha256:baff149c174e9108d4a2fee192c496711be85534eab63adb122f93e70aa35431",
|
"sha256:7ed386a40e172ddf44c061ad74881d8622f791d9af0b6f5be20023029129bc85",
|
||||||
"sha256:bca9d118b1014b4c2d19319b10a3ebed508ff649396ce1855e1c96528d9b2fa9",
|
"sha256:8f54f0924d12c47a382c600c880770b5ebfc96c9fd94cf6f6bdc21caf6163ea7",
|
||||||
"sha256:ce580c28845581535dc6000fc7c35fdadf8bea7ccb57d6321b044508e9ba0685",
|
"sha256:ad9b81351fdc236bda538efa6879315448411a81186c836d4b80d6ca8217cdb9",
|
||||||
"sha256:d34923a569e70224d88e6682490e24c842907ba2c948c5fd26185413cbe0cd96",
|
"sha256:bbd00e21ea17f7bcc58dccd13869d68441b32899e89cf6cfa90d624a9198ce85",
|
||||||
"sha256:dd9f0e531a049d8b35ec5e6c68a37f1ba6ec3a591415e6804cbdf652793d15d7",
|
"sha256:c3c289762cc09735e2a8f8a49571d0e8b4f57ea831ea11558247b5bdea0ac4db",
|
||||||
"sha256:ecb805cbfe9102f3fd3d2ef16dfe5ae9e2d7a7dfbba92f4ff1e16ac9784dbfb0",
|
"sha256:cf4650942de5e5685ad308e22bcafbccfe37c54aa7c0e30cd620c2ee5c93d336",
|
||||||
"sha256:ede9aad2197a0202caff35d417b671f5f91a3631477441076082a17c94edd846",
|
"sha256:cfcbc33c9c59c93776aa41ab02e55c288a042211708b72fdb518221cc803abc8",
|
||||||
"sha256:ef2d1fc370400e0aa755aab0b20cf4f1d0e934e7fd5244f3dd4869078e4942b9",
|
"sha256:e301055deadfedbd80cf94f2f65ff23126b232b0d1fea28f332ce58137bcdb18",
|
||||||
"sha256:f2fec194a49bfaef42a548ee657362af5c7a640da757f6f452a35da7dd9f923c"
|
"sha256:ebbfe24df7f7b5c6c7620702496b6419f6a9aa2fd7f005eb731cc80d7b4692b9",
|
||||||
|
"sha256:eff69ddbf3ad86375c344339371168640951c302450c5d3e9936e98d6459db06",
|
||||||
|
"sha256:f6ed60a62c5f1c44e789d2cf14009423cb1646b44a43e40a9cf6a21f077678a1"
|
||||||
],
|
],
|
||||||
"version": "==4.3.4"
|
"version": "==4.4.2"
|
||||||
},
|
},
|
||||||
"more-itertools": {
|
"more-itertools": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:2112d2ca570bb7c3e53ea1a35cd5df42bb0fd10c45f0fb97178679c3c03d64c7",
|
"sha256:b84b238cce0d9adad5ed87e745778d20a3f8487d0f0cb8b8a586816c7496458d",
|
||||||
"sha256:c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a"
|
"sha256:c833ef592a0324bcc6a60e48440da07645063c453880c9477ceb22490aec1564"
|
||||||
],
|
],
|
||||||
"version": "==7.0.0"
|
"version": "==8.0.2"
|
||||||
},
|
},
|
||||||
"netaddr": {
|
"netaddr": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -167,50 +191,46 @@
|
||||||
},
|
},
|
||||||
"oauthlib": {
|
"oauthlib": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:0ce32c5d989a1827e3f1148f98b9085ed2370fc939bf524c9c851d8714797298",
|
"sha256:bee41cc35fcca6e988463cacc3bcb8a96224f470ca547e697b604cc697b2f889",
|
||||||
"sha256:3e1e14f6cde7e5475128d30e97edc3bfb4dc857cb884d8714ec161fdbb3b358e"
|
"sha256:df884cd6cbe20e32633f1db1072e9356f53638e4361bef4e8b03c9127c9328ea"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==3.0.1"
|
"version": "==3.1.0"
|
||||||
},
|
},
|
||||||
"pillow": {
|
"pillow": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:15c056bfa284c30a7f265a41ac4cbbc93bdbfc0dfe0613b9cb8a8581b51a9e55",
|
"sha256:0a628977ac2e01ca96aaae247ec2bd38e729631ddf2221b4b715446fd45505be",
|
||||||
"sha256:1a4e06ba4f74494ea0c58c24de2bb752818e9d504474ec95b0aa94f6b0a7e479",
|
"sha256:4d9ed9a64095e031435af120d3c910148067087541131e82b3e8db302f4c8946",
|
||||||
"sha256:1c3c707c76be43c9e99cb7e3d5f1bee1c8e5be8b8a2a5eeee665efbf8ddde91a",
|
"sha256:54ebae163e8412aff0b9df1e88adab65788f5f5b58e625dc5c7f51eaf14a6837",
|
||||||
"sha256:1fd0b290203e3b0882d9605d807b03c0f47e3440f97824586c173eca0aadd99d",
|
"sha256:5bfef0b1cdde9f33881c913af14e43db69815c7e8df429ceda4c70a5e529210f",
|
||||||
"sha256:24114e4a6e1870c5a24b1da8f60d0ba77a0b4027907860188ea82bd3508c80eb",
|
"sha256:5f3546ceb08089cedb9e8ff7e3f6a7042bb5b37c2a95d392fb027c3e53a2da00",
|
||||||
"sha256:258d886a49b6b058cd7abb0ab4b2b85ce78669a857398e83e8b8e28b317b5abb",
|
"sha256:5f7ae9126d16194f114435ebb79cc536b5682002a4fa57fa7bb2cbcde65f2f4d",
|
||||||
"sha256:33c79b6dd6bc7f65079ab9ca5bebffb5f5d1141c689c9c6a7855776d1b09b7e8",
|
"sha256:62a889aeb0a79e50ecf5af272e9e3c164148f4bd9636cc6bcfa182a52c8b0533",
|
||||||
"sha256:367385fc797b2c31564c427430c7a8630db1a00bd040555dfc1d5c52e39fcd72",
|
"sha256:7406f5a9b2fd966e79e6abdaf700585a4522e98d6559ce37fc52e5c955fade0a",
|
||||||
"sha256:3c1884ff078fb8bf5f63d7d86921838b82ed4a7d0c027add773c2f38b3168754",
|
"sha256:8453f914f4e5a3d828281a6628cf517832abfa13ff50679a4848926dac7c0358",
|
||||||
"sha256:44e5240e8f4f8861d748f2a58b3f04daadab5e22bfec896bf5434745f788f33f",
|
"sha256:87269cc6ce1e3dee11f23fa515e4249ae678dbbe2704598a51cee76c52e19cda",
|
||||||
"sha256:46aa988e15f3ea72dddd81afe3839437b755fffddb5e173886f11460be909dce",
|
"sha256:875358310ed7abd5320f21dd97351d62de4929b0426cdb1eaa904b64ac36b435",
|
||||||
"sha256:74d90d499c9c736d52dd6d9b7221af5665b9c04f1767e35f5dd8694324bd4601",
|
"sha256:8ac6ce7ff3892e5deaab7abaec763538ffd011f74dc1801d93d3c5fc541feee2",
|
||||||
"sha256:809c0a2ce9032cbcd7b5313f71af4bdc5c8c771cb86eb7559afd954cab82ebb5",
|
"sha256:91b710e3353aea6fc758cdb7136d9bbdcb26b53cefe43e2cba953ac3ee1d3313",
|
||||||
"sha256:85d1ef2cdafd5507c4221d201aaf62fc9276f8b0f71bd3933363e62a33abc734",
|
"sha256:9d2ba4ed13af381233e2d810ff3bab84ef9f18430a9b336ab69eaf3cd24299ff",
|
||||||
"sha256:8c3889c7681af77ecfa4431cd42a2885d093ecb811e81fbe5e203abc07e0995b",
|
"sha256:a62ec5e13e227399be73303ff301f2865bf68657d15ea50b038d25fc41097317",
|
||||||
"sha256:9218d81b9fca98d2c47d35d688a0cea0c42fd473159dfd5612dcb0483c63e40b",
|
"sha256:ab76e5580b0ed647a8d8d2d2daee170e8e9f8aad225ede314f684e297e3643c2",
|
||||||
"sha256:9aa4f3827992288edd37c9df345783a69ef58bd20cc02e64b36e44bcd157bbf1",
|
"sha256:bf4003aa538af3f4205c5fac56eacaa67a6dd81e454ffd9e9f055fff9f1bc614",
|
||||||
"sha256:9d80f44137a70b6f84c750d11019a3419f409c944526a95219bea0ac31f4dd91",
|
"sha256:bf598d2e37cf8edb1a2f26ed3fb255191f5232badea4003c16301cb94ac5bdd0",
|
||||||
"sha256:b7ebd36128a2fe93991293f997e44be9286503c7530ace6a55b938b20be288d8",
|
"sha256:c18f70dc27cc5d236f10e7834236aff60aadc71346a5bc1f4f83a4b3abee6386",
|
||||||
"sha256:c4c78e2c71c257c136cdd43869fd3d5e34fc2162dc22e4a5406b0ebe86958239",
|
"sha256:c5ed816632204a2fc9486d784d8e0d0ae754347aba99c811458d69fcdfd2a2f9",
|
||||||
"sha256:c6a842537f887be1fe115d8abb5daa9bc8cc124e455ff995830cc785624a97af",
|
"sha256:dc058b7833184970d1248135b8b0ab702e6daa833be14035179f2acb78ff5636",
|
||||||
"sha256:cf0a2e040fdf5a6d95f4c286c6ef1df6b36c218b528c8a9158ec2452a804b9b8",
|
"sha256:ff3797f2f16bf9d17d53257612da84dd0758db33935777149b3334c01ff68865"
|
||||||
"sha256:cfd28aad6fc61f7a5d4ee556a997dc6e5555d9381d1390c00ecaf984d57e4232",
|
|
||||||
"sha256:dca5660e25932771460d4688ccbb515677caaf8595f3f3240ec16c117deff89a",
|
|
||||||
"sha256:de7aedc85918c2f887886442e50f52c1b93545606317956d65f342bd81cb4fc3",
|
|
||||||
"sha256:e6c0bbf8e277b74196e3140c35f9a1ae3eafd818f7f2d3a15819c49135d6c062"
|
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==6.0.0"
|
"version": "==7.0.0"
|
||||||
},
|
},
|
||||||
"portend": {
|
"portend": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:19dc27bfb3c72471bd30a235a4d5fbefef8a7e31cab367744b5d87a205e7bfd9",
|
"sha256:600dd54175e17e9347e5f3d4217aa8bcf4bf4fa5ffbc4df034e5ec1ba7cdaff5",
|
||||||
"sha256:d2dca12e585ce29fc357b31ce424a27c16e2d485029252bbf8ddcc9696207976"
|
"sha256:62dd00b94a6a55fbf0320365fbdeba37f0d1fe14d613841037dc4780bedfda8f"
|
||||||
],
|
],
|
||||||
"version": "==2.5"
|
"version": "==2.6"
|
||||||
},
|
},
|
||||||
"psycopg2": {
|
"psycopg2": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -250,19 +270,19 @@
|
||||||
},
|
},
|
||||||
"pyparsing": {
|
"pyparsing": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a",
|
"sha256:4c830582a84fb022400b85429791bc551f1f4871c33f23e44f353119e92f969f",
|
||||||
"sha256:9b6323ef4ab914af344ba97510e966d64ba91055d6b9afa6b30799340e89cc03"
|
"sha256:c342dccb5250c08d45fd6f8b4a559613ca603b57498511740e65cd11a2e7dcec"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==2.4.0"
|
"version": "==2.4.6"
|
||||||
},
|
},
|
||||||
"pytz": {
|
"pytz": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda",
|
"sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d",
|
||||||
"sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"
|
"sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==2019.1"
|
"version": "==2019.3"
|
||||||
},
|
},
|
||||||
"qrcode": {
|
"qrcode": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -282,20 +302,30 @@
|
||||||
},
|
},
|
||||||
"regex": {
|
"regex": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:1c70ccb8bf4ded0cbe53092e9f56dcc9d6b0efcf6e80b6ef9b0ece8a557d6635",
|
"sha256:08047f4b31254489316b489c24983d72c0b9d520da084b8c624f45891a9c6da2",
|
||||||
"sha256:2948310c01535ccb29bb600dd033b07b91f36e471953889b7f3a1e66b39d0c19",
|
"sha256:08d042155592c24cbdb81158a99aeeded4493381a1aba5eba9def6d29961042c",
|
||||||
"sha256:2ab13db0411cb308aa590d33c909ea4efeced40188d8a4a7d3d5970657fe73bc",
|
"sha256:13901ac914de7a7e58a92f99c71415e268e88ac4be8b389d8360c38e64b2f1c5",
|
||||||
"sha256:38e6486c7e14683cd1b17a4218760f0ea4c015633cf1b06f7c190fb882a51ba7",
|
"sha256:15b6f7e10f764c5162242a7db89da51218a38299415ba5e70f235a6a83c53b94",
|
||||||
"sha256:80dde4ff10b73b823da451687363cac93dd3549e059d2dc19b72a02d048ba5aa",
|
"sha256:46d01bb4139e7051470037f8b9a5b90c48cb77a3d307c2621bf3791bfae4d9d8",
|
||||||
"sha256:84daedefaa56320765e9c4d43912226d324ef3cc929f4d75fa95f8c579a08211",
|
"sha256:52814a8423d52a7e0f070dbb79f7bdfce5221992b881f83bad69f8daf4b831c3",
|
||||||
"sha256:b98e5876ca1e63b41c4aa38d7d5cc04a736415d4e240e9ae7ebc4f780083c7d5",
|
"sha256:6d999447f77b1b638ea620bde466b958144af90ac2e9b1f23b98a79ced14ce3f",
|
||||||
"sha256:ca4f47131af28ef168ff7c80d4b4cad019cb4cabb5fa26143f43aa3dbd60389c",
|
"sha256:7391eeee49bb3ce895ca43479eaca810f0c2608556711fa02a82075768f81a37",
|
||||||
"sha256:cf7838110d3052d359da527372666429b9485ab739286aa1a11ed482f037a88c",
|
"sha256:79530d60a8644f72f78834c01a2d70a60be110e2f4a0a612b78da23ef60c2730",
|
||||||
"sha256:dd4e8924915fa748e128864352875d3d0be5f4597ab1b1d475988b8e3da10dd7",
|
"sha256:841056961d441f05b949d9003e7f2b5d51a11dd52d8bd7c0a5325943b6a0ea6b",
|
||||||
"sha256:f2c65530255e4010a5029eb11138f5ecd5aa70363f57a3444d83b3253b0891be"
|
"sha256:895f95344182b4ecb84044910e62ad33ca63a7e7b447c7ba858d24e9f1aad939",
|
||||||
|
"sha256:93e797cf16e07b315413d1157b5ce7a7c2b28b2b95768e25c0ccd290443661ad",
|
||||||
|
"sha256:a4677dc8245f1127b70fa79fb7f15a61eae0fee36ae15cbbe017207485fe9a5c",
|
||||||
|
"sha256:b2faf1dce478c0ca1c92575bdc48b7afdce3a887a02afb6342fae476af41bbe2",
|
||||||
|
"sha256:bcd9bcba67ae8d1e1b21426ea7995f7ca08260bea601ba15e13e5ca8588208ef",
|
||||||
|
"sha256:d47a89e6029852c88fff859dbc9a11dcec820413b4c2510e80ced1c99c3e79ea",
|
||||||
|
"sha256:dd69d165bee099b02d122d1e0dd55a85ebf9a65493dcd17124b628db9edfc833",
|
||||||
|
"sha256:e77f64a3ae8b9a555e170a3908748b4e2ccd0c58f8385f328baf8fc70f9ea497",
|
||||||
|
"sha256:ec75e8baa576aed6065b615a8f8e91a05e42b492b24ffd16cbb075ad62fb9185",
|
||||||
|
"sha256:ed75b64c6694bbe840b3340191b2039f633fd1ec6fc567454e47d7326eda557f",
|
||||||
|
"sha256:ef85a6a15342559bed737dc16dfb1545dc043ca5bf5bce6bff4830f0e7a74395"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==2019.6.8"
|
"version": "==2020.1.7"
|
||||||
},
|
},
|
||||||
"repoze.lru": {
|
"repoze.lru": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -315,11 +345,11 @@
|
||||||
},
|
},
|
||||||
"requests-oauthlib": {
|
"requests-oauthlib": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:bd6533330e8748e94bf0b214775fed487d309b8b8fe823dc45641ebcd9a32f57",
|
"sha256:7f71572defaecd16372f9006f33c2ec8c077c3cfa6f5911a9a90202beb513f3d",
|
||||||
"sha256:d3ed0c8f2e3bbc6b344fa63d6f933745ab394469da38db16bdddb461c7e25140"
|
"sha256:b4261601a71fd721a8bd6d7aa1cc1d6a8a93b4a9f5e96626f8e4d91e8beeaa6a"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==1.2.0"
|
"version": "==1.3.0"
|
||||||
},
|
},
|
||||||
"routes": {
|
"routes": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -331,51 +361,55 @@
|
||||||
},
|
},
|
||||||
"simplejson": {
|
"simplejson": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:067a7177ddfa32e1483ba5169ebea1bc2ea27f224853211ca669325648ca5642",
|
"sha256:0fe3994207485efb63d8f10a833ff31236ed27e3b23dadd0bf51c9900313f8f2",
|
||||||
"sha256:2fc546e6af49fb45b93bbe878dea4c48edc34083729c0abd09981fe55bdf7f91",
|
"sha256:17163e643dbf125bb552de17c826b0161c68c970335d270e174363d19e7ea882",
|
||||||
"sha256:354fa32b02885e6dae925f1b5bbf842c333c1e11ea5453ddd67309dc31fdb40a",
|
"sha256:1d1e929cdd15151f3c0b2efe953b3281b2fd5ad5f234f77aca725f28486466f6",
|
||||||
"sha256:37e685986cf6f8144607f90340cff72d36acf654f3653a6c47b84c5c38d00df7",
|
"sha256:1ea59f570b9d4916ae5540a9181f9c978e16863383738b69a70363bc5e63c4cb",
|
||||||
"sha256:3af610ee72efbe644e19d5eaad575c73fb83026192114e5f6719f4901097fce2",
|
"sha256:22a7acb81968a7c64eba7526af2cf566e7e2ded1cb5c83f0906b17ff1540f866",
|
||||||
"sha256:3b919fc9cf508f13b929a9b274c40786036b31ad28657819b3b9ba44ba651f50",
|
"sha256:2b4b2b738b3b99819a17feaf118265d0753d5536049ea570b3c43b51c4701e81",
|
||||||
"sha256:3dd289368bbd064974d9a5961101f080e939cbe051e6689a193c99fb6e9ac89b",
|
"sha256:4cf91aab51b02b3327c9d51897960c554f00891f9b31abd8a2f50fd4a0071ce8",
|
||||||
"sha256:6c3258ffff58712818a233b9737fe4be943d306c40cf63d14ddc82ba563f483a",
|
"sha256:7cce4bac7e0d66f3a080b80212c2238e063211fe327f98d764c6acbc214497fc",
|
||||||
"sha256:75e3f0b12c28945c08f54350d91e624f8dd580ab74fd4f1bbea54bc6b0165610",
|
"sha256:8027bd5f1e633eb61b8239994e6fc3aba0346e76294beac22a892eb8faa92ba1",
|
||||||
"sha256:b1f329139ba647a9548aa05fb95d046b4a677643070dc2afc05fa2e975d09ca5",
|
"sha256:86afc5b5cbd42d706efd33f280fec7bd7e2772ef54e3f34cf6b30777cd19a614",
|
||||||
"sha256:ee9625fc8ee164902dfbb0ff932b26df112da9f871c32f0f9c1bcf20c350fe2a",
|
"sha256:87d349517b572964350cc1adc5a31b493bbcee284505e81637d0174b2758ba17",
|
||||||
"sha256:fb2530b53c28f0d4d84990e945c2ebb470edb469d63e389bf02ff409012fe7c5"
|
"sha256:926bcbef9eb60e798eabda9cd0bbcb0fca70d2779aa0aa56845749d973eb7ad5",
|
||||||
|
"sha256:9a126c3a91df5b1403e965ba63b304a50b53d8efc908a8c71545ed72535374a3",
|
||||||
|
"sha256:daaf4d11db982791be74b23ff4729af2c7da79316de0bebf880fa2d60bcc8c5a",
|
||||||
|
"sha256:fc046afda0ed8f5295212068266c92991ab1f4a50c6a7144b69364bdee4a0159",
|
||||||
|
"sha256:fc9051d249dd5512e541f20330a74592f7a65b2d62e18122ca89bf71f94db748"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==3.16.0"
|
"version": "==3.17.0"
|
||||||
},
|
},
|
||||||
"six": {
|
"six": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
|
"sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd",
|
||||||
"sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
|
"sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==1.12.0"
|
"version": "==1.13.0"
|
||||||
},
|
},
|
||||||
"sqlalchemy": {
|
"sqlalchemy": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:c7fef198b43ef31dfd783d094fd5ee435ce8717592e6784c45ba337254998017"
|
"sha256:bfb8f464a5000b567ac1d350b9090cf081180ec1ab4aa87e7bca12dab25320ec"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==1.3.4"
|
"version": "==1.3.12"
|
||||||
},
|
},
|
||||||
"tempora": {
|
"tempora": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:cb60b1d2b1664104e307f8e5269d7f4acdb077c82e35cd57246ae14a3427d2d6",
|
"sha256:10f8c1299a7cf5392101eaac57f59048dfec126fa31d33761fad939762ed535d",
|
||||||
"sha256:d28a03d2f64ee81aec6e6bff374127ef306fe00c1b7e27c7ff1618344221a699"
|
"sha256:f11df59b34b9a87d395cce031274f6ff3d2be2171dd1db32dff9ab1fcb5352fa"
|
||||||
],
|
],
|
||||||
"version": "==1.14.1"
|
"version": "==2.0.0"
|
||||||
},
|
},
|
||||||
"urllib3": {
|
"urllib3": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:b246607a25ac80bedac05c6f282e3cdaf3afb65420fd024ac94435cabe6e18d1",
|
"sha256:a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293",
|
||||||
"sha256:dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232"
|
"sha256:f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"
|
||||||
],
|
],
|
||||||
"index": "pypi",
|
"index": "pypi",
|
||||||
"version": "==1.25.3"
|
"version": "==1.25.7"
|
||||||
},
|
},
|
||||||
"webencodings": {
|
"webencodings": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
|
@ -386,9 +420,10 @@
|
||||||
},
|
},
|
||||||
"zc.lockfile": {
|
"zc.lockfile": {
|
||||||
"hashes": [
|
"hashes": [
|
||||||
"sha256:95a8e3846937ab2991b61703d6e0251d5abb9604e18412e2714e1b90db173253"
|
"sha256:307ad78227e48be260e64896ec8886edc7eae22d8ec53e4d528ab5537a83203b",
|
||||||
|
"sha256:cc33599b549f0c8a248cb72f3bf32d77712de1ff7ee8814312eb6456b42c015f"
|
||||||
],
|
],
|
||||||
"version": "==1.4"
|
"version": "==2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"develop": {}
|
"develop": {}
|
||||||
|
|
|
@ -7,7 +7,7 @@ User=autocat
|
||||||
Type=simple
|
Type=simple
|
||||||
RuntimeDirectory=autocat
|
RuntimeDirectory=autocat
|
||||||
WorkingDirectory=/var/lib/autocat/autocat3
|
WorkingDirectory=/var/lib/autocat/autocat3
|
||||||
ExecStartPre=-/usr/bin/mkdir -p /var/run/autocat
|
ExecStartPre=-/usr/bin/mkdir -p /var/run/autocat ; -/usr/bin/curl -o /var/lib/autocat/menu.html https://raw.githubusercontent.com/gbnewby/gutenbergsite/master/_includes/menu.html
|
||||||
ExecStart=/usr/local/bin/pipenv run python CherryPyApp.py
|
ExecStart=/usr/local/bin/pipenv run python CherryPyApp.py
|
||||||
#
|
#
|
||||||
# These next lines are for auto-restart. See: man systemd.service
|
# These next lines are for auto-restart. See: man systemd.service
|
||||||
|
|
|
@ -21,7 +21,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
xmlns:marcrel="http://www.loc.gov/loc.terms/relators/"
|
xmlns:marcrel="http://www.loc.gov/loc.terms/relators/"
|
||||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
|
||||||
xml:lang="${os.lang}"
|
xml:lang="${os.lang}"
|
||||||
version="XHTML+RDFa 1.0">
|
>
|
||||||
|
|
||||||
<?python
|
<?python
|
||||||
import re
|
import re
|
||||||
|
@ -53,8 +53,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
title="${explain (topic)}"><span class="icon icon_help noprint" /></a>
|
title="${explain (topic)}"><span class="icon icon_help noprint" /></a>
|
||||||
</py:def>
|
</py:def>
|
||||||
|
|
||||||
<head profile="http://a9.com/-/spec/opensearch/1.1/"
|
<head xmlns:og="http://opengraphprotocol.org/schema/">
|
||||||
xmlns:og="http://opengraphprotocol.org/schema/">
|
|
||||||
|
|
||||||
${site_head ()}
|
${site_head ()}
|
||||||
|
|
||||||
|
@ -63,16 +62,18 @@ Gutenberg metadata much faster than by scraping.
|
||||||
<link rel="alternate nofollow" type="${mt.rdf}"
|
<link rel="alternate nofollow" type="${mt.rdf}"
|
||||||
href="${os.url ('bibrec', id = os.id, format = 'rdf')}" />
|
href="${os.url ('bibrec', id = os.id, format = 'rdf')}" />
|
||||||
|
|
||||||
<style type="text/css">
|
<style>
|
||||||
.qrcode { background: transparent url(${os.qrcode_url}) 0 0 no-repeat; }
|
.qrcode { background: transparent url(${os.qrcode_url}) 0 0 no-repeat; }
|
||||||
</style>
|
</style>
|
||||||
<meta name="google" content="notranslate" />
|
<meta name="google" content="notranslate" />
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="mw-head-dummy" class="noprint" />
|
<div class="container">
|
||||||
|
${site_top()}
|
||||||
|
<!-- <div id="mw-head-dummy" class="noprint" />-->
|
||||||
|
|
||||||
<div id="content" itemscope="itemscope" itemtype="http://schema.org/Book" i18n:comment="On the 'bibrec' page.">
|
<div class="page_content" id="content" itemscope="itemscope" itemtype="http://schema.org/Book" i18n:comment="On the 'bibrec' page.">
|
||||||
|
|
||||||
<div class="breadcrumbs noprint">
|
<div class="breadcrumbs noprint">
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -85,10 +86,8 @@ Gutenberg metadata much faster than by scraping.
|
||||||
</py:for>
|
</py:for>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header">
|
|
||||||
<h1 itemprop="name">${os.title}</h1>
|
<h1 itemprop="name">${os.title}</h1>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="body">
|
<div class="body">
|
||||||
<div property="dcterms:publisher" itemprop="publisher" content="Project Gutenberg" />
|
<div property="dcterms:publisher" itemprop="publisher" content="Project Gutenberg" />
|
||||||
|
@ -149,7 +148,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
|
|
||||||
<h2>Bibliographic Record <span>${help (_('Table: Bibliographic Record'))}</span></h2>
|
<h2>Bibliographic Record <span>${help (_('Table: Bibliographic Record'))}</span></h2>
|
||||||
|
|
||||||
<table class="bibrec" summary="Bibliographic data of author and book.">
|
<table class="bibrec" >
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col class="narrow" />
|
<col class="narrow" />
|
||||||
<col />
|
<col />
|
||||||
|
@ -158,8 +157,8 @@ Gutenberg metadata much faster than by scraping.
|
||||||
<tr py:for="author in e.authors">
|
<tr py:for="author in e.authors">
|
||||||
<th>${author.role}</th>
|
<th>${author.role}</th>
|
||||||
<td>
|
<td>
|
||||||
<a href="${os.url ('author', id = author.id)}"
|
<a href="/browse/authors/${author.first_lettter}#a${author.id}"
|
||||||
rel="marcrel:${author.marcrel}" about="/authors/${author.id}" typeof="pgterms:agent"
|
rel="marcrel:${author.marcrel}" about="/authors/" typeof="pgterms:agent"
|
||||||
itemprop="creator">${author.name_and_dates}</a></td>
|
itemprop="creator">${author.name_and_dates}</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
@ -245,7 +244,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
|
|
||||||
<tr itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer">
|
<tr itemprop="offers" itemscope="itemscope" itemtype="http://schema.org/Offer">
|
||||||
<th>Price</th>
|
<th>Price</th>
|
||||||
<td><span itemprop="priceCurrency" content="USD" /><span itemprop="price">$0.00</span><span itemprop="availability" href="http://schema.org/InStock" content="In Stock" /></td>
|
<td><span itemprop="priceCurrency" content="USD" /><span itemprop="price">$0.00</span><span itemprop="availability" content="In Stock" ><a href="http://schema.org/InStock"></a></span></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
@ -289,14 +288,15 @@ Gutenberg metadata much faster than by scraping.
|
||||||
|
|
||||||
<py:for each="e in os.entries">
|
<py:for each="e in os.entries">
|
||||||
<py:if test="isinstance (e, bs.DC)">
|
<py:if test="isinstance (e, bs.DC)">
|
||||||
<div about="[ebook:$e.project_gutenberg_id]" rel="dcterms:hasFormat" rev="dcterms:isFormatOf">
|
<div about="[ebook:$e.project_gutenberg_id]" rel="dcterms:hasFormat" ><!--! rev="dcterms:isFormatOf" -->
|
||||||
|
|
||||||
<h2>Download This eBook</h2>
|
<h2>Download This eBook</h2>
|
||||||
|
|
||||||
<table class="files" summary="Table of available file types and sizes.">
|
<table class="files">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col class="narrow" />
|
<col class="narrow" />
|
||||||
<col />
|
<col />
|
||||||
|
<col />
|
||||||
<col />
|
<col />
|
||||||
<col class="narrow noprint" />
|
<col class="narrow noprint" />
|
||||||
<col class="narrow noprint" />
|
<col class="narrow noprint" />
|
||||||
|
@ -320,8 +320,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
<td><span class="icon icon_${e.icon}" /></td>
|
<td><span class="icon icon_${e.icon}" /></td>
|
||||||
<td property="dcterms:format" content="${file_.mediatypes[-1]}" datatype="dcterms:IMT"
|
<td property="dcterms:format" content="${file_.mediatypes[-1]}" datatype="dcterms:IMT"
|
||||||
class="unpadded icon_save"
|
class="unpadded icon_save"
|
||||||
><a href="/${file_.filename}" type="${file_.mediatypes[-1]}" charset="${file_.encoding}"
|
><a href="/${file_.filename}" type="${file_.mediatypes[-1]}" class="link"
|
||||||
class="link"
|
|
||||||
title="Download">${file_.hr_filetype}</a></td>
|
title="Download">${file_.hr_filetype}</a></td>
|
||||||
<td class="noscreen">${file_.url}</td>
|
<td class="noscreen">${file_.url}</td>
|
||||||
<td class="right"
|
<td class="right"
|
||||||
|
@ -369,7 +368,7 @@ Gutenberg metadata much faster than by scraping.
|
||||||
</div> <!--! tabs -->
|
</div> <!--! tabs -->
|
||||||
</div> <!--! tabs-wrapper -->
|
</div> <!--! tabs-wrapper -->
|
||||||
</div> <!--! body -->
|
</div> <!--! body -->
|
||||||
|
</div>
|
||||||
<div id="dialog" class="hidden">
|
<div id="dialog" class="hidden">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -8,11 +8,11 @@
|
||||||
xmlns:fb="http://www.facebook.com/2008/fbml"
|
xmlns:fb="http://www.facebook.com/2008/fbml"
|
||||||
py:strip="">
|
py:strip="">
|
||||||
<head>
|
<head>
|
||||||
<style type="text/css">
|
<style>
|
||||||
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" type="text/css"
|
<link rel="stylesheet" type="text/css"
|
||||||
href="/css/pg-desktop-one.css?${cherrypy.config['css_mtime']}" />
|
href="/gutenberg/pg-desktop-one.css?${cherrypy.config['css_mtime']}" />
|
||||||
<script type="text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
//<![CDATA[
|
//<![CDATA[
|
||||||
var json_search = "/ebooks/suggest/";
|
var json_search = "/ebooks/suggest/";
|
||||||
|
|
|
@ -22,8 +22,7 @@ which contains *all* Project Gutenberg metadata in one RDF/XML file.
|
||||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
|
||||||
xmlns:og="http://opengraphprotocol.org/schema/"
|
xmlns:og="http://opengraphprotocol.org/schema/"
|
||||||
xmlns:fb="http://www.facebook.com/2008/fbml"
|
xmlns:fb="http://www.facebook.com/2008/fbml"
|
||||||
xml:lang="${os.lang}"
|
xml:lang="${os.lang}">
|
||||||
version="XHTML+RDFa 1.0">
|
|
||||||
|
|
||||||
<?python
|
<?python
|
||||||
old_header = os.title
|
old_header = os.title
|
||||||
|
@ -33,7 +32,7 @@ which contains *all* Project Gutenberg metadata in one RDF/XML file.
|
||||||
<xi:include href="site-layout.html" />
|
<xi:include href="site-layout.html" />
|
||||||
<xi:include href="social-functions.html" />
|
<xi:include href="social-functions.html" />
|
||||||
|
|
||||||
<head profile="http://a9.com/-/spec/opensearch/1.1/">
|
<head >
|
||||||
${site_head ()}
|
${site_head ()}
|
||||||
|
|
||||||
<title>${os.title} - ${os.pg}</title>
|
<title>${os.title} - ${os.pg}</title>
|
||||||
|
@ -65,15 +64,13 @@ which contains *all* Project Gutenberg metadata in one RDF/XML file.
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="mw-head-dummy" class="noprint" />
|
<!-- <div id="mw-head-dummy" class="noprint" />-->
|
||||||
|
<div class="container">
|
||||||
|
<!-- <div id="content" i18n:comment="On the page of results of a search.">-->
|
||||||
|
${site_top ()}
|
||||||
|
|
||||||
<div id="content" i18n:comment="On the page of results of a search.">
|
<div class="page_content">
|
||||||
<div class="header">
|
<h1><span class="icon icon_${os.title_icon}" />${os.title}</h1>
|
||||||
<h1><span class="icon icon_${os.title_icon}" />${os.title}</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="body">
|
|
||||||
<div>
|
|
||||||
<ul class="results">
|
<ul class="results">
|
||||||
<py:for each="n, e in enumerate (os.entries)">
|
<py:for each="n, e in enumerate (os.entries)">
|
||||||
|
|
||||||
|
@ -128,15 +125,14 @@ which contains *all* Project Gutenberg metadata in one RDF/XML file.
|
||||||
</py:if>
|
</py:if>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
|
|
||||||
</div> <!--! body -->
|
</div>
|
||||||
|
|
||||||
${site_footer ()}
|
${site_footer ()}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
${site_top ()}
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:py="http://genshi.edgewall.org/"
|
xmlns:py="http://genshi.edgewall.org/"
|
||||||
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
xmlns:i18n="http://genshi.edgewall.org/i18n"
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
from i18n_tool import ugettext as _
|
from i18n_tool import ugettext as _
|
||||||
?>
|
?>
|
||||||
<py:def function="site_head">
|
<py:def function="site_head">
|
||||||
<style type="text/css">
|
<style >
|
||||||
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
href="/css/pg-desktop-one.css?${cherrypy.config['css_mtime']}" />
|
href="/css/pg-desktop-one.css?${cherrypy.config['css_mtime']}" />
|
||||||
|
|
||||||
<!--! IE8 does not recognize application/javascript -->
|
<!--! IE8 does not recognize application/javascript -->
|
||||||
<script type="text/javascript">//<![CDATA[
|
<script>//<![CDATA[
|
||||||
var json_search = "${os.json_search}";
|
var json_search = "${os.json_search}";
|
||||||
var mobile_url = "${os.mobile_url}";
|
var mobile_url = "${os.mobile_url}";
|
||||||
var canonical_url = "${os.canonical_url}";
|
var canonical_url = "${os.canonical_url}";
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
var dialog_message = "${os.user_dialog[0]}";
|
var dialog_message = "${os.user_dialog[0]}";
|
||||||
//]]></script>
|
//]]></script>
|
||||||
|
|
||||||
<script type="text/javascript"
|
<script
|
||||||
src="/js/pg-desktop-one.js?${cherrypy.config['js_mtime']}" />
|
src="/js/pg-desktop-one.js?${cherrypy.config['js_mtime']}" />
|
||||||
|
|
||||||
<link rel="shortcut icon" href="/pics/favicon" />
|
<link rel="shortcut icon" href="/pics/favicon" />
|
||||||
|
@ -52,8 +52,8 @@
|
||||||
<meta py:if="os.viewport" name="viewport" content="${os.viewport}" />
|
<meta py:if="os.viewport" name="viewport" content="${os.viewport}" />
|
||||||
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
<meta http-equiv="default-style" content="text/css" />
|
||||||
<meta http-equiv="Content-Language" content="${os.lang}" />
|
|
||||||
|
|
||||||
<!--! plain old metadata -->
|
<!--! plain old metadata -->
|
||||||
<meta name="title" content="${os.title}" />
|
<meta name="title" content="${os.title}" />
|
||||||
|
@ -205,9 +205,29 @@
|
||||||
|
|
||||||
</py:def>
|
</py:def>
|
||||||
|
|
||||||
|
|
||||||
<py:def function="site_footer">
|
<py:def function="site_footer">
|
||||||
<div class="footer" i18n:comment="On the footer of every page.">
|
<div class="footer" i18n:comment="On the footer of every page.">
|
||||||
</div>
|
<ul>
|
||||||
|
<li>
|
||||||
|
<a href="/policy/privacy_policy.html" title="Gutenberg:Privacy policy">Privacy policy</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/about/index.html" title="Gutenberg:About">About Gutenberg</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/policy/terms_of_use.html">Terms of Use</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/about/contact_information.html">Contact Information</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a href="https://www.ibiblio.org/index.html" title="Project Gutenberg is hosted by ibiblio">
|
||||||
|
<img src="/gutenberg/ibiblio-logo.png" alt="HTML tutorial"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</py:def>
|
</py:def>
|
||||||
|
|
||||||
<py:def function="prev_next_links">
|
<py:def function="prev_next_links">
|
||||||
|
@ -243,7 +263,7 @@
|
||||||
<!--! xml:lang avoids extraction for translation -->
|
<!--! xml:lang avoids extraction for translation -->
|
||||||
<input xml:lang="en" type="hidden" name="cmd" value="_s-xclick" />
|
<input xml:lang="en" type="hidden" name="cmd" value="_s-xclick" />
|
||||||
<input xml:lang="en" type="hidden" name="hosted_button_id" value="XKAL6BZL3YPSN" />
|
<input xml:lang="en" type="hidden" name="hosted_button_id" value="XKAL6BZL3YPSN" />
|
||||||
<input type="image" name="submit"
|
<input type="image" alt="paypal icon" name="submit"
|
||||||
src="/pics/paypal/${os.paypal_lang}.gif"
|
src="/pics/paypal/${os.paypal_lang}.gif"
|
||||||
title="Send us money through PayPal." />
|
title="Send us money through PayPal." />
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<py:def function="site_head">
|
<py:def function="site_head">
|
||||||
<style type="text/css">
|
<style >
|
||||||
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
.icon { background: transparent url(/pics/sprite.png?${cherrypy.config['css_mtime']}) 0 0 no-repeat; }
|
||||||
</style>
|
</style>
|
||||||
<link rel="stylesheet" type="text/css"
|
<link rel="stylesheet" type="text/css"
|
||||||
href="/css/pg-mobile-one.css?${cherrypy.config['css_mtime']}" />
|
href="/gutenberg/pg-mobile-one.css?${cherrypy.config['css_mtime']}" />
|
||||||
|
|
||||||
<script type="application/javascript"><![CDATA[
|
<script type="application/javascript"><![CDATA[
|
||||||
var mobile_search = "${os.add_amp (os.mobile_search)}query=";
|
var mobile_search = "${os.add_amp (os.mobile_search)}query=";
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<a href="https://twitter.com/share?${p (params)}"
|
<a href="https://twitter.com/share?${p (params)}"
|
||||||
title="Share on Twitter"
|
title="Share on Twitter"
|
||||||
onclick="open_share_popup(this.href, this.target, 640, 320)"
|
onclick="open_share_popup(this.href, this.target, 640, 320)"
|
||||||
target="_tw_share_popup">
|
target="_top">
|
||||||
<span class="icon icon_twitter" />
|
<span class="icon icon_twitter" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue