Using index for captions

This commit is contained in:
Profitroll 2022-08-11 10:10:35 +02:00
parent 42257304fa
commit 4075ddf4a3
3 changed files with 27 additions and 11 deletions

View File

@ -21,7 +21,6 @@
"index": "data/index.json", "index": "data/index.json",
"submit": "data/submit.json", "submit": "data/submit.json",
"blocked": "data/blocked.json", "blocked": "data/blocked.json",
"captions": "data/captions.json",
"locale": "locale" "locale": "locale"
}, },
"posting": { "posting": {

View File

@ -1 +0,0 @@
{}

36
main.py
View File

@ -112,25 +112,40 @@ def send_content():
app.send_message(configGet("admin", "reports"), locale("post_empty", "message", locale=configGet("locale"))) # type: ignore app.send_message(configGet("admin", "reports"), locale("post_empty", "message", locale=configGet("locale"))) # type: ignore
return return
index = jsonLoad(configGet("index", "locations"))
if candidate_file in index["captions"]:
caption = index["captions"][candidate_file]
else:
caption = ""
if configGet("enabled", "caption"):
if configGet("link", "caption") != None:
caption = f"{caption}\n\n[{configGet('text', 'caption')}]({configGet('link', 'caption')})"
else:
caption = f"{caption}\n\n{configGet('text', 'caption')}"
else:
caption = caption
if ext_type == "photo": # type: ignore if ext_type == "photo": # type: ignore
if configGet("enabled", "caption"): if configGet("enabled", "caption"):
if configGet("link", "caption") != None: if configGet("link", "caption") != None:
sent = app.send_photo(configGet("channel", "posting"), candidate, caption=f"[{configGet('text', 'caption')}]({configGet('link', 'caption')})", disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
else: else:
sent = app.send_photo(configGet("channel", "posting"), candidate, caption=configGet('text', 'caption'), disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
else: else:
sent = app.send_photo(configGet("channel", "posting"), candidate, disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_photo(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
elif ext_type == "video": # type: ignore elif ext_type == "video": # type: ignore
if configGet("enabled", "caption"): if configGet("enabled", "caption"):
if configGet("link", "caption") != None: if configGet("link", "caption") != None:
sent = app.send_video(configGet("channel", "posting"), candidate, caption=f"[{configGet('text', 'caption')}]({configGet('link', 'caption')})", disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
else: else:
sent = app.send_video(configGet("channel", "posting"), candidate, caption=configGet('text', 'caption'), disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
else: else:
sent = app.send_video(configGet("channel", "posting"), candidate, disable_notification=configGet("silent", "posting")) # type: ignore sent = app.send_video(configGet("channel", "posting"), candidate, caption=caption, disable_notification=configGet("silent", "posting")) # type: ignore
list_sent["sent"].append(candidate_file) list_sent["sent"].append(candidate_file)
jsonSave(list_sent, configGet("index", "locations")) jsonSave(list_sent, configGet("index", "locations"))
@ -224,7 +239,9 @@ def get_submission(_, msg):
if msg.caption != None: if msg.caption != None:
caption = str(msg.caption) caption = str(msg.caption)
buttons[0].append( buttons[0].append(
InlineKeyboardButton(text=locale("sub_yes_caption", "button", locale=configGet("locale")), callback_data=f"sub_yes_{msg.from_user.id}_{msg.id}_caption"), InlineKeyboardButton(text=locale("sub_yes_caption", "button", locale=configGet("locale")), callback_data=f"sub_yes_{msg.from_user.id}_{msg.id}_caption")
)
buttons[0].append(
InlineKeyboardButton(text=locale("sub_no", "button", locale=configGet("locale")), callback_data=f"sub_no_{msg.from_user.id}_{msg.id}") InlineKeyboardButton(text=locale("sub_no", "button", locale=configGet("locale")), callback_data=f"sub_no_{msg.from_user.id}_{msg.id}")
) )
else: else:
@ -262,8 +279,9 @@ def callback_query_yes(app, clb): # type: ignore
try: try:
media = app.download_media(submission, file_name=configGet("queue", "locations")+os.sep) media = app.download_media(submission, file_name=configGet("queue", "locations")+os.sep)
if clb.data.endswith("_caption"): if clb.data.endswith("_caption"):
captions = jsonLoad(configGet("captions", "locations")) index = jsonLoad(configGet("index", "locations"))
captions[Path(media).name] = submission.caption index["captions"][Path(media).name] = submission.caption
jsonSave(index, configGet("index", "locations"))
except: except:
clb.answer(text=locale("sub_media_unavail", "message", locale=user_locale), show_alert=True) clb.answer(text=locale("sub_media_unavail", "message", locale=user_locale), show_alert=True)
return return