mirror of https://gitlab.com/bashrc2/epicyon
Avoid circular reference when generating hashtag categories
parent
6cf76ccc5f
commit
970f13c7a3
|
@ -86,7 +86,7 @@ def getHashtagCategories(baseDir: str,
|
|||
return hashtagCategories
|
||||
|
||||
|
||||
def _updateHashtagCategories(baseDir: str) -> None:
|
||||
def updateHashtagCategories(baseDir: str) -> None:
|
||||
"""Regenerates the list of hashtag categories
|
||||
"""
|
||||
categoryListFilename = baseDir + '/accounts/categoryList.txt'
|
||||
|
@ -129,7 +129,7 @@ def _validHashtagCategory(category: str) -> bool:
|
|||
|
||||
|
||||
def setHashtagCategory(baseDir: str, hashtag: str, category: str,
|
||||
force: bool = False) -> bool:
|
||||
update: bool, force: bool = False) -> bool:
|
||||
"""Sets the category for the hashtag
|
||||
"""
|
||||
if not _validHashtagCategory(category):
|
||||
|
@ -155,7 +155,8 @@ def setHashtagCategory(baseDir: str, hashtag: str, category: str,
|
|||
return False
|
||||
with open(categoryFilename, 'w+') as fp:
|
||||
fp.write(category)
|
||||
_updateHashtagCategories(baseDir)
|
||||
if update:
|
||||
updateHashtagCategories(baseDir)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
|
|
@ -223,6 +223,7 @@ from shares import sharesCatalogEndpoint
|
|||
from shares import sharesCatalogAccountEndpoint
|
||||
from shares import sharesCatalogCSVEndpoint
|
||||
from categories import setHashtagCategory
|
||||
from categories import updateHashtagCategories
|
||||
from languages import getActorLanguages
|
||||
from languages import setActorLanguages
|
||||
from utils import localActorUrl
|
||||
|
@ -3808,7 +3809,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
categoryStr = fields['hashtagCategory'].lower()
|
||||
if not isBlockedHashtag(baseDir, categoryStr) and \
|
||||
not isFiltered(baseDir, nickname, domain, categoryStr):
|
||||
setHashtagCategory(baseDir, hashtag, categoryStr)
|
||||
setHashtagCategory(baseDir, hashtag, categoryStr, False)
|
||||
else:
|
||||
categoryFilename = baseDir + '/tags/' + hashtag + '.category'
|
||||
if os.path.isfile(categoryFilename):
|
||||
|
@ -4421,7 +4422,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
skillName, int(skillValue))
|
||||
skillsStr = self.server.translate['Skills']
|
||||
setHashtagCategory(baseDir, skillName,
|
||||
skillsStr.lower())
|
||||
skillsStr.lower(), False)
|
||||
skillCtr += 1
|
||||
if noOfActorSkills(actorJson) != \
|
||||
actorSkillsCtr:
|
||||
|
@ -16104,6 +16105,8 @@ def runDaemon(lowBandwidth: bool,
|
|||
httpd.restartInboxQueueInProgress = False
|
||||
httpd.restartInboxQueue = False
|
||||
|
||||
updateHashtagCategories(baseDir)
|
||||
|
||||
print('Adding hashtag categories for language ' + httpd.systemLanguage)
|
||||
loadHashtagCategories(baseDir, httpd.systemLanguage)
|
||||
|
||||
|
|
2
inbox.py
2
inbox.py
|
@ -156,7 +156,7 @@ def storeHashTags(baseDir: str, nickname: str, postJsonObject: {}) -> None:
|
|||
categoryStr = \
|
||||
guessHashtagCategory(tagName, hashtagCategories)
|
||||
if categoryStr:
|
||||
setHashtagCategory(baseDir, tagName, categoryStr)
|
||||
setHashtagCategory(baseDir, tagName, categoryStr, False)
|
||||
|
||||
|
||||
def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int,
|
||||
|
|
|
@ -293,7 +293,8 @@ def _xml2StrToHashtagCategories(baseDir: str, xmlStr: str,
|
|||
hashtagList = hashtagListStr.split(' ')
|
||||
if not isBlockedHashtag(baseDir, categoryStr):
|
||||
for hashtag in hashtagList:
|
||||
setHashtagCategory(baseDir, hashtag, categoryStr, force)
|
||||
setHashtagCategory(baseDir, hashtag, categoryStr,
|
||||
False, force)
|
||||
|
||||
|
||||
def _xml2StrToDict(baseDir: str, domain: str, xmlStr: str,
|
||||
|
|
Loading…
Reference in New Issue