mirror of https://gitlab.com/bashrc2/epicyon
Federated shared items catalogs are searchable
parent
84f3b4f204
commit
4369eac475
|
@ -3137,6 +3137,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
# shared items search
|
# shared items search
|
||||||
|
sharedItemsFederatedDomains = \
|
||||||
|
self.server.sharedItemsFederatedDomains
|
||||||
sharedItemsStr = \
|
sharedItemsStr = \
|
||||||
htmlSearchSharedItems(self.server.cssCache,
|
htmlSearchSharedItems(self.server.cssCache,
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
|
@ -3145,7 +3147,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
maxPostsInFeed,
|
maxPostsInFeed,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
domainFull,
|
domainFull,
|
||||||
actorStr, callingDomain)
|
actorStr, callingDomain,
|
||||||
|
sharedItemsFederatedDomains)
|
||||||
if sharedItemsStr:
|
if sharedItemsStr:
|
||||||
msg = sharedItemsStr.encode('utf-8')
|
msg = sharedItemsStr.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
|
|
|
@ -257,7 +257,8 @@ def htmlSearchSharedItems(cssCache: {}, translate: {},
|
||||||
resultsPerPage: int,
|
resultsPerPage: int,
|
||||||
httpPrefix: str,
|
httpPrefix: str,
|
||||||
domainFull: str, actor: str,
|
domainFull: str, actor: str,
|
||||||
callingDomain: str) -> str:
|
callingDomain: str,
|
||||||
|
sharedItemsFederatedDomains: []) -> str:
|
||||||
"""Search results for shared items
|
"""Search results for shared items
|
||||||
"""
|
"""
|
||||||
currPage = 1
|
currPage = 1
|
||||||
|
@ -309,6 +310,38 @@ def htmlSearchSharedItems(cssCache: {}, translate: {},
|
||||||
if currPage > pageNumber:
|
if currPage > pageNumber:
|
||||||
break
|
break
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# search federated shared items
|
||||||
|
catalogsDir = baseDir + '/cache/catalogs'
|
||||||
|
if currPage <= pageNumber and os.path.isdir(catalogsDir):
|
||||||
|
for subdir, dirs, files in os.walk(catalogsDir):
|
||||||
|
for f in files:
|
||||||
|
if not f.endswith('.json'):
|
||||||
|
continue
|
||||||
|
federatedDomain = f.split('.')[0]
|
||||||
|
if federatedDomain not in sharedItemsFederatedDomains:
|
||||||
|
continue
|
||||||
|
sharesFilename = catalogsDir + '/' + f
|
||||||
|
sharesJson = loadJson(sharesFilename)
|
||||||
|
if not sharesJson:
|
||||||
|
continue
|
||||||
|
|
||||||
|
(resultsExist, currPage, ctr,
|
||||||
|
resultStr) = _htmlSharesResult(sharesJson, pageNumber,
|
||||||
|
resultsPerPage,
|
||||||
|
searchStrLowerList,
|
||||||
|
currPage, ctr,
|
||||||
|
callingDomain, httpPrefix,
|
||||||
|
domainFull,
|
||||||
|
contactNickname,
|
||||||
|
actor, resultsExist,
|
||||||
|
searchStrLower, translate)
|
||||||
|
sharedItemsForm += resultStr
|
||||||
|
|
||||||
|
if currPage > pageNumber:
|
||||||
|
break
|
||||||
|
break
|
||||||
|
|
||||||
if not resultsExist:
|
if not resultsExist:
|
||||||
sharedItemsForm += \
|
sharedItemsForm += \
|
||||||
'<center><h5>' + translate['No results'] + '</h5></center>\n'
|
'<center><h5>' + translate['No results'] + '</h5></center>\n'
|
||||||
|
|
Loading…
Reference in New Issue