diff --git a/daemon.py b/daemon.py
index e80ac2b0b..44d3bb0a3 100644
--- a/daemon.py
+++ b/daemon.py
@@ -108,6 +108,7 @@ from posts import undo_pinned_post
from posts import is_moderator
from posts import create_question_post
from posts import create_public_post
+from posts import create_reading_post
from posts import create_blog_post
from posts import create_report_post
from posts import create_unlisted_post
@@ -22830,13 +22831,127 @@ class PubServer(BaseHTTPRequestHandler):
if not fields.get('readingupdatetype'):
print(post_type + ' no readingupdatetype')
return -1
+ if fields['readingupdatetype'] not in ('readingupdatewant',
+ 'readingupdateread',
+ 'readingupdatefinished',
+ 'readingupdaterating'):
+ print(post_type + ' not recognised ' +
+ fields['readingupdatetype'])
+ return -1
if not fields.get('booktitle'):
print(post_type + ' no booktitle')
return -1
if not fields.get('bookurl'):
print(post_type + ' no bookurl')
return -1
+ book_rating = 0.0
+ if fields.get('bookrating'):
+ if isinstance(fields['bookrating'], float) or \
+ isinstance(fields['bookrating'], int):
+ book_rating = fields['bookrating']
# TODO reading status
+ msg_str = fields['readingupdatetype']
+ message_json = \
+ create_reading_post(self.server.base_dir,
+ nickname,
+ self.server.domain,
+ self.server.port,
+ self.server.http_prefix,
+ mentions_str, msg_str,
+ fields['booktitle'],
+ fields['bookurl'],
+ book_rating,
+ False, False, comments_enabled,
+ filename, attachment_media_type,
+ fields['imageDescription'],
+ video_transcript,
+ city, None, None,
+ fields['subject'],
+ fields['schedulePost'],
+ fields['eventDate'],
+ fields['eventTime'],
+ fields['eventEndTime'],
+ fields['location'], False,
+ fields['languagesDropdown'],
+ conversation_id,
+ self.server.low_bandwidth,
+ self.server.content_license_url,
+ media_license_url, media_creator,
+ languages_understood,
+ self.server.translate, buy_url,
+ chat_url)
+ if message_json:
+ if edited_postid:
+ recent_posts_cache = self.server.recent_posts_cache
+ allow_local_network_access = \
+ self.server.allow_local_network_access
+ signing_priv_key_pem = \
+ self.server.signing_priv_key_pem
+ twitter_replacement_domain = \
+ self.server.twitter_replacement_domain
+ show_published_date_only = \
+ self.server.show_published_date_only
+ min_images_for_accounts = \
+ self.server.min_images_for_accounts
+ peertube_instances = \
+ self.server.peertube_instances
+ self._update_edited_post(self.server.base_dir,
+ nickname, self.server.domain,
+ message_json,
+ edited_published,
+ edited_postid,
+ recent_posts_cache,
+ 'outbox',
+ self.server.max_mentions,
+ self.server.max_emoji,
+ allow_local_network_access,
+ self.server.debug,
+ self.server.system_language,
+ self.server.http_prefix,
+ self.server.domain_full,
+ self.server.person_cache,
+ signing_priv_key_pem,
+ self.server.max_recent_posts,
+ self.server.translate,
+ curr_session,
+ self.server.cached_webfingers,
+ self.server.port,
+ self.server.allow_deletion,
+ self.server.yt_replace_domain,
+ twitter_replacement_domain,
+ show_published_date_only,
+ peertube_instances,
+ self.server.theme_name,
+ self.server.max_like_count,
+ self.server.cw_lists,
+ self.server.dogwhistles,
+ min_images_for_accounts,
+ self.server.max_hashtags,
+ self.server.buy_sites)
+ print('DEBUG: sending edited reading status post ' +
+ str(message_json))
+ if fields['schedulePost']:
+ return 1
+ if pin_to_profile:
+ sys_language = self.server.system_language
+ content_str = \
+ get_base_content_from_post(message_json,
+ sys_language)
+ pin_post(self.server.base_dir,
+ nickname, self.server.domain, content_str)
+ return 1
+ if self._post_to_outbox(message_json,
+ self.server.project_version,
+ nickname,
+ curr_session, proxy_type):
+ populate_replies(self.server.base_dir,
+ self.server.http_prefix,
+ self.server.domain_full,
+ message_json,
+ self.server.max_replies,
+ self.server.debug)
+ return 1
+ return -1
elif post_type in ('newshare', 'newwanted'):
if not fields.get('itemQty'):
print(post_type + ' no itemQty')
diff --git a/posts.py b/posts.py
index 65be7d4b9..4ee148657 100644
--- a/posts.py
+++ b/posts.py
@@ -2152,6 +2152,74 @@ def create_public_post(base_dir: str,
chat_url)
+def create_reading_post(base_dir: str,
+ nickname: str, domain: str, port: int,
+ http_prefix: str,
+ mentions_str: str, reading_update_type: str,
+ book_title: str, book_url: str, book_rating: float,
+ save_to_file: bool,
+ client_to_server: bool, comments_enabled: bool,
+ attach_image_filename: str, media_type: str,
+ image_description: str, video_transcript: str,
+ city: str, in_reply_to: str,
+ in_reply_to_atom_uri: str, subject: str,
+ schedule_post: bool,
+ event_date: str, event_time: str, event_end_time: str,
+ location: str, is_article: bool, system_language: str,
+ conversation_id: str, low_bandwidth: bool,
+ content_license_url: str,
+ media_license_url: str, media_creator: str,
+ languages_understood: [], translate: {},
+ buy_url: str, chat_url: str) -> {}:
+ """ TODO reading status post
+ """
+ content = ''
+ if mentions_str:
+ if not mentions_str.endswith(' '):
+ mentions_str += ' '
+ if reading_update_type == 'readingupdatewant':
+ content = mentions_str + translate['wants to read'] + \
+ ' ' + book_title + ''
+ elif reading_update_type == 'readingupdateread':
+ content = mentions_str + translate['reading'] + \
+ ' ' + book_title + ''
+ elif reading_update_type == 'readingupdatefinished':
+ content = mentions_str + translate['finished reading'] + \
+ ' ' + book_title + ''
+ elif reading_update_type == 'readingupdaterating' and book_rating > 0:
+ content = translate['rated'] + ' ' + book_title + ''
+ if not content:
+ return None
+ post_json_object = \
+ create_public_post(base_dir,
+ nickname, domain, port, http_prefix,
+ content, save_to_file,
+ client_to_server, comments_enabled,
+ attach_image_filename, media_type,
+ image_description, video_transcript,
+ city, in_reply_to,
+ in_reply_to_atom_uri, subject,
+ schedule_post,
+ event_date, event_time, event_end_time,
+ location, is_article, system_language,
+ conversation_id, low_bandwidth,
+ content_license_url,
+ media_license_url, media_creator,
+ languages_understood, translate,
+ buy_url, chat_url)
+ if post_json_object:
+ post_json_object['tag'] = [{
+ 'href': book_url,
+ 'name': book_title,
+ 'type': 'Edition'
+ }]
+ return post_json_object
+
+
def _append_citations_to_blog_post(base_dir: str,
nickname: str, domain: str,
blog_json: {}) -> None:
diff --git a/reading.py b/reading.py
index 5128b55b7..701afdc42 100644
--- a/reading.py
+++ b/reading.py
@@ -473,20 +473,22 @@ def html_profile_book_list(base_dir: str, actor: str, no_of_books: int,
book_wanted = True
elif event_type == 'finished':
book_finished = True
- if book_title and book_image_url:
+ if book_title:
book_title = remove_html(book_title)
html_str += '
\n'
html_str += ' \n'
html_str += ' \n'
# book image
- html_str += '
\n'
- html_str += ' \n'
- html_str += '

\n'
- html_str += '
\n'
- html_str += ' \n'
+ if book_image_url:
+ html_str += '
\n'
+ html_str += ' \n'
+ html_str += '

\n'
+ html_str += '
\n'
+ html_str += ' \n'
# book details
html_str += '
\n'
diff --git a/translations/ar.json b/translations/ar.json
index ab7390a76..1113d1619 100644
--- a/translations/ar.json
+++ b/translations/ar.json
@@ -652,5 +652,6 @@
"am reading": "أنا أقرأ",
"Update type": "نوع التحديث",
"add a rating": "إضافة تقييم",
- "Rating": "تقييم"
+ "Rating": "تقييم",
+ "reading": "قراءة"
}
diff --git a/translations/bn.json b/translations/bn.json
index 04eb484d8..432b10b9e 100644
--- a/translations/bn.json
+++ b/translations/bn.json
@@ -652,5 +652,6 @@
"am reading": "পড়ছি",
"Update type": "আপডেটের ধরন",
"add a rating": "একটি রেটিং যোগ করুন",
- "Rating": "রেটিং"
+ "Rating": "রেটিং",
+ "reading": "পড়া"
}
diff --git a/translations/ca.json b/translations/ca.json
index cba179013..d08d50dae 100644
--- a/translations/ca.json
+++ b/translations/ca.json
@@ -652,5 +652,6 @@
"am reading": "estic llegint",
"Update type": "Tipus d'actualització",
"add a rating": "afegir una qualificació",
- "Rating": "Valoració"
+ "Rating": "Valoració",
+ "reading": "lectura"
}
diff --git a/translations/cy.json b/translations/cy.json
index 5d2d5dc96..99103d11c 100644
--- a/translations/cy.json
+++ b/translations/cy.json
@@ -652,5 +652,6 @@
"am reading": "rwy'n darllen",
"Update type": "Math o ddiweddariad",
"add a rating": "ychwanegu sgôr",
- "Rating": "Graddio"
+ "Rating": "Graddio",
+ "reading": "darllen"
}
diff --git a/translations/de.json b/translations/de.json
index f8e2d8223..c563d43e2 100644
--- a/translations/de.json
+++ b/translations/de.json
@@ -652,5 +652,6 @@
"am reading": "Ich lese",
"Update type": "Update-Typ",
"add a rating": "Fügen Sie eine Bewertung hinzu",
- "Rating": "Bewertung"
+ "Rating": "Bewertung",
+ "reading": "lektüre"
}
diff --git a/translations/el.json b/translations/el.json
index 4c851918f..a74b61d9c 100644
--- a/translations/el.json
+++ b/translations/el.json
@@ -652,5 +652,6 @@
"am reading": "διαβάζω",
"Update type": "Τύπος ενημέρωσης",
"add a rating": "προσθέστε μια βαθμολογία",
- "Rating": "Εκτίμηση"
+ "Rating": "Εκτίμηση",
+ "reading": "ΑΝΑΓΝΩΣΗ"
}
diff --git a/translations/en.json b/translations/en.json
index 84b39292c..31f9e6589 100644
--- a/translations/en.json
+++ b/translations/en.json
@@ -652,5 +652,6 @@
"am reading": "am reading",
"Update type": "Update type",
"add a rating": "add a rating",
- "Rating": "Rating"
+ "Rating": "Rating",
+ "reading": "reading"
}
diff --git a/translations/es.json b/translations/es.json
index 1136a37ee..25bbddaf6 100644
--- a/translations/es.json
+++ b/translations/es.json
@@ -652,5 +652,6 @@
"am reading": "Estoy leyendo",
"Update type": "Tipo de actualización",
"add a rating": "agregar una calificación",
- "Rating": "Clasificación"
+ "Rating": "Clasificación",
+ "reading": "lectura"
}
diff --git a/translations/fa.json b/translations/fa.json
index b8034371d..12f610a95 100644
--- a/translations/fa.json
+++ b/translations/fa.json
@@ -652,5 +652,6 @@
"am reading": "دارم میخونم",
"Update type": "نوع به روز رسانی",
"add a rating": "امتیاز اضافه کنید",
- "Rating": "رتبه بندی"
+ "Rating": "رتبه بندی",
+ "reading": "خواندن"
}
diff --git a/translations/fr.json b/translations/fr.json
index 9081a7d5c..695cb98f9 100644
--- a/translations/fr.json
+++ b/translations/fr.json
@@ -652,5 +652,6 @@
"am reading": "Je suis en train de lire",
"Update type": "Type de mise à jour",
"add a rating": "ajouter une note",
- "Rating": "Notation"
+ "Rating": "Notation",
+ "reading": "en lisant"
}
diff --git a/translations/ga.json b/translations/ga.json
index 50fdee1b2..1b654a1f3 100644
--- a/translations/ga.json
+++ b/translations/ga.json
@@ -652,5 +652,6 @@
"am reading": "táim ag léamh",
"Update type": "Cineál nuashonraithe",
"add a rating": "cuir rátáil",
- "Rating": "Rátáil"
+ "Rating": "Rátáil",
+ "reading": "ag léamh"
}
diff --git a/translations/he.json b/translations/he.json
index 666ba8f59..86986a52a 100644
--- a/translations/he.json
+++ b/translations/he.json
@@ -652,5 +652,6 @@
"am reading": "אני קורא",
"Update type": "סוג עדכון",
"add a rating": "להוסיף דירוג",
- "Rating": "דֵרוּג"
+ "Rating": "דֵרוּג",
+ "reading": "קריאה"
}
diff --git a/translations/hi.json b/translations/hi.json
index b459eb6c5..c5e620e20 100644
--- a/translations/hi.json
+++ b/translations/hi.json
@@ -652,5 +652,6 @@
"am reading": "पढ़ रहा हूं",
"Update type": "अद्यतन प्रकार",
"add a rating": "एक रेटिंग जोड़ें",
- "Rating": "रेटिंग"
+ "Rating": "रेटिंग",
+ "reading": "पढ़ना"
}
diff --git a/translations/it.json b/translations/it.json
index c41ced092..cd1ac131c 100644
--- a/translations/it.json
+++ b/translations/it.json
@@ -652,5 +652,6 @@
"am reading": "sto leggendo",
"Update type": "Tipo di aggiornamento",
"add a rating": "aggiungi una valutazione",
- "Rating": "Valutazione"
+ "Rating": "Valutazione",
+ "reading": "lettura"
}
diff --git a/translations/ja.json b/translations/ja.json
index eea5a3246..0bd165771 100644
--- a/translations/ja.json
+++ b/translations/ja.json
@@ -652,5 +652,6 @@
"am reading": "読んでいます",
"Update type": "更新タイプ",
"add a rating": "評価を追加する",
- "Rating": "評価"
+ "Rating": "評価",
+ "reading": "読む"
}
diff --git a/translations/ko.json b/translations/ko.json
index d202fd157..eaf9968f5 100644
--- a/translations/ko.json
+++ b/translations/ko.json
@@ -652,5 +652,6 @@
"am reading": "읽고 있어요",
"Update type": "업데이트 유형",
"add a rating": "평점 추가",
- "Rating": "평가"
+ "Rating": "평가",
+ "reading": "독서"
}
diff --git a/translations/ku.json b/translations/ku.json
index 69d3aa9d6..691df56a0 100644
--- a/translations/ku.json
+++ b/translations/ku.json
@@ -652,5 +652,6 @@
"am reading": "ez dixwînim",
"Update type": "Cureyê nûve bike",
"add a rating": "rêjeyek zêde bike",
- "Rating": "Rating"
+ "Rating": "Rating",
+ "reading": "xwendinî"
}
diff --git a/translations/nl.json b/translations/nl.json
index 9cd2ba2f0..dafd43e8b 100644
--- a/translations/nl.json
+++ b/translations/nl.json
@@ -652,5 +652,6 @@
"am reading": "aan het lezen",
"Update type": "Updatetype",
"add a rating": "een beoordeling toevoegen",
- "Rating": "Beoordeling"
+ "Rating": "Beoordeling",
+ "reading": "lezing"
}
diff --git a/translations/oc.json b/translations/oc.json
index 5d6734936..3df74ea3d 100644
--- a/translations/oc.json
+++ b/translations/oc.json
@@ -648,5 +648,6 @@
"am reading": "am reading",
"Update type": "Update type",
"add a rating": "add a rating",
- "Rating": "Rating"
+ "Rating": "Rating",
+ "reading": "reading"
}
diff --git a/translations/pl.json b/translations/pl.json
index 9ecd9a9e9..8322917ab 100644
--- a/translations/pl.json
+++ b/translations/pl.json
@@ -652,5 +652,6 @@
"am reading": "czytam",
"Update type": "Typ aktualizacji",
"add a rating": "dodaj ocenę",
- "Rating": "Ocena"
+ "Rating": "Ocena",
+ "reading": "czytanie"
}
diff --git a/translations/pt.json b/translations/pt.json
index a5b4162ab..bbbed07c1 100644
--- a/translations/pt.json
+++ b/translations/pt.json
@@ -652,5 +652,6 @@
"am reading": "estou lendo",
"Update type": "Tipo de atualização",
"add a rating": "adicionar uma classificação",
- "Rating": "Avaliação"
+ "Rating": "Avaliação",
+ "reading": "leitura"
}
diff --git a/translations/ru.json b/translations/ru.json
index d7625ed12..035f4c1f1 100644
--- a/translations/ru.json
+++ b/translations/ru.json
@@ -652,5 +652,6 @@
"am reading": "читаю",
"Update type": "Тип обновления",
"add a rating": "добавить оценку",
- "Rating": "Рейтинг"
+ "Rating": "Рейтинг",
+ "reading": "чтение"
}
diff --git a/translations/sw.json b/translations/sw.json
index 84fdb1463..93e97a0fc 100644
--- a/translations/sw.json
+++ b/translations/sw.json
@@ -652,5 +652,6 @@
"am reading": "ninasoma",
"Update type": "Aina ya sasisho",
"add a rating": "ongeza ukadiriaji",
- "Rating": "Ukadiriaji"
+ "Rating": "Ukadiriaji",
+ "reading": "kusoma"
}
diff --git a/translations/tr.json b/translations/tr.json
index 92b5c3cc0..c0005ac60 100644
--- a/translations/tr.json
+++ b/translations/tr.json
@@ -652,5 +652,6 @@
"am reading": "Okuyorum",
"Update type": "Güncelleme türü",
"add a rating": "derecelendirme ekle",
- "Rating": "Değerlendirme"
+ "Rating": "Değerlendirme",
+ "reading": "okuma"
}
diff --git a/translations/uk.json b/translations/uk.json
index b381375b2..01218c31a 100644
--- a/translations/uk.json
+++ b/translations/uk.json
@@ -652,5 +652,6 @@
"am reading": "я читаю",
"Update type": "Тип оновлення",
"add a rating": "додати оцінку",
- "Rating": "Рейтинг"
+ "Rating": "Рейтинг",
+ "reading": "читання"
}
diff --git a/translations/yi.json b/translations/yi.json
index 982a0ae5a..ffef7d56b 100644
--- a/translations/yi.json
+++ b/translations/yi.json
@@ -652,5 +652,6 @@
"am reading": "בין לייענען",
"Update type": "דערהייַנטיקן טיפּ",
"add a rating": "לייגן אַ ראַנג",
- "Rating": "שאַץ"
+ "Rating": "שאַץ",
+ "reading": "לייענען"
}
diff --git a/translations/zh.json b/translations/zh.json
index 549deeb0a..e94e1fbb3 100644
--- a/translations/zh.json
+++ b/translations/zh.json
@@ -652,5 +652,6 @@
"am reading": "正在阅读",
"Update type": "更新类型",
"add a rating": "添加评级",
- "Rating": "评分"
+ "Rating": "评分",
+ "reading": "阅读"
}
diff --git a/webapp_create_post.py b/webapp_create_post.py
index 4d1bc1d60..ed1f07fee 100644
--- a/webapp_create_post.py
+++ b/webapp_create_post.py
@@ -828,7 +828,7 @@ def html_new_post(edit_post_params: {},
translate['am reading'] + '\n'
extra_fields += ' \n'
- extra_fields += ' \n'
extra_fields += '
\n'