mirror of https://gitlab.com/bashrc2/epicyon
Tidying
parent
8a314436a6
commit
f6624a6138
|
@ -360,6 +360,64 @@ def _update_cached_hashtag_swarm(base_dir: str, nickname: str, domain: str,
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def _store_tag_name(base_dir: str, nickname: str,
|
||||||
|
tag_name: str, tags_dir: str, post_url: str,
|
||||||
|
map_links: [], published: str,
|
||||||
|
tag_maps_dir: str) -> bool:
|
||||||
|
"""stores an individual hashtag
|
||||||
|
"""
|
||||||
|
if not valid_hash_tag(tag_name):
|
||||||
|
return False
|
||||||
|
tags_filename = tags_dir + '/' + tag_name + '.txt'
|
||||||
|
days_diff = date_utcnow() - date_epoch()
|
||||||
|
days_since_epoch = days_diff.days
|
||||||
|
tag_line = \
|
||||||
|
str(days_since_epoch) + ' ' + nickname + ' ' + post_url + '\n'
|
||||||
|
if map_links and published:
|
||||||
|
add_tag_map_links(tag_maps_dir, tag_name, map_links,
|
||||||
|
published, post_url)
|
||||||
|
hashtag_added = False
|
||||||
|
if not os.path.isfile(tags_filename):
|
||||||
|
try:
|
||||||
|
with open(tags_filename, 'w+', encoding='utf-8') as fp_tags:
|
||||||
|
fp_tags.write(tag_line)
|
||||||
|
hashtag_added = True
|
||||||
|
except OSError:
|
||||||
|
print('EX: store_hash_tags unable to write ' + tags_filename)
|
||||||
|
else:
|
||||||
|
content = ''
|
||||||
|
try:
|
||||||
|
with open(tags_filename, 'r', encoding='utf-8') as fp_tags:
|
||||||
|
content = fp_tags.read()
|
||||||
|
except OSError:
|
||||||
|
print('EX: store_hash_tags failed to read ' + tags_filename)
|
||||||
|
if post_url not in content:
|
||||||
|
content = tag_line + content
|
||||||
|
try:
|
||||||
|
with open(tags_filename, 'w+',
|
||||||
|
encoding='utf-8') as fp_tags2:
|
||||||
|
fp_tags2.write(content)
|
||||||
|
hashtag_added = True
|
||||||
|
except OSError as ex:
|
||||||
|
print('EX: Failed to write entry to tags file ' +
|
||||||
|
tags_filename + ' ' + str(ex))
|
||||||
|
|
||||||
|
if not hashtag_added:
|
||||||
|
return False
|
||||||
|
|
||||||
|
# automatically assign a category to the tag if possible
|
||||||
|
category_filename = tags_dir + '/' + tag_name + '.category'
|
||||||
|
if not os.path.isfile(category_filename):
|
||||||
|
hashtag_categories = \
|
||||||
|
get_hashtag_categories(base_dir, False, None)
|
||||||
|
category_str = \
|
||||||
|
guess_hashtag_category(tag_name, hashtag_categories, 6)
|
||||||
|
if category_str:
|
||||||
|
set_hashtag_category(base_dir, tag_name,
|
||||||
|
category_str, False, False)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def store_hash_tags(base_dir: str, nickname: str, domain: str,
|
def store_hash_tags(base_dir: str, nickname: str, domain: str,
|
||||||
http_prefix: str, domain_full: str,
|
http_prefix: str, domain_full: str,
|
||||||
post_json_object: {}, translate: {},
|
post_json_object: {}, translate: {},
|
||||||
|
@ -426,56 +484,12 @@ def store_hash_tags(base_dir: str, nickname: str, domain: str,
|
||||||
if not tag.get('name'):
|
if not tag.get('name'):
|
||||||
continue
|
continue
|
||||||
tag_name = tag['name'].replace('#', '').strip()
|
tag_name = tag['name'].replace('#', '').strip()
|
||||||
if not valid_hash_tag(tag_name):
|
if _store_tag_name(base_dir, nickname,
|
||||||
continue
|
tag_name, tags_dir, post_url,
|
||||||
tags_filename = tags_dir + '/' + tag_name + '.txt'
|
map_links, published,
|
||||||
days_diff = date_utcnow() - date_epoch()
|
tag_maps_dir):
|
||||||
days_since_epoch = days_diff.days
|
|
||||||
tag_line = \
|
|
||||||
str(days_since_epoch) + ' ' + nickname + ' ' + post_url + '\n'
|
|
||||||
if map_links and published:
|
|
||||||
add_tag_map_links(tag_maps_dir, tag_name, map_links,
|
|
||||||
published, post_url)
|
|
||||||
hashtag_added = False
|
|
||||||
if not os.path.isfile(tags_filename):
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'w+', encoding='utf-8') as fp_tags:
|
|
||||||
fp_tags.write(tag_line)
|
|
||||||
hashtag_added = True
|
|
||||||
except OSError:
|
|
||||||
print('EX: store_hash_tags unable to write ' + tags_filename)
|
|
||||||
else:
|
|
||||||
content = ''
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'r', encoding='utf-8') as fp_tags:
|
|
||||||
content = fp_tags.read()
|
|
||||||
except OSError:
|
|
||||||
print('EX: store_hash_tags failed to read ' + tags_filename)
|
|
||||||
if post_url not in content:
|
|
||||||
content = tag_line + content
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'w+',
|
|
||||||
encoding='utf-8') as fp_tags2:
|
|
||||||
fp_tags2.write(content)
|
|
||||||
hashtag_added = True
|
|
||||||
except OSError as ex:
|
|
||||||
print('EX: Failed to write entry to tags file ' +
|
|
||||||
tags_filename + ' ' + str(ex))
|
|
||||||
|
|
||||||
if hashtag_added:
|
|
||||||
hashtags_ctr += 1
|
hashtags_ctr += 1
|
||||||
|
|
||||||
# automatically assign a category to the tag if possible
|
|
||||||
category_filename = tags_dir + '/' + tag_name + '.category'
|
|
||||||
if not os.path.isfile(category_filename):
|
|
||||||
hashtag_categories = \
|
|
||||||
get_hashtag_categories(base_dir, False, None)
|
|
||||||
category_str = \
|
|
||||||
guess_hashtag_category(tag_name, hashtag_categories, 6)
|
|
||||||
if category_str:
|
|
||||||
set_hashtag_category(base_dir, tag_name,
|
|
||||||
category_str, False, False)
|
|
||||||
|
|
||||||
# treat event categories as hashtags
|
# treat event categories as hashtags
|
||||||
event_category_str = get_category_from_post(post_json_object, translate)
|
event_category_str = get_category_from_post(post_json_object, translate)
|
||||||
if event_category_str:
|
if event_category_str:
|
||||||
|
@ -490,62 +504,12 @@ def store_hash_tags(base_dir: str, nickname: str, domain: str,
|
||||||
tag_names_list = [tag_name_text]
|
tag_names_list = [tag_name_text]
|
||||||
for tag_name in tag_names_list:
|
for tag_name in tag_names_list:
|
||||||
tag_name = tag_name.strip().title().replace(' ', '')
|
tag_name = tag_name.strip().title().replace(' ', '')
|
||||||
if not valid_hash_tag(tag_name):
|
if _store_tag_name(base_dir, nickname,
|
||||||
continue
|
tag_name, tags_dir, post_url,
|
||||||
tags_filename = tags_dir + '/' + tag_name + '.txt'
|
map_links, published,
|
||||||
days_diff = date_utcnow() - date_epoch()
|
tag_maps_dir):
|
||||||
days_since_epoch = days_diff.days
|
|
||||||
tag_line = \
|
|
||||||
str(days_since_epoch) + ' ' + nickname + ' ' + \
|
|
||||||
post_url + '\n'
|
|
||||||
if map_links and published:
|
|
||||||
add_tag_map_links(tag_maps_dir, tag_name, map_links,
|
|
||||||
published, post_url)
|
|
||||||
hashtag_added = False
|
|
||||||
if not os.path.isfile(tags_filename):
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'w+',
|
|
||||||
encoding='utf-8') as fp_tags:
|
|
||||||
fp_tags.write(tag_line)
|
|
||||||
hashtag_added = True
|
|
||||||
except OSError:
|
|
||||||
print('EX: store_hash_tags 2 unable to write ' +
|
|
||||||
tags_filename)
|
|
||||||
else:
|
|
||||||
content = ''
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'r',
|
|
||||||
encoding='utf-8') as fp_tags:
|
|
||||||
content = fp_tags.read()
|
|
||||||
except OSError:
|
|
||||||
print('EX: store_hash_tags 2 failed to read ' +
|
|
||||||
tags_filename)
|
|
||||||
if post_url not in content:
|
|
||||||
content = tag_line + content
|
|
||||||
try:
|
|
||||||
with open(tags_filename, 'w+',
|
|
||||||
encoding='utf-8') as fp_tags2:
|
|
||||||
fp_tags2.write(content)
|
|
||||||
hashtag_added = True
|
|
||||||
except OSError as ex:
|
|
||||||
print('EX: Failed to write entry to tags file 2 ' +
|
|
||||||
tags_filename + ' ' + str(ex))
|
|
||||||
|
|
||||||
if hashtag_added:
|
|
||||||
hashtags_ctr += 1
|
hashtags_ctr += 1
|
||||||
|
|
||||||
# automatically assign a category to the tag if possible
|
|
||||||
category_filename = tags_dir + '/' + tag_name + '.category'
|
|
||||||
if not os.path.isfile(category_filename):
|
|
||||||
hashtag_categories = \
|
|
||||||
get_hashtag_categories(base_dir, False, None)
|
|
||||||
category_str = \
|
|
||||||
guess_hashtag_category(tag_name,
|
|
||||||
hashtag_categories, 6)
|
|
||||||
if category_str:
|
|
||||||
set_hashtag_category(base_dir, tag_name,
|
|
||||||
category_str, False, False)
|
|
||||||
|
|
||||||
# if some hashtags were found then recalculate the swarm
|
# if some hashtags were found then recalculate the swarm
|
||||||
# ready for later display
|
# ready for later display
|
||||||
if hashtags_ctr > 0:
|
if hashtags_ctr > 0:
|
||||||
|
|
Loading…
Reference in New Issue