def __init__(self, path: str, recursive=False, worker_count=cpu_count() * 2, verbose=0) -> None:
"""
Create an OCyara object that can scan the specified directory or file and store the results.
Arguments:
path -- File or directory to be processed
Keyword Arguments:
recursive -- Whether the specified path should be recursivly searched for images (default False)
worker_count -- The number of worker processes that should be spawned when
run() is executed (default available CPU cores * 2)
verbose -- An int() from 0-2 that sets the verbosity level.
0 is default, 1 is information and 2 is debug
"""
self.path = path
self.recursive = recursive
self.q = JoinableQueue()
self.results = {}
self.threads = worker_count
self.lock = Lock()
self.workers = []
if os.path.isdir(self.path):
if self.path[-1] is '/':
self.path += '*'
else:
self.path += '/*'
self.manager = Manager()
self.matchedfiles = None
self.total_items_to_queue = None
self.total_added_to_queue = None
self.queue_items_completed = None
self.tempdir = tempfile.TemporaryDirectory()
handler = colorlog.StreamHandler()
handler.setFormatter(colorlog.ColoredFormatter(
'%(log_color)s%(levelname)s:%(name)s:%(message)s'))
self.logger = colorlog.getLogger('OCyara')
self.logger.addHandler(handler)
if verbose == 1:
self.logger.setLevel('INFO')
elif verbose > 1:
self.logger.setLevel('DEBUG')
else:
self.logger.setLevel('WARN')
评论列表
文章目录