diff --git a/reading.py b/reading.py
index 75f1c21e3..18f527a80 100644
--- a/reading.py
+++ b/reading.py
@@ -231,6 +231,21 @@ def get_reading_status(post_json_object: {},
book_dict['image_url'] = book_image_url
return book_dict
+ translated_str = 'am reading'
+ if translate.get('am reading'):
+ translated_str = translate['am reading']
+ if translated_str in content or \
+ 'am reading' in content or \
+ 'currently reading' in content or \
+ 'is reading' in content:
+ book_dict['id'] = remove_id_ending(post_obj['id'])
+ book_dict['actor'] = actor
+ book_dict['type'] = 'reading'
+ book_dict['published'] = published
+ if book_image_url:
+ book_dict['image_url'] = book_image_url
+ return book_dict
+
return {}
@@ -242,22 +257,20 @@ def _add_book_to_reader(reader_books_json: {}, book_dict: {}) -> bool:
book_url = book_dict['href']
book_event_type = book_dict['type']
if not reader_books_json.get(book_url):
- reader_books_json[book_url] = {
- book_event_type: book_dict
- }
- return True
- # has this book event already been stored?
- if reader_books_json[book_url].get(book_event_type):
- prev_book_dict = reader_books_json[book_url][book_event_type]
- if book_dict.get('updated'):
- if prev_book_dict.get('updated'):
- if prev_book_dict['updated'] == book_dict['updated']:
- return False
- else:
- if prev_book_dict['published'] == book_dict['updated']:
- return False
- if prev_book_dict['published'] == book_dict['published']:
- return False
+ reader_books_json[book_url] = {}
+ else:
+ # has this book event already been stored?
+ if reader_books_json[book_url].get(book_event_type):
+ prev_book_dict = reader_books_json[book_url][book_event_type]
+ if book_dict.get('updated'):
+ if prev_book_dict.get('updated'):
+ if prev_book_dict['updated'] == book_dict['updated']:
+ return False
+ else:
+ if prev_book_dict['published'] == book_dict['updated']:
+ return False
+ if prev_book_dict['published'] == book_dict['published']:
+ return False
# store the book event
reader_books_json[book_url][book_event_type] = book_dict
if 'timeline' not in reader_books_json:
@@ -270,7 +283,7 @@ def _add_book_to_reader(reader_books_json: {}, book_dict: {}) -> bool:
if post_time_object:
baseline_time = date_epoch()
days_diff = post_time_object - baseline_time
- post_days_since_epoch = days_diff.days
+ post_days_since_epoch = days_diff.total_seconds()
reader_books_json['timeline'][post_days_since_epoch] = book_url
return True
return False
@@ -482,6 +495,7 @@ def html_profile_book_list(base_dir: str, actor: str, no_of_books: int,
continue
book_rating = None
book_wanted = False
+ book_reading = False
book_finished = False
for event_type in ('want', 'finished', 'rated'):
if not reader_books_json[book_url].get(event_type):
@@ -495,6 +509,8 @@ def html_profile_book_list(base_dir: str, actor: str, no_of_books: int,
book_rating = book_dict['rating']
elif event_type == 'want':
book_wanted = True
+ elif event_type == 'reading':
+ book_reading = True
elif event_type == 'finished':
book_finished = True
if book_title:
@@ -525,6 +541,9 @@ def html_profile_book_list(base_dir: str, actor: str, no_of_books: int,
if book_wanted:
html_str += '
' + \
translate['Wanted'] + '\n'
+ if book_reading:
+ html_str += '
' + \
+ translate['reading'].title() + '\n'
if book_rating is not None:
html_str += '
'
for _ in range(int(book_rating)):