mirror of https://gitlab.com/bashrc2/epicyon
Use file extension to access different catalog formats
parent
504101d17e
commit
336c7e8bbb
35
daemon.py
35
daemon.py
|
@ -10679,20 +10679,13 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
catalogAuthorized = True
|
||||
# show shared items DFC catalog
|
||||
if self._hasAccept(callingDomain) and catalogAuthorized:
|
||||
if not self._requestHTTP():
|
||||
if self._requestCSV():
|
||||
# catalog as a CSV file for import into a spreadsheet
|
||||
catalogStr = \
|
||||
sharesCatalogCSVEndpoint(self.server.baseDir,
|
||||
self.server.httpPrefix,
|
||||
self.server.domainFull,
|
||||
self.server.path)
|
||||
msg = json.dumps(catalogStr,
|
||||
ensure_ascii=False).encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('text/csv',
|
||||
msglen, None, callingDomain)
|
||||
else:
|
||||
catalogType = 'html'
|
||||
if self.path.endswith('.csv') or self._requestCSV():
|
||||
catalogType = 'csv'
|
||||
elif self.path.endswith('.json') or not self._requestHTTP():
|
||||
catalogType = 'json'
|
||||
|
||||
if catalogType == 'json':
|
||||
# catalog as a json
|
||||
catalogJson = \
|
||||
sharesCatalogEndpoint(self.server.baseDir,
|
||||
|
@ -10706,6 +10699,20 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
msglen, None, callingDomain)
|
||||
self._write(msg)
|
||||
return
|
||||
elif catalogType == 'csv':
|
||||
# catalog as a CSV file for import into a spreadsheet
|
||||
catalogStr = \
|
||||
sharesCatalogCSVEndpoint(self.server.baseDir,
|
||||
self.server.httpPrefix,
|
||||
self.server.domainFull,
|
||||
self.server.path)
|
||||
msg = json.dumps(catalogStr,
|
||||
ensure_ascii=False).encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('text/csv',
|
||||
msglen, None, callingDomain)
|
||||
self._write(msg)
|
||||
return
|
||||
self.path = '/'
|
||||
|
||||
# minimal mastodon api
|
||||
|
|
Loading…
Reference in New Issue