def split_pdf(update: Update, context: CallbackContext) -> int: result = check_back_user_data(update, context) if result is not None: return result _ = set_lang(update, context) message = update.effective_message split_range = message.text if not PageRange.valid(split_range): message.reply_text( _( "The range is invalid. Try again", reply_markup=get_back_markup(update, context), )) return WAIT_SPLIT_RANGE message.reply_text(_("Splitting your PDF file"), reply_markup=ReplyKeyboardRemove()) with tempfile.NamedTemporaryFile() as tf: user_data = context.user_data file_id, file_name = user_data[PDF_INFO] pdf_reader = open_pdf(update, context, file_id, tf.name) if pdf_reader is not None: merger = PdfFileMerger() merger.append(pdf_reader, pages=PageRange(split_range)) write_send_pdf(update, context, merger, file_name, "split") # Clean up memory if user_data[PDF_INFO] == file_id: del user_data[PDF_INFO] return ConversationHandler.END
def test_str_init_error(): init_str = "1-2" assert PageRange.valid(init_str) is False with pytest.raises(ParseError) as exc: PageRange(init_str) assert exc.value.args[0] == "1-2"
def test_str_init_error(): init_str = "1-2" assert PageRange.valid(init_str) is False with pytest.raises(ParseError): PageRange(init_str)