diff --git a/categories.py b/categories.py index 06f0d4056..f60520b7e 100644 --- a/categories.py +++ b/categories.py @@ -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 diff --git a/daemon.py b/daemon.py index 5300cb4f7..23328315f 100644 --- a/daemon.py +++ b/daemon.py @@ -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) diff --git a/inbox.py b/inbox.py index 4b1ffeb77..3decbf5ba 100644 --- a/inbox.py +++ b/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, diff --git a/newswire.py b/newswire.py index 9bcaf0ed5..5f8a1ba0b 100644 --- a/newswire.py +++ b/newswire.py @@ -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,