コード例 #1
0
 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
コード例 #2
0
    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})
コード例 #3
0
    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})
コード例 #4
0
    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})
コード例 #5
0
 def update_receipt(receipt_id):
     lite.DbDataUpdater.update_field(tables.get_table_name(TableType.RECEIPTS),
                                     'status',
                                     lite.ReceiptStatus.CORRECTED.value,
                                     receipt_id)
コード例 #6
0
 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')