Setting categories from defaults

merge-requests/30/head
Bob Mottram 2020-12-05 14:43:29 +00:00
parent c20f29b3af
commit 09e980da24
2 changed files with 16 additions and 9 deletions

View File

@ -215,11 +215,12 @@ def loadHashtagCategories(baseDir: str, language: str) -> None:
with open(hashtagCategoriesFilename, 'r') as fp: with open(hashtagCategoriesFilename, 'r') as fp:
xmlStr = fp.read() xmlStr = fp.read()
xml2StrToHashtagCategories(baseDir, xmlStr, 1024) xml2StrToHashtagCategories(baseDir, xmlStr, 1024, True)
def xml2StrToHashtagCategories(baseDir: str, xmlStr: str, def xml2StrToHashtagCategories(baseDir: str, xmlStr: str,
maxCategoriesFeedItemSizeKb: int) -> None: maxCategoriesFeedItemSizeKb: int,
force=False) -> None:
"""Updates hashtag categories based upon an rss feed """Updates hashtag categories based upon an rss feed
""" """
rssItems = xmlStr.split('<item>') rssItems = xmlStr.split('<item>')
@ -253,7 +254,7 @@ def xml2StrToHashtagCategories(baseDir: str, xmlStr: str,
hashtagList = hashtagListStr.split(' ') hashtagList = hashtagListStr.split(' ')
if not isBlockedHashtag(baseDir, categoryStr): if not isBlockedHashtag(baseDir, categoryStr):
for hashtag in hashtagList: for hashtag in hashtagList:
setHashtagCategory(baseDir, hashtag, categoryStr) setHashtagCategory(baseDir, hashtag, categoryStr, force)
def xml2StrToDict(baseDir: str, domain: str, xmlStr: str, def xml2StrToDict(baseDir: str, domain: str, xmlStr: str,

View File

@ -112,23 +112,29 @@ def validHashtagCategory(category: str) -> bool:
return True return True
def setHashtagCategory(baseDir: str, hashtag: str, category: str) -> bool: def setHashtagCategory(baseDir: str, hashtag: str, category: str,
force=False) -> bool:
"""Sets the category for the hashtag """Sets the category for the hashtag
""" """
if not validHashtagCategory(category): if not validHashtagCategory(category):
return False return False
hashtagFilename = baseDir + '/tags/' + hashtag + '.txt' if not force:
if not os.path.isfile(hashtagFilename):
hashtag = hashtag.title()
hashtagFilename = baseDir + '/tags/' + hashtag + '.txt' hashtagFilename = baseDir + '/tags/' + hashtag + '.txt'
if not os.path.isfile(hashtagFilename): if not os.path.isfile(hashtagFilename):
hashtag = hashtag.upper() hashtag = hashtag.title()
hashtagFilename = baseDir + '/tags/' + hashtag + '.txt' hashtagFilename = baseDir + '/tags/' + hashtag + '.txt'
if not os.path.isfile(hashtagFilename): if not os.path.isfile(hashtagFilename):
return False hashtag = hashtag.upper()
hashtagFilename = baseDir + '/tags/' + hashtag + '.txt'
if not os.path.isfile(hashtagFilename):
return False
categoryFilename = baseDir + '/tags/' + hashtag + '.category' categoryFilename = baseDir + '/tags/' + hashtag + '.category'
if force:
# don't overwrite any existing categories
if os.path.isfile(categoryFilename):
return False
with open(categoryFilename, 'w+') as fp: with open(categoryFilename, 'w+') as fp:
fp.write(category) fp.write(category)
updateHashtagCategories(baseDir) updateHashtagCategories(baseDir)