def on_release_selected(update: Update, context: CallbackContext): logger.info('%d: user selected the release from the keyboard', update.effective_user.id) release_match = re.search(r'^(\d+)\.\s.*', update.message.text) if not release_match: # user changed his query return search_release(update, WAITING_RELEASE) release_id = release_match.group(1) release = db.release_by_id(release_id, as_dict=True) forum_url = 'http://forum.tntvillage.scambioetico.org/index.php?showtopic={}'.format(release['topic']) release_string = Strings.RELEASE.format( titolo=utils.html_escape(release['titolo']), descrizione=utils.html_escape(release['descrizione']), dimensione=utils.human_readable_size(release['dimensione']), autore=utils.html_escape(release['autore']), categoria=CATEGORIE[release['categoria']], data=release['data'], magnet='magnet:?xt=urn:btih:{}'.format(release['hash']) # forum_url=forum_url, # webarchive_url='https://web.archive.org/web/{}'.format(forum_url) ) reply_markup = InlineKeyboard.forum_urls(forum_url, 'https://web.archive.org/web/{}'.format(forum_url)) update.message.reply_html(release_string, disable_web_page_preview=True, reply_markup=reply_markup) return WAITING_RELEASE
def on_collapse_button(update: Update, context: CallbackContext): logger.info('%d: collapse button', update.effective_user.id) release_id = context.match[1] release = db.release_by_id(release_id) update.callback_query.edit_message_text( Strings.RELEASE.format(**release), disable_web_page_preview=True, reply_markup=InlineKeyboard.release_info(release_id, release['webarchive_url']), parse_mode=ParseMode.HTML) update.callback_query.answer(Strings.CB_ANSWER_COLLAPSED)
def on_expand_magnet_button(update: Update, context: CallbackContext): logger.info('%d: magnet with trackers button', update.effective_user.id) release_id = context.match[1] release = db.release_by_id(release_id) reply_markup = InlineKeyboard.collapse_magnet_button(release_id) update.callback_query.edit_message_text(MAGNET_TEXT.format( hash=release['hash'], trackers_list='&tr='.join(TRACKERS)), disable_web_page_preview=True, reply_markup=reply_markup, parse_mode=ParseMode.HTML) update.callback_query.answer(Strings.CB_ANSWER_TRACKERS)
def on_release_selected(update: Update, _): logger.info('%d: user selected the release from the keyboard', update.effective_user.id) release_match = re.search(r'^(\d+)\.\s.*', update.message.text) if not release_match: # user changed his query return search_release(update, WAITING_RELEASE) release_id = release_match.group(1) release = db.release_by_id(release_id) release_string = Strings.RELEASE.format(**release) reply_markup = InlineKeyboard.release_info(release_id, release['webarchive_url']) update.message.reply_html(release_string, disable_web_page_preview=True, reply_markup=reply_markup) return WAITING_RELEASE