def post_success_actions(self, file, tesseract_return): name_to_save = self.get_name_to_save(file) shutil.copy(file.name, 'data/received_images/' + name_to_save) db = lite.Db() db.execute("insert into " + tables.get_table_name(TableType.RECEIPTS) + " (name, oryginal_name) values ('" + name_to_save + "', '" + os.path.basename(file.name) + "')") inserted_id = db.last_id() command = "insert into " + \ tables.get_table_name(TableType.EXTRACTED_RECEIPTS_TEXTS_TABLE) + \ " (receipt_id, txt) values ('" + str(inserted_id) + "', ?)" db.get_cur().execute(command, (tesseract_return['stdout'],)) db.commit() db.close() return inserted_id
def handle(request_content, formatter): receipt_id = request_content['receipt_id'] try: receipt_status_ret = lite.DbDataGetter.get_field(tables.get_table_name(TableType.RECEIPTS), 'status', receipt_id) receipt_status = lite.ReceiptStatus(int(receipt_status_ret)) response_content = {'receipt_status': receipt_status.name} return formatter.format(ResponseErrorCode.OK, response_content) except lite.NotFoundInDbException: return formatter.format(ResponseErrorCode.RECEIPT_ID_NOT_FOUND, {'receipt_id': receipt_id})
def handle(request_content, formatter): receipt_id = request_content['receipt_id'] try: table_name = tables.get_table_name(TableType.EXTRACTED_RECEIPTS_TEXTS_TABLE) extracted_recepit_text = lite.DbDataGetter.get_field(table_name, 'txt', receipt_id, 'receipt_id') response_content = {'receipt_text': extracted_recepit_text} return formatter.format(ResponseErrorCode.OK, response_content) except lite.NotFoundInDbException: return formatter.format(ResponseErrorCode.RECEIPT_ID_NOT_FOUND, {'receipt_id': receipt_id})
def handle(request_content, formatter): receipt_id = request_content['receipt_id'] try: filename = lite.DbDataGetter.get_field(tables.get_table_name(TableType.RECEIPTS), 'name', receipt_id) table_name = tables.get_table_name(TableType.EXTRACTED_RECEIPTS_TEXTS_TABLE) extracted_receipt_text = lite.DbDataGetter.get_field(table_name, 'txt', receipt_id, 'receipt_id') filename = 'data/received_images/' + filename file_message_content = image.prepare_image_for_message(filename) response_content = { 'file': file_message_content, 'text': utils.b64encode(extracted_receipt_text) } return formatter.format(ResponseErrorCode.OK, response_content) except lite.NotFoundInDbException: return formatter.format(ResponseErrorCode.RECEIPT_ID_NOT_FOUND, {'receipt_id': receipt_id})
def update_receipt(receipt_id): lite.DbDataUpdater.update_field(tables.get_table_name(TableType.RECEIPTS), 'status', lite.ReceiptStatus.CORRECTED.value, receipt_id)
def update_text(receipt_id, text): lite.DbDataUpdater.update_field(tables.get_table_name(TableType.EXTRACTED_RECEIPTS_TEXTS_TABLE), 'txt', text, receipt_id, 'receipt_id')