mirror of https://gitlab.com/bashrc2/epicyon
Option to keep dms during post expiry on edit profile screen
parent
bc68eb3d2e
commit
504bd5e4ea
14
daemon.py
14
daemon.py
|
@ -80,6 +80,8 @@ from person import remove_account
|
|||
from person import can_remove_post
|
||||
from person import person_snooze
|
||||
from person import person_unsnooze
|
||||
from posts import get_post_expiry_keep_dms
|
||||
from posts import set_post_expiry_keep_dms
|
||||
from posts import get_post_expiry_days
|
||||
from posts import set_post_expiry_days
|
||||
from posts import get_original_post_from_announce_url
|
||||
|
@ -6730,6 +6732,18 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
approve_followers
|
||||
actor_changed = True
|
||||
|
||||
# keep DMs during post expiry
|
||||
expire_keep_dms = False
|
||||
if fields.get('expiryKeepDMs'):
|
||||
if fields['expiryKeepDMs'] == 'on':
|
||||
expire_keep_dms = True
|
||||
curr_keep_dms = \
|
||||
get_post_expiry_keep_dms(base_dir, nickname, domain)
|
||||
if curr_keep_dms != expire_keep_dms:
|
||||
set_post_expiry_keep_dms(base_dir, nickname, domain,
|
||||
expire_keep_dms)
|
||||
actor_changed = True
|
||||
|
||||
# remove a custom font
|
||||
if fields.get('removeCustomFont'):
|
||||
if (fields['removeCustomFont'] == 'on' and
|
||||
|
|
41
posts.py
41
posts.py
|
@ -4286,6 +4286,41 @@ def _expire_posts_for_person(http_prefix: str, nickname: str, domain: str,
|
|||
return expired_post_count
|
||||
|
||||
|
||||
def get_post_expiry_keep_dms(base_dir: str, nickname: str, domain: str) -> int:
|
||||
"""Returns true if dms should expire
|
||||
"""
|
||||
keep_dms = True
|
||||
handle = nickname + '@' + domain
|
||||
expire_dms_filename = \
|
||||
base_dir + '/accounts/' + handle + '/.expire_posts_dms'
|
||||
if os.path.isfile(expire_dms_filename):
|
||||
keep_dms = False
|
||||
return keep_dms
|
||||
|
||||
|
||||
def set_post_expiry_keep_dms(base_dir: str, nickname: str, domain: str,
|
||||
keep_dms: bool) -> None:
|
||||
"""Sets whether to keep DMs during post expiry for an account
|
||||
"""
|
||||
handle = nickname + '@' + domain
|
||||
expire_dms_filename = \
|
||||
base_dir + '/accounts/' + handle + '/.expire_posts_dms'
|
||||
if keep_dms:
|
||||
if os.path.isfile(expire_dms_filename):
|
||||
try:
|
||||
os.remove(expire_dms_filename)
|
||||
except OSError:
|
||||
print('EX: unable to write set_post_expiry_keep_dms False ' +
|
||||
expire_dms_filename)
|
||||
return
|
||||
try:
|
||||
with open(expire_dms_filename, 'w+', encoding='utf-8') as fp_expire:
|
||||
fp_expire.write('\n')
|
||||
except OSError:
|
||||
print('EX: unable to write set_post_expiry_keep_dms True ' +
|
||||
expire_dms_filename)
|
||||
|
||||
|
||||
def expire_posts(base_dir: str, http_prefix: str,
|
||||
recent_posts_cache: {}, debug: bool) -> int:
|
||||
"""Expires posts for instance accounts
|
||||
|
@ -4301,11 +4336,7 @@ def expire_posts(base_dir: str, http_prefix: str,
|
|||
base_dir + '/accounts/' + handle + '/.expire_posts_days'
|
||||
if not os.path.isfile(expire_posts_filename):
|
||||
continue
|
||||
keep_dms = True
|
||||
expire_dms_filename = \
|
||||
base_dir + '/accounts/' + handle + '/.expire_posts_dms'
|
||||
if os.path.isfile(expire_dms_filename):
|
||||
keep_dms = False
|
||||
keep_dms = get_post_expiry_keep_dms(base_dir, nickname, domain)
|
||||
expire_days_str = None
|
||||
try:
|
||||
with open(expire_posts_filename, 'r',
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "الان العب",
|
||||
"Import and Export": "استيراد وتصدير",
|
||||
"Import Follows": "يتبع الاستيراد",
|
||||
"Post expiry period in days": "فترة ما بعد انتهاء الصلاحية بالأيام"
|
||||
"Post expiry period in days": "فترة ما بعد انتهاء الصلاحية بالأيام",
|
||||
"Keep DMs during post expiry": "احتفظ بالرسائل الخاصّة أثناء انتهاء صلاحية النشر"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "এখন চলছে",
|
||||
"Import and Export": "আমদানি এবং রপ্তানি",
|
||||
"Import Follows": "আমদানি অনুসরণ করে",
|
||||
"Post expiry period in days": "দিনের মধ্যে মেয়াদ শেষ হওয়ার পরে"
|
||||
"Post expiry period in days": "দিনের মধ্যে মেয়াদ শেষ হওয়ার পরে",
|
||||
"Keep DMs during post expiry": "পোস্টের মেয়াদ শেষ হওয়ার সময় সরাসরি বার্তা রাখুন"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "AraJugant",
|
||||
"Import and Export": "Importació i Exportació",
|
||||
"Import Follows": "Segueix la importació",
|
||||
"Post expiry period in days": "Període posterior a la caducitat en dies"
|
||||
"Post expiry period in days": "Període posterior a la caducitat en dies",
|
||||
"Keep DMs during post expiry": "Conserveu els missatges directes durant la caducitat posterior"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "NawrYnChwarae",
|
||||
"Import and Export": "Mewnforio ac Allforio",
|
||||
"Import Follows": "Mewnforio Dilyn",
|
||||
"Post expiry period in days": "Cyfnod ar ôl dod i ben mewn dyddiau"
|
||||
"Post expiry period in days": "Cyfnod ar ôl dod i ben mewn dyddiau",
|
||||
"Keep DMs during post expiry": "Cadwch Negeseuon Uniongyrchol pan ddaw'r post i ben"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "LäuftGerade",
|
||||
"Import and Export": "Import und Export",
|
||||
"Import Follows": "Import folgt",
|
||||
"Post expiry period in days": "Nachablaufzeitraum in Tagen"
|
||||
"Post expiry period in days": "Nachablaufzeitraum in Tagen",
|
||||
"Keep DMs during post expiry": "Bewahren Sie Direktnachrichten während des Ablaufs auf"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "ΤώραΠαίζει",
|
||||
"Import and Export": "Εισάγω και εξάγω",
|
||||
"Import Follows": "Ακολουθεί εισαγωγή",
|
||||
"Post expiry period in days": "Η περίοδος μετά τη λήξη σε ημέρες"
|
||||
"Post expiry period in days": "Η περίοδος μετά τη λήξη σε ημέρες",
|
||||
"Keep DMs during post expiry": "Διατηρήστε τα άμεσα μηνύματα κατά τη λήξη της ανάρτησης"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "NowPlaying",
|
||||
"Import and Export": "Import and Export",
|
||||
"Import Follows": "Import Follows",
|
||||
"Post expiry period in days": "Post expiry period in days"
|
||||
"Post expiry period in days": "Post expiry period in days",
|
||||
"Keep DMs during post expiry": "Keep DMs during post expiry"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "JugandoAhora",
|
||||
"Import and Export": "Importar y exportar",
|
||||
"Import Follows": "Importar seguimientos",
|
||||
"Post expiry period in days": "Período de vencimiento posterior en días"
|
||||
"Post expiry period in days": "Período de vencimiento posterior en días",
|
||||
"Keep DMs during post expiry": "Conservar los mensajes directos durante el vencimiento de la publicación"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "LectureEnCours",
|
||||
"Import and Export": "Importer et exporter",
|
||||
"Import Follows": "Importer suit",
|
||||
"Post expiry period in days": "Délai après expiration en jours"
|
||||
"Post expiry period in days": "Délai après expiration en jours",
|
||||
"Keep DMs during post expiry": "Conserver les messages directs après l'expiration"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "AnoisAgImirt",
|
||||
"Import and Export": "Iompórtáil agus Easpórtáil",
|
||||
"Import Follows": "Leanann Iompórtáil",
|
||||
"Post expiry period in days": "Tréimhse iar-éagtha i laethanta"
|
||||
"Post expiry period in days": "Tréimhse iar-éagtha i laethanta",
|
||||
"Keep DMs during post expiry": "Coinnigh Teachtaireachtaí Díreacha nuair a rachaidh postáil in éag"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "अब खेल रहे हैं",
|
||||
"Import and Export": "आयात और निर्यात",
|
||||
"Import Follows": "आयात का अनुसरण करता है",
|
||||
"Post expiry period in days": "दिनों में समाप्ति अवधि पोस्ट करें"
|
||||
"Post expiry period in days": "दिनों में समाप्ति अवधि पोस्ट करें",
|
||||
"Keep DMs during post expiry": "समाप्ति के बाद सीधे संदेश रखें"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "OraGiocando",
|
||||
"Import and Export": "Importazione e esportazione",
|
||||
"Import Follows": "Importa segue",
|
||||
"Post expiry period in days": "Scadenza post in giorni"
|
||||
"Post expiry period in days": "Scadenza post in giorni",
|
||||
"Keep DMs during post expiry": "Conserva i messaggi diretti durante la scadenza successiva"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "再生中",
|
||||
"Import and Export": "インポートとエクスポート",
|
||||
"Import Follows": "インポートフォロー",
|
||||
"Post expiry period in days": "投稿の有効期限 (日数)"
|
||||
"Post expiry period in days": "投稿の有効期限 (日数)",
|
||||
"Keep DMs during post expiry": "投稿の有効期限が切れるまでダイレクト メッセージを保持する"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "지금 재생",
|
||||
"Import and Export": "가져오기 및 내보내기",
|
||||
"Import Follows": "가져오기 팔로우",
|
||||
"Post expiry period in days": "사후 만료 기간(일)"
|
||||
"Post expiry period in days": "사후 만료 기간(일)",
|
||||
"Keep DMs during post expiry": "만료 후 쪽지 보관"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "NihaDilîze",
|
||||
"Import and Export": "Import û Export",
|
||||
"Import Follows": "Import Follows",
|
||||
"Post expiry period in days": "Demjimêra qedandinê di çend rojan de"
|
||||
"Post expiry period in days": "Demjimêra qedandinê di çend rojan de",
|
||||
"Keep DMs during post expiry": "Di dema qedandina postê de Peyamên Rasterast biparêzin"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "NuAanHetSpelen",
|
||||
"Import and Export": "Importeren en exporteren",
|
||||
"Import Follows": "Volgt importeren",
|
||||
"Post expiry period in days": "Na afloopperiode in dagen"
|
||||
"Post expiry period in days": "Na afloopperiode in dagen",
|
||||
"Keep DMs during post expiry": "Directe berichten bewaren tijdens de vervaldatum"
|
||||
}
|
||||
|
|
|
@ -568,5 +568,6 @@
|
|||
"NowPlaying": "NowPlaying",
|
||||
"Import and Export": "Import and Export",
|
||||
"Import Follows": "Import Follows",
|
||||
"Post expiry period in days": "Post expiry period in days"
|
||||
"Post expiry period in days": "Post expiry period in days",
|
||||
"Keep DMs during post expiry": "Keep DMs during post expiry"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "TerazGra",
|
||||
"Import and Export": "Importuj i eksportuj",
|
||||
"Import Follows": "Importuj obserwuje",
|
||||
"Post expiry period in days": "Okres po wygaśnięciu w dniach"
|
||||
"Post expiry period in days": "Okres po wygaśnięciu w dniach",
|
||||
"Keep DMs during post expiry": "Zachowaj bezpośrednie wiadomości po wygaśnięciu"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "AgoraJogando",
|
||||
"Import and Export": "Importar e exportar",
|
||||
"Import Follows": "Importar seguidores",
|
||||
"Post expiry period in days": "Prazo de expiração em dias"
|
||||
"Post expiry period in days": "Prazo de expiração em dias",
|
||||
"Keep DMs during post expiry": "Manter mensagens diretas durante a expiração da postagem"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "СейчасИграет",
|
||||
"Import and Export": "Импорт и экспорт",
|
||||
"Import Follows": "Импорт подписок",
|
||||
"Post expiry period in days": "Срок действия в днях"
|
||||
"Post expiry period in days": "Срок действия в днях",
|
||||
"Keep DMs during post expiry": "Сохраняйте личные сообщения в течение срока действия после истечения срока действия"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "InachezaSasa",
|
||||
"Import and Export": "Ingiza na Hamisha",
|
||||
"Import Follows": "Ingiza Inafuata",
|
||||
"Post expiry period in days": "Kipindi cha baada ya kumalizika kwa siku"
|
||||
"Post expiry period in days": "Kipindi cha baada ya kumalizika kwa siku",
|
||||
"Keep DMs during post expiry": "Weka Ujumbe wa Moja kwa Moja wakati wa kuisha kwa chapisho"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "ŞimdiOynuyor",
|
||||
"Import and Export": "İthalat ve ihracat",
|
||||
"Import Follows": "Takipleri İçe Aktar",
|
||||
"Post expiry period in days": "Gün olarak sona erme süresi"
|
||||
"Post expiry period in days": "Gün olarak sona erme süresi",
|
||||
"Keep DMs during post expiry": "Direkt Mesajları sona erme süresi boyunca saklayın"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "ЗаразГрає",
|
||||
"Import and Export": "Імпорт та експорт",
|
||||
"Import Follows": "Імпорт слідує",
|
||||
"Post expiry period in days": "Термін після закінчення терміну дії в днях"
|
||||
"Post expiry period in days": "Термін після закінчення терміну дії в днях",
|
||||
"Keep DMs during post expiry": "Зберігайте прямі повідомлення протягом терміну дії"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "איצט פּלייַינג",
|
||||
"Import and Export": "אַרייַנפיר און עקספּאָרט",
|
||||
"Import Follows": "אַרייַנפיר גייט",
|
||||
"Post expiry period in days": "פּאָסטן עקספּיירי צייַט אין טעג"
|
||||
"Post expiry period in days": "פּאָסטן עקספּיירי צייַט אין טעג",
|
||||
"Keep DMs during post expiry": "האַלטן דירעקט אַרטיקלען בעשאַס פּאָסטן עקספּיירי"
|
||||
}
|
||||
|
|
|
@ -572,5 +572,6 @@
|
|||
"NowPlaying": "现在玩",
|
||||
"Import and Export": "进出口",
|
||||
"Import Follows": "导入关注",
|
||||
"Post expiry period in days": "到期后天数"
|
||||
"Post expiry period in days": "到期后天数",
|
||||
"Keep DMs during post expiry": "在帖子到期期间保留直接消息"
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ from theme import get_themes_list
|
|||
from person import person_box_json
|
||||
from person import get_actor_json
|
||||
from person import get_person_avatar_url
|
||||
from posts import get_post_expiry_keep_dms
|
||||
from posts import get_post_expiry_days
|
||||
from posts import get_person_box
|
||||
from posts import is_moderator
|
||||
|
@ -2191,6 +2192,10 @@ def _html_edit_profile_main(base_dir: str, display_nickname: str, bio_str: str,
|
|||
edit_number_field(translate['Post expiry period in days'],
|
||||
'postExpiryPeriod', post_expiry_period_days,
|
||||
0, 9999999999999999999999, 0)
|
||||
keep_dms = get_post_expiry_keep_dms(base_dir, nickname, domain)
|
||||
edit_profile_form += \
|
||||
edit_check_box(translate['Keep DMs during post expiry'],
|
||||
'expiryKeepDMs', keep_dms)
|
||||
|
||||
edit_profile_form += ' </div>\n'
|
||||
return edit_profile_form
|
||||
|
|
Loading…
Reference in New Issue