From 38a30cea680fc216922cbdfc23ef5c4059642117 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Sun, 15 May 2022 19:47:20 -0500 Subject: [PATCH 01/10] Fix for crash when account is_group --- webapp_profile.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/webapp_profile.py b/webapp_profile.py index e418b5233..9314474a2 100644 --- a/webapp_profile.py +++ b/webapp_profile.py @@ -914,27 +914,26 @@ def html_profile(signing_priv_key_pem: str, translate['Switch to timeline view'] menu_edit = \ html_hide_from_screen_reader('✍') + ' ' + translate['Edit'] - if not is_group: - menu_following = \ - html_hide_from_screen_reader('👥') + ' ' + translate['Following'] menu_followers = \ html_hide_from_screen_reader('👪') + ' ' + followers_str - if not is_group: - menu_roles = \ - html_hide_from_screen_reader('🤚') + ' ' + translate['Roles'] - menu_skills = \ - html_hide_from_screen_reader('🛠') + ' ' + translate['Skills'] menu_logout = \ html_hide_from_screen_reader('❎') + ' ' + translate['Logout'] nav_links = { menu_timeline: user_path_str + '/' + deft, menu_edit: user_path_str + '/editprofile', - menu_following: user_path_str + '/following#timeline', menu_followers: user_path_str + '/followers#timeline', - menu_roles: user_path_str + '/roles#timeline', - menu_skills: user_path_str + '/skills#timeline', menu_logout: '/logout' } + if not is_group: + menu_following = \ + html_hide_from_screen_reader('👥') + ' ' + translate['Following'] + nav_links[menu_following] = user_path_str + '/following#timeline' + menu_roles = \ + html_hide_from_screen_reader('🤚') + ' ' + translate['Roles'] + nav_links[menu_roles] = user_path_str + '/roles#timeline' + menu_skills = \ + html_hide_from_screen_reader('🛠') + ' ' + translate['Skills'] + nav_links[menu_skills] = user_path_str + '/skills#timeline' if is_artist(base_dir, nickname): menu_theme_designer = \ html_hide_from_screen_reader('🎨') + ' ' + \ From cfd15a6206f96f6bc17687cf081cb0435d2b656c Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 13:14:36 +0100 Subject: [PATCH 02/10] Set end time for events --- daemon.py | 11 ++++++++++- desktop_client.py | 9 ++++++--- epicyon.py | 39 +++++++++++++++++++++++++++---------- inbox.py | 5 +++-- posts.py | 36 ++++++++++++++++++---------------- tests.py | 45 ++++++++++++++++++++++++++++++------------- translations/ar.json | 4 +++- translations/ca.json | 4 +++- translations/cy.json | 4 +++- translations/de.json | 4 +++- translations/el.json | 4 +++- translations/en.json | 4 +++- translations/es.json | 4 +++- translations/fr.json | 4 +++- translations/ga.json | 4 +++- translations/hi.json | 4 +++- translations/it.json | 4 +++- translations/ja.json | 4 +++- translations/ko.json | 4 +++- translations/ku.json | 4 +++- translations/nl.json | 4 +++- translations/oc.json | 4 +++- translations/pl.json | 4 +++- translations/pt.json | 4 +++- translations/ru.json | 4 +++- translations/sw.json | 4 +++- translations/tr.json | 4 +++- translations/uk.json | 4 +++- translations/yi.json | 4 +++- translations/zh.json | 4 +++- webapp_create_post.py | 8 ++++++-- 31 files changed, 177 insertions(+), 72 deletions(-) diff --git a/daemon.py b/daemon.py index ca2254298..e85d7064c 100644 --- a/daemon.py +++ b/daemon.py @@ -526,6 +526,7 @@ class PubServer(BaseHTTPRequestHandler): schedule_post = False event_date = None event_time = None + event_end_time = None location = None conversation_id = None city = get_spoofed_city(self.server.city, @@ -552,7 +553,7 @@ class PubServer(BaseHTTPRequestHandler): subject, schedule_post, event_date, - event_time, + event_time, event_end_time, location, False, self.server.system_language, conversation_id, @@ -18835,6 +18836,8 @@ class PubServer(BaseHTTPRequestHandler): fields['eventDate'] = None if not fields.get('eventTime'): fields['eventTime'] = None + if not fields.get('eventEndTime'): + fields['eventEndTime'] = None if not fields.get('location'): fields['location'] = None if not fields.get('languagesDropdown'): @@ -18905,6 +18908,7 @@ class PubServer(BaseHTTPRequestHandler): fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], False, fields['languagesDropdown'], conversation_id, @@ -18999,6 +19003,7 @@ class PubServer(BaseHTTPRequestHandler): fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], fields['languagesDropdown'], conversation_id, @@ -19162,6 +19167,7 @@ class PubServer(BaseHTTPRequestHandler): fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], fields['languagesDropdown'], conversation_id, @@ -19223,6 +19229,7 @@ class PubServer(BaseHTTPRequestHandler): fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], fields['languagesDropdown'], conversation_id, @@ -19296,6 +19303,7 @@ class PubServer(BaseHTTPRequestHandler): fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], fields['languagesDropdown'], conversation_id, @@ -19361,6 +19369,7 @@ class PubServer(BaseHTTPRequestHandler): True, fields['schedulePost'], fields['eventDate'], fields['eventTime'], + fields['eventEndTime'], fields['location'], fields['languagesDropdown'], conversation_id, diff --git a/desktop_client.py b/desktop_client.py index 805bc2c4a..d14f0cb88 100644 --- a/desktop_client.py +++ b/desktop_client.py @@ -472,6 +472,7 @@ def _desktop_reply_to_post(session, post_id: str, say_str = 'Sending reply' event_date = None event_time = None + event_end_time = None location = None _say_command(say_str, say_str, screenreader, system_language, espeak) if send_post_via_server(signing_priv_key_pem, __version__, @@ -484,7 +485,7 @@ def _desktop_reply_to_post(session, post_id: str, cached_webfingers, person_cache, is_article, system_language, languages_understood, low_bandwidth, content_license_url, - event_date, event_time, location, + event_date, event_time, event_end_time, location, debug, post_id, post_id, conversation_id, subject) == 0: say_str = 'Reply sent' @@ -545,6 +546,7 @@ def _desktop_new_post(session, say_str = 'Sending' event_date = None event_time = None + event_end_time = None location = None _say_command(say_str, say_str, screenreader, system_language, espeak) if send_post_via_server(signing_priv_key_pem, __version__, @@ -557,7 +559,7 @@ def _desktop_new_post(session, cached_webfingers, person_cache, is_article, system_language, languages_understood, low_bandwidth, content_license_url, - event_date, event_time, location, + event_date, event_time, event_end_time, location, debug, None, None, conversation_id, subject) == 0: say_str = 'Post sent' @@ -1278,6 +1280,7 @@ def _desktop_new_dm_base(session, to_handle: str, event_date = None event_time = None + event_end_time = None location = None say_str = 'Sending' @@ -1292,7 +1295,7 @@ def _desktop_new_dm_base(session, to_handle: str, cached_webfingers, person_cache, is_article, system_language, languages_understood, low_bandwidth, content_license_url, - event_date, event_time, location, + event_date, event_time, event_end_time, location, debug, None, None, conversation_id, subject) == 0: say_str = 'Direct message sent' diff --git a/epicyon.py b/epicyon.py index 46dc0b418..68d1e61a4 100644 --- a/epicyon.py +++ b/epicyon.py @@ -130,6 +130,10 @@ parser.add_argument('--eventTime', type=str, default=None, help='Time for an event when sending a c2s post' + ' HH:MM') +parser.add_argument('--eventEndTime', type=str, + default=None, + help='Time when an event ends when sending a c2s post' + + ' HH:MM') parser.add_argument('--eventLocation', type=str, default=None, help='Location for an event when sending a c2s post') @@ -1445,7 +1449,12 @@ if args.message: if args.eventTime: if ':' not in args.eventTime or len(args.eventTime) != 5: - print('Event time format should be HH:MM') + print('Event start time format should be HH:MM') + sys.exit() + + if args.eventEndTime: + if ':' not in args.eventEndTime or len(args.eventEndTime) != 5: + print('Event end time format should be HH:MM') sys.exit() if not args.password: @@ -1523,7 +1532,8 @@ if args.message: args.language, languages_understood, args.low_bandwidth, args.content_license_url, - args.eventDate, args.eventTime, args.eventLocation, + args.eventDate, args.eventTime, args.eventEndTime, + args.eventLocation, args.debug, reply_to, reply_to, args.conversationId, subject) for i in range(10): @@ -3155,6 +3165,7 @@ if args.testdata: test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -3171,7 +3182,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3185,7 +3197,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3199,7 +3212,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3213,7 +3227,8 @@ if args.testdata: test_media_type, test_image_description, test_city, 'someone', test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3228,7 +3243,8 @@ if args.testdata: 'Description of image', test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3242,7 +3258,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3256,7 +3273,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) @@ -3270,7 +3288,8 @@ if args.testdata: test_media_type, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, test_event_end_time, + test_location, test_is_article, args.language, conversation_id, low_bandwidth, args.content_license_url, languages_understood) diff --git a/inbox.py b/inbox.py index d8e443d76..c1e70a3f7 100644 --- a/inbox.py +++ b/inbox.py @@ -3185,6 +3185,7 @@ def _bounce_dm(senderPostId: str, session, http_prefix: str, schedule_post = False event_date = None event_time = None + event_end_time = None location = None conversation_id = None low_bandwidth = False @@ -3197,8 +3198,8 @@ def _bounce_dm(senderPostId: str, session, http_prefix: str, image_description, city, in_reply_to, in_reply_to_atom_uri, subject, debug, schedule_post, - event_date, event_time, location, - system_language, conversation_id, + event_date, event_time, event_end_time, + location, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood, bounce_is_chat) diff --git a/posts.py b/posts.py index 2a270f709..3f5835fb0 100644 --- a/posts.py +++ b/posts.py @@ -1837,10 +1837,8 @@ def create_public_post(base_dir: str, in_reply_to: str, in_reply_to_atom_uri: str, subject: str, schedule_post: bool, - event_date: str, event_time: str, - location: str, - is_article: bool, - system_language: str, + 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, languages_understood: []) -> {}: @@ -1851,8 +1849,8 @@ def create_public_post(base_dir: str, event_uuid = None category = None join_mode = None - end_date = None - end_time = None + end_date = event_date + end_time = event_end_time maximum_attendee_capacity = None replies_moderation_option = None anonymous_participation_enabled = None @@ -1919,7 +1917,7 @@ def create_blog_post(base_dir: str, image_description: 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_date: str, event_time: str, event_end_time: str, location: str, system_language: str, conversation_id: str, low_bandwidth: bool, content_license_url: str, @@ -1933,7 +1931,7 @@ def create_blog_post(base_dir: str, image_description, city, in_reply_to, in_reply_to_atom_uri, subject, schedule_post, - event_date, event_time, location, + event_date, event_time, event_end_time, location, True, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -1959,6 +1957,7 @@ def create_news_post(base_dir: str, schedule_post = False event_date = None event_time = None + event_end_time = None location = None blog = \ create_public_post(base_dir, @@ -1969,7 +1968,7 @@ def create_news_post(base_dir: str, image_description, city, in_reply_to, in_reply_to_atom_uri, subject, schedule_post, - event_date, event_time, location, + event_date, event_time, event_end_time, location, True, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2038,7 +2037,7 @@ def create_unlisted_post(base_dir: str, image_description: 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_date: str, event_time: str, event_end_time: str, location: str, system_language: str, conversation_id: str, low_bandwidth: bool, content_license_url: str, @@ -2057,8 +2056,9 @@ def create_unlisted_post(base_dir: str, image_description, city, False, False, in_reply_to, in_reply_to_atom_uri, subject, - schedule_post, event_date, event_time, location, - None, None, None, None, None, + schedule_post, event_date, + event_time, event_end_time, location, + None, None, None, event_date, event_end_time, None, None, None, None, None, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2075,7 +2075,8 @@ def create_followers_only_post(base_dir: str, in_reply_to: str, in_reply_to_atom_uri: str, subject: str, schedule_post: bool, - event_date: str, event_time: str, + event_date: str, + event_time: str, event_end_time: str, location: str, system_language: str, conversation_id: str, low_bandwidth: bool, content_license_url: str, @@ -2094,7 +2095,7 @@ def create_followers_only_post(base_dir: str, False, False, in_reply_to, in_reply_to_atom_uri, subject, schedule_post, event_date, event_time, location, - None, None, None, None, None, + None, None, None, event_date, event_end_time, None, None, None, None, None, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2149,6 +2150,7 @@ def create_direct_message_post(base_dir: str, subject: str, debug: bool, schedule_post: bool, event_date: str, event_time: str, + event_end_time: str, location: str, system_language: str, conversation_id: str, low_bandwidth: bool, content_license_url: str, @@ -2175,7 +2177,7 @@ def create_direct_message_post(base_dir: str, False, False, in_reply_to, in_reply_to_atom_uri, subject, schedule_post, event_date, event_time, location, - None, None, None, None, None, + None, None, None, event_date, event_end_time, None, None, None, None, None, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2567,7 +2569,7 @@ def send_post_via_server(signing_priv_key_pem: str, project_version: str, languages_understood: [], low_bandwidth: bool, content_license_url: str, - event_date: str, event_time: str, + event_date: str, event_time: str, event_end_time: str, location: str, debug: bool = False, in_reply_to: str = None, @@ -2655,7 +2657,7 @@ def send_post_via_server(signing_priv_key_pem: str, project_version: str, in_reply_to_atom_uri, subject, False, event_date, event_time, location, - None, None, None, None, None, + None, None, None, event_date, event_end_time, None, None, None, None, None, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) diff --git a/tests.py b/tests.py index bfb827a62..d2ceae761 100644 --- a/tests.py +++ b/tests.py @@ -753,6 +753,7 @@ def create_server_alice(path: str, domain: str, port: int, test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -768,7 +769,8 @@ def create_server_alice(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -783,7 +785,8 @@ def create_server_alice(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -799,7 +802,8 @@ def create_server_alice(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -912,6 +916,7 @@ def create_server_bob(path: str, domain: str, port: int, test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -927,7 +932,8 @@ def create_server_bob(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -943,7 +949,8 @@ def create_server_bob(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -958,7 +965,8 @@ def create_server_bob(path: str, domain: str, port: int, test_image_description, test_city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2825,6 +2833,7 @@ def _test_create_person_account(base_dir: str): test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False followers_only = False @@ -2848,7 +2857,8 @@ def _test_create_person_account(base_dir: str): 'Not suitable for Vogons', 'London, England', test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -2873,7 +2883,8 @@ def _test_create_person_account(base_dir: str): 'Not suitable for Vogons', 'London, England', test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -3075,6 +3086,7 @@ def test_client_to_server(base_dir: str): str(test_date.year) + '-' + str(test_date.month) + '-' + \ str(test_date.day) event_time = '11:45' + event_end_time = '12:30' location = "Kinshasa" send_result = \ send_post_via_server(signing_priv_key_pem, __version__, @@ -3088,7 +3100,7 @@ def test_client_to_server(base_dir: str): cached_webfingers, person_cache, is_article, system_language, languages_understood, low_bandwidth, content_license_url, - event_date, event_time, location, + event_date, event_time, event_end_time, location, True, None, None, conversation_id, None) print('send_result: ' + str(send_result)) @@ -4539,6 +4551,7 @@ def _test_reply_to_public_post(base_dir: str) -> None: test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -4552,7 +4565,8 @@ def _test_reply_to_public_post(base_dir: str) -> None: image_description, city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -5464,6 +5478,7 @@ def _test_links_within_post(base_dir: str) -> None: test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -5478,7 +5493,8 @@ def _test_links_within_post(base_dir: str) -> None: image_description, city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -5516,7 +5532,8 @@ def _test_links_within_post(base_dir: str) -> None: False, None, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) @@ -6472,6 +6489,7 @@ def _test_can_replyto(base_dir: str) -> None: test_schedule_post = False test_event_date = None test_event_time = None + test_event_end_time = None test_location = None test_is_article = False conversation_id = None @@ -6486,7 +6504,8 @@ def _test_can_replyto(base_dir: str) -> None: image_description, city, test_in_reply_to, test_in_reply_to_atom_uri, test_subject, test_schedule_post, - test_event_date, test_event_time, test_location, + test_event_date, test_event_time, + test_event_end_time, test_location, test_is_article, system_language, conversation_id, low_bandwidth, content_license_url, languages_understood) diff --git a/translations/ar.json b/translations/ar.json index 1817ba74b..1a5ce487c 100644 --- a/translations/ar.json +++ b/translations/ar.json @@ -555,5 +555,7 @@ "DM warning": "لا يتم تشفير الرسائل المباشرة من طرف إلى طرف. لا تشارك أي معلومات حساسة للغاية هنا.", "Transcript": "نص", "Color contrast is too low": "تباين الألوان منخفض جدًا", - "View Larger Map": "عرض خريطة أكبر" + "View Larger Map": "عرض خريطة أكبر", + "Start Time": "وقت البدء", + "End Time": "وقت النهاية" } diff --git a/translations/ca.json b/translations/ca.json index acbfff5c4..14dcf64c3 100644 --- a/translations/ca.json +++ b/translations/ca.json @@ -555,5 +555,7 @@ "DM warning": "Els missatges directes no estan xifrats d'extrem a extrem. No compartiu cap informació molt sensible aquí.", "Transcript": "Transcripció", "Color contrast is too low": "El contrast de color és massa baix", - "View Larger Map": "Veure mapa més gran" + "View Larger Map": "Veure mapa més gran", + "Start Time": "L'hora d'inici", + "End Time": "Temps esgotat" } diff --git a/translations/cy.json b/translations/cy.json index 027f5b7bb..25b52ab6a 100644 --- a/translations/cy.json +++ b/translations/cy.json @@ -555,5 +555,7 @@ "DM warning": "Nid yw negeseuon uniongyrchol wedi'u hamgryptio o'r dechrau i'r diwedd. Peidiwch â rhannu unrhyw wybodaeth hynod sensitif yma.", "Transcript": "Trawsgrifiad", "Color contrast is too low": "Mae cyferbyniad lliw yn rhy isel", - "View Larger Map": "Gweld Map Mwy" + "View Larger Map": "Gweld Map Mwy", + "Start Time": "Amser Dechrau", + "End Time": "Amser Gorffen" } diff --git a/translations/de.json b/translations/de.json index f0d31d7b4..a3f9964fa 100644 --- a/translations/de.json +++ b/translations/de.json @@ -555,5 +555,7 @@ "DM warning": "Direktnachrichten sind nicht Ende-zu-Ende verschlüsselt. Geben Sie hier keine hochsensiblen Informationen weiter.", "Transcript": "Abschrift", "Color contrast is too low": "Der Farbkontrast ist zu gering", - "View Larger Map": "größere Karte ansehen" + "View Larger Map": "größere Karte ansehen", + "Start Time": "Startzeit", + "End Time": "Endzeit" } diff --git a/translations/el.json b/translations/el.json index a51978878..64c2fcaf7 100644 --- a/translations/el.json +++ b/translations/el.json @@ -555,5 +555,7 @@ "DM warning": "Τα άμεσα μηνύματα δεν είναι κρυπτογραφημένα από άκρο σε άκρο. Μην μοιράζεστε καμία εξαιρετικά ευαίσθητη πληροφορία εδώ.", "Transcript": "Αντίγραφο", "Color contrast is too low": "Η χρωματική αντίθεση είναι πολύ χαμηλή", - "View Larger Map": "Δείτε Μεγαλύτερο Χάρτη" + "View Larger Map": "Δείτε Μεγαλύτερο Χάρτη", + "Start Time": "Ωρα έναρξης", + "End Time": "Τέλος χρόνου" } diff --git a/translations/en.json b/translations/en.json index e4152c524..3046d046e 100644 --- a/translations/en.json +++ b/translations/en.json @@ -555,5 +555,7 @@ "DM warning": "Direct messages are not end-to-end encrypted. Do not share any highly sensitive information here.", "Transcript": "Transcript", "Color contrast is too low": "Color contrast is too low", - "View Larger Map": "View Larger Map" + "View Larger Map": "View Larger Map", + "Start Time": "Start Time", + "End Time": "End Time" } diff --git a/translations/es.json b/translations/es.json index b8399cde7..289468d96 100644 --- a/translations/es.json +++ b/translations/es.json @@ -555,5 +555,7 @@ "DM warning": "Los mensajes directos no están cifrados de extremo a extremo. No comparta ninguna información altamente confidencial aquí.", "Transcript": "Transcripción", "Color contrast is too low": "El contraste de color es demasiado bajo", - "View Larger Map": "Ver mapa más grande" + "View Larger Map": "Ver mapa más grande", + "Start Time": "Hora de inicio", + "End Time": "Hora de finalización" } diff --git a/translations/fr.json b/translations/fr.json index 8f3f2289a..d2db73b15 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -555,5 +555,7 @@ "DM warning": "Les messages directs ne sont pas chiffrés de bout en bout. Ne partagez aucune information hautement sensible ici.", "Transcript": "Transcription", "Color contrast is too low": "Le contraste des couleurs est trop faible", - "View Larger Map": "Agrandir le plan" + "View Larger Map": "Agrandir le plan", + "Start Time": "Heure de début", + "End Time": "Heure de fin" } diff --git a/translations/ga.json b/translations/ga.json index c64dabd22..c5e9c361f 100644 --- a/translations/ga.json +++ b/translations/ga.json @@ -555,5 +555,7 @@ "DM warning": "Níl teachtaireachtaí díreacha criptithe ó cheann go ceann. Ná roinn aon fhaisnéis an-íogair anseo.", "Transcript": "Athscríbhinn", "Color contrast is too low": "Tá codarsnacht dath ró-íseal", - "View Larger Map": "Féach ar Léarscáil Níos Mó" + "View Larger Map": "Féach ar Léarscáil Níos Mó", + "Start Time": "Am Tosaigh", + "End Time": "Am Deiridh" } diff --git a/translations/hi.json b/translations/hi.json index 09ad2d94e..5bdd0c872 100644 --- a/translations/hi.json +++ b/translations/hi.json @@ -555,5 +555,7 @@ "DM warning": "डायरेक्ट मैसेज एंड-टू-एंड एन्क्रिप्टेड नहीं होते हैं। यहां कोई अति संवेदनशील जानकारी साझा न करें।", "Transcript": "प्रतिलिपि", "Color contrast is too low": "रंग कंट्रास्ट बहुत कम है", - "View Larger Map": "बड़ा नक्शा देखें" + "View Larger Map": "बड़ा नक्शा देखें", + "Start Time": "समय शुरू", + "End Time": "अंत समय" } diff --git a/translations/it.json b/translations/it.json index a39ddbfc3..cf547e167 100644 --- a/translations/it.json +++ b/translations/it.json @@ -555,5 +555,7 @@ "DM warning": "I messaggi diretti non sono crittografati end-to-end. Non condividere qui alcuna informazione altamente sensibile.", "Transcript": "Trascrizione", "Color contrast is too low": "Il contrasto del colore è troppo basso", - "View Larger Map": "Visualizza mappa più grande" + "View Larger Map": "Visualizza mappa più grande", + "Start Time": "Ora di inizio", + "End Time": "Tempo scaduto" } diff --git a/translations/ja.json b/translations/ja.json index 496d348b0..d4e0de850 100644 --- a/translations/ja.json +++ b/translations/ja.json @@ -555,5 +555,7 @@ "DM warning": "ダイレクトメッセージはエンドツーエンドで暗号化されません。 ここでは機密性の高い情報を共有しないでください。", "Transcript": "トランスクリプト", "Color contrast is too low": "色のコントラストが低すぎる", - "View Larger Map": "大きな地図を見る" + "View Larger Map": "大きな地図を見る", + "Start Time": "始まる時間", + "End Time": "終了時間" } diff --git a/translations/ko.json b/translations/ko.json index 0280c48c0..392f75372 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -555,5 +555,7 @@ "DM warning": "다이렉트 메시지는 종단 간 암호화되지 않습니다. 여기에 매우 민감한 정보를 공유하지 마십시오.", "Transcript": "성적 증명서", "Color contrast is too low": "색상 대비가 너무 낮습니다.", - "View Larger Map": "큰 지도 보기" + "View Larger Map": "큰 지도 보기", + "Start Time": "시작 시간", + "End Time": "종료 시간" } diff --git a/translations/ku.json b/translations/ku.json index 6463ee261..aa5038c05 100644 --- a/translations/ku.json +++ b/translations/ku.json @@ -555,5 +555,7 @@ "DM warning": "Peyamên rasterast bi dawî-bi-dawî ne şîfrekirî ne. Li vir agahdariya pir hesas parve nekin.", "Transcript": "Transcript", "Color contrast is too low": "Berevajî reng pir kêm e", - "View Larger Map": "Nexşeya Mezin bibînin" + "View Larger Map": "Nexşeya Mezin bibînin", + "Start Time": "Demjimêra Destpêkê", + "End Time": "Dema Dawî" } diff --git a/translations/nl.json b/translations/nl.json index 4ee192a1b..1d9bc687a 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -555,5 +555,7 @@ "DM warning": "Directe berichten zijn niet end-to-end versleuteld. Deel hier geen zeer gevoelige informatie.", "Transcript": "Vertaling", "Color contrast is too low": "Kleurcontrast is te laag", - "View Larger Map": "zie grotere kaart" + "View Larger Map": "zie grotere kaart", + "Start Time": "Starttijd", + "End Time": "Eindtijd" } diff --git a/translations/oc.json b/translations/oc.json index 30bc3511c..5bfd5c8e5 100644 --- a/translations/oc.json +++ b/translations/oc.json @@ -551,5 +551,7 @@ "DM warning": "Direct messages are not end-to-end encrypted. Do not share any highly sensitive information here.", "Transcript": "Transcript", "Color contrast is too low": "Color contrast is too low", - "View Larger Map": "View Larger Map" + "View Larger Map": "View Larger Map", + "Start Time": "Start Time", + "End Time": "End Time" } diff --git a/translations/pl.json b/translations/pl.json index a35f320b5..d5267ba63 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -555,5 +555,7 @@ "DM warning": "Wiadomości na czacie nie są szyfrowane metodą end-to-end. Nie udostępniaj tutaj żadnych wysoce wrażliwych informacji.", "Transcript": "Transkrypcja", "Color contrast is too low": "Kontrast kolorów jest zbyt niski", - "View Larger Map": "Wyświetl Większą Mapę" + "View Larger Map": "Wyświetl Większą Mapę", + "Start Time": "Czas rozpoczęcia", + "End Time": "Koniec czasu" } diff --git a/translations/pt.json b/translations/pt.json index 1c4f23b0c..80a57b5a2 100644 --- a/translations/pt.json +++ b/translations/pt.json @@ -555,5 +555,7 @@ "DM warning": "As mensagens diretas não são criptografadas de ponta a ponta. Não compartilhe nenhuma informação altamente sensível aqui.", "Transcript": "Transcrição", "Color contrast is too low": "O contraste de cores é muito baixo", - "View Larger Map": "ver o mapa maior" + "View Larger Map": "ver o mapa maior", + "Start Time": "Hora de início", + "End Time": "Fim do tempo" } diff --git a/translations/ru.json b/translations/ru.json index 06ebb2336..0db072e52 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -555,5 +555,7 @@ "DM warning": "Прямые сообщения не подвергаются сквозному шифрованию. Не делитесь здесь особо конфиденциальной информацией.", "Transcript": "Стенограмма", "Color contrast is too low": "Цветовой контраст слишком низкий", - "View Larger Map": "Посмотреть увеличенную карту" + "View Larger Map": "Посмотреть увеличенную карту", + "Start Time": "Время начала", + "End Time": "Время окончания" } diff --git a/translations/sw.json b/translations/sw.json index 803c3dff4..376baa8fd 100644 --- a/translations/sw.json +++ b/translations/sw.json @@ -555,5 +555,7 @@ "DM warning": "Ujumbe wa moja kwa moja haujasimbwa kutoka mwisho hadi mwisho. Usishiriki maelezo yoyote nyeti sana hapa.", "Transcript": "Nakala", "Color contrast is too low": "Utofautishaji wa rangi uko chini sana", - "View Larger Map": "Tazama Ramani Kubwa" + "View Larger Map": "Tazama Ramani Kubwa", + "Start Time": "Wakati wa Kuanza", + "End Time": "Wakati wa Mwisho" } diff --git a/translations/tr.json b/translations/tr.json index 3257c2ebd..60e92af04 100644 --- a/translations/tr.json +++ b/translations/tr.json @@ -555,5 +555,7 @@ "DM warning": "Doğrudan mesajlar uçtan uca şifrelenmez. Son derece hassas bilgileri burada paylaşmayın.", "Transcript": "Transcript", "Color contrast is too low": "Renk kontrastı çok düşük", - "View Larger Map": "Daha Büyük Haritayı Görüntüle" + "View Larger Map": "Daha Büyük Haritayı Görüntüle", + "Start Time": "Başlangıç ​​saati", + "End Time": "Bitiş zamanı" } diff --git a/translations/uk.json b/translations/uk.json index ee50964ce..2b7e73da5 100644 --- a/translations/uk.json +++ b/translations/uk.json @@ -555,5 +555,7 @@ "DM warning": "Прямі повідомлення не наскрізне шифруються. Не публікуйте тут дуже конфіденційну інформацію.", "Transcript": "Стенограма", "Color contrast is too low": "Колірна контрастність надто низька", - "View Larger Map": "Переглянути більшу карту" + "View Larger Map": "Переглянути більшу карту", + "Start Time": "Час початку", + "End Time": "Час закінчення" } diff --git a/translations/yi.json b/translations/yi.json index bd464abca..94694833f 100644 --- a/translations/yi.json +++ b/translations/yi.json @@ -555,5 +555,7 @@ "DM warning": "דירעקט אַרטיקלען זענען נישט ענקריפּטיד פון סוף צו סוף. דו זאלסט נישט טיילן קיין העכסט שפּירעוודיק אינפֿאָרמאַציע דאָ.", "Transcript": "טראַנסקריפּט", "Color contrast is too low": "קאָליר קאַנטראַסט איז אויך נידעריק", - "View Larger Map": "View גרעסערע מאַפּע" + "View Larger Map": "View גרעסערע מאַפּע", + "Start Time": "אָנהייב צייט", + "End Time": "סוף צייט" } diff --git a/translations/zh.json b/translations/zh.json index 738e02a55..4b0c7271e 100644 --- a/translations/zh.json +++ b/translations/zh.json @@ -555,5 +555,7 @@ "DM warning": "直接消息不是端到端加密的。 不要在这里分享任何高度敏感的信息。", "Transcript": "成绩单", "Color contrast is too low": "颜色对比度太低", - "View Larger Map": "查看更大的地图" + "View Larger Map": "查看更大的地图", + "Start Time": "开始时间", + "End Time": "时间结束" } diff --git a/webapp_create_post.py b/webapp_create_post.py index b2fc01f5d..68052569d 100644 --- a/webapp_create_post.py +++ b/webapp_create_post.py @@ -243,9 +243,13 @@ def html_new_post(css_cache: {}, media_instance: bool, translate: {}, translate['Date'] + ': \n' date_and_time_str += '\n' date_and_time_str += '\n

\n' + '\n
\n' + date_and_time_str += '\n

\n' show_public_on_dropdown = True message_box_height = 400 From 332d49170733dc6d13ed46bd4c3380ca5b7a2ebc Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 13:40:26 +0100 Subject: [PATCH 03/10] Event background --- theme/purple/theme.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/theme/purple/theme.json b/theme/purple/theme.json index e48093ba3..23fbf3a5f 100644 --- a/theme/purple/theme.json +++ b/theme/purple/theme.json @@ -68,8 +68,8 @@ "day-number2": "lightgrey", "today-foreground": "white", "today-circle": "red", - "event-background": "#444", - "event-background-private": "#888", + "event-background": "#333", + "event-background-private": "#111", "event-foreground": "white", "title-text": "white", "title-background": "#ff42a0", From 7c16732f2aa1beacbf46ea32be27738f1d344c28 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 13:46:23 +0100 Subject: [PATCH 04/10] Show event time range --- webapp_calendar.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/webapp_calendar.py b/webapp_calendar.py index 0347bf570..3f300d5d3 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -141,6 +141,7 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, if day_events: for event_post in day_events: event_time = None + event_end_time = None event_description = None event_place = None post_id = None @@ -157,6 +158,11 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, datetime.strptime(evnt['startTime'], "%Y-%m-%dT%H:%M:%S%z") event_time = event_date.strftime("%H:%M").strip() + if evnt.get('endTime'): + event_end_date = \ + datetime.strptime(evnt['endTime'], + "%Y-%m-%dT%H:%M:%S%z") + event_end_time = event_date.strftime("%H:%M").strip() if 'public' in evnt: if evnt['public'] is True: event_is_public = True @@ -210,6 +216,8 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, if event_is_public: event_class = 'calendar__day__event__public' cal_item_class = 'calItemPublic' + if event_time and event_end_time: + event_time += ' - ' + event_end_time if event_time and event_description and event_place: calendar_str += \ '' + \ From 21359f59909ba865d978f26c31e1030b341c9b40 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 13:56:38 +0100 Subject: [PATCH 05/10] Show end time on event --- webapp_calendar.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webapp_calendar.py b/webapp_calendar.py index 3f300d5d3..7f70c9c08 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -162,7 +162,8 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, event_end_date = \ datetime.strptime(evnt['endTime'], "%Y-%m-%dT%H:%M:%S%z") - event_end_time = event_date.strftime("%H:%M").strip() + event_end_time = \ + event_end_date.strftime("%H:%M").strip() if 'public' in evnt: if evnt['public'] is True: event_is_public = True From 8f6ebf9057c96ecf6ea3ad2d479c33c1bd6b0cfa Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 14:18:03 +0100 Subject: [PATCH 06/10] Show maps on daily events --- webapp_calendar.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/webapp_calendar.py b/webapp_calendar.py index 7f70c9c08..2d3dab1d0 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -31,6 +31,7 @@ from webapp_utils import html_header_with_external_style from webapp_utils import html_footer from webapp_utils import html_hide_from_screen_reader from webapp_utils import html_keyboard_navigation +from maps import html_open_street_map def html_calendar_delete_confirm(css_cache: {}, translate: {}, base_dir: str, @@ -183,6 +184,14 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, elif evnt['type'] == 'Place': if evnt.get('name'): event_place = evnt['name'] + if '://' in event_place: + bounding_box_degrees = 0.001 + event_map = \ + html_open_street_map(event_place, + bounding_box_degrees, + translate) + if event_map: + event_place = event_map # prepend a link to the sender of the calendar item if sender_name and event_description: From 14bc51c719dc6b27592d04b9f84a446ee1afedb3 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 14:27:31 +0100 Subject: [PATCH 07/10] Semantic markup for time range --- webapp_calendar.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/webapp_calendar.py b/webapp_calendar.py index 2d3dab1d0..7c1de3180 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -226,8 +226,17 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, if event_is_public: event_class = 'calendar__day__event__public' cal_item_class = 'calItemPublic' - if event_time and event_end_time: - event_time += ' - ' + event_end_time + if event_time: + if event_end_time: + event_time = \ + ' - ' + \ + '' + else: + event_time = \ + '' if event_time and event_description and event_place: calendar_str += \ '' + \ From a32452f72eedaf69bd9fb9c64c963805e03f57f1 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 23 May 2022 14:31:30 +0100 Subject: [PATCH 08/10] Start and end dates --- webapp_calendar.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/webapp_calendar.py b/webapp_calendar.py index 7c1de3180..a6caf240d 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -143,6 +143,8 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, for event_post in day_events: event_time = None event_end_time = None + start_time_str = '' + end_time_str = '' event_description = None event_place = None post_id = None @@ -155,13 +157,15 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, if evnt.get('post_id'): post_id = evnt['post_id'] if evnt.get('startTime'): + start_time_str = evnt['startTime'] event_date = \ - datetime.strptime(evnt['startTime'], + datetime.strptime(start_time_str, "%Y-%m-%dT%H:%M:%S%z") event_time = event_date.strftime("%H:%M").strip() if evnt.get('endTime'): + end_time_str = evnt['endTime'] event_end_date = \ - datetime.strptime(evnt['endTime'], + datetime.strptime(end_time_str, "%Y-%m-%dT%H:%M:%S%z") event_end_time = \ event_end_date.strftime("%H:%M").strip() @@ -229,13 +233,13 @@ def _html_calendar_day(person_cache: {}, css_cache: {}, translate: {}, if event_time: if event_end_time: event_time = \ - '