示例#1
0
    def __init__(self, args):
        self.args = args
        self.logger = setup_logging(args.logfile)
        self.convert_storage = None

        self.server_actions_thread = None
        self.stop_input_thread = False
        self.input_task_queue = queue.Queue()
        self.ocr_tasks = dict()
        self.all_put_files_count = 0
        self.input_files_size = 0
        self.processed_files_size = 0
        self.failed_files_size = 0
        self.successful_get_requests = 0
        self.finished_ocr_tasks = 0
        self.hot_folder_path = None
        if sys.platform.startswith('win32'):
            self.hot_folder_path = self.get_hot_folder_path_from_running_tasks(
            )
            if self.hot_folder_path is None:
                raise Exception("cannot find running HotFolder.exe")

        self.file_garbage_collection_timestamp = 0
        self.self_server_ping_timestamp = 0
        self.ocr_queue_is_empty_last_time_stamp = time.time()
        self.got_ocred_file_last_time_stamp = time.time()
        self.http_server_is_working = False
        self.convert_storage = TConvertStorage(self.logger, args.db_json,
                                               args.user_bin_file_size)
        self.continuous_winword_failures_count = 0
        if args.clear_json:
            self.convert_storage.clear_database()
        self.create_folders()
        host, port = self.args.server_address.split(":")
        super().__init__((host, int(port)), THttpServerRequestHandler)
        if shutil.which("qpdf") is None:
            msg = "cannot find qpdf, sudo apt install qpdf"
            self.logger.error(msg)
            raise Exception(msg)
        if shutil.which("pdfcrack") is None:
            msg = "cannot find pdfcrack\nsee https://sourceforge.net/projects/pdfcrack/files/"
            self.logger.error(msg)
            raise Exception(msg)
        self.send_to_telegram("conversion server started on {}".format(
            self.args.server_address))
示例#2
0

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--db-json", dest='db_json', required=True)
    parser.add_argument("--file-no", dest='file_no', type=int)
    parser.add_argument("--fix-file-offset",
                        dest='fix_file_offset',
                        action="store_true",
                        default=False)
    parser.add_argument("--disable-converted-storage-check",
                        dest='check_converted_storage',
                        action="store_false",
                        default=True)
    parser.add_argument("--disable-input-file-storage-check",
                        dest='check_input_file_storage',
                        action="store_false",
                        default=True)
    return parser.parse_args()


if __name__ == '__main__':
    args = parse_args()
    logger = setup_logging(log_file_name="check_snowball.log")
    convert_storage = TConvertStorage(logger, args.db_json)
    convert_storage.check_storage(
        args.file_no,
        fix_file_offset=args.fix_file_offset,
        check_converted_storage=args.check_converted_storage,
        check_input_file_storage=args.check_input_file_storage)