More fixes to logging and disabled tests
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
# along with OCRmyPDF. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
@@ -459,14 +460,18 @@ debugging.add_argument(
|
||||
action='store_true',
|
||||
help="Keep temporary files (helpful for debugging)",
|
||||
)
|
||||
# debugging.add_argument(
|
||||
# '--flowchart', type=str, help="Generate the pipeline execution flowchart"
|
||||
# )
|
||||
|
||||
|
||||
def run(args=None):
|
||||
options = parser.parse_args(args=args)
|
||||
return run_pipeline(options)
|
||||
|
||||
log = logging.getLogger()
|
||||
console = logging.StreamHandler(stream=sys.stderr)
|
||||
console.setLevel(logging.DEBUG)
|
||||
log.addHandler(console)
|
||||
|
||||
result = run_pipeline(options)
|
||||
return result
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -36,7 +36,7 @@ class PDFContext:
|
||||
self.name = 'origin.pdf'
|
||||
if self.name == '-':
|
||||
self.name = 'stdin'
|
||||
self.log = get_logger(options, '%s: ' % self.name)
|
||||
self.log = get_logger(options, filename=self.name)
|
||||
|
||||
def get_path(self, name):
|
||||
return os.path.join(self.work_folder, name)
|
||||
@@ -56,7 +56,7 @@ class PageContext:
|
||||
self.pageno = pageno
|
||||
self.pageinfo = pdf_context.pdfinfo[pageno]
|
||||
self.log = get_logger(
|
||||
pdf_context.options, '%s Page %d: ' % (pdf_context.name, pageno + 1)
|
||||
pdf_context.options, filename=self.pdf_context.name, page=(self.pageno + 1)
|
||||
)
|
||||
|
||||
def get_path(self, name):
|
||||
@@ -73,5 +73,31 @@ def cleanup_working_files(work_folder, options):
|
||||
shutil.rmtree(work_folder)
|
||||
|
||||
|
||||
def get_logger(options=None, prefix=''):
|
||||
return logging.getLogger(prefix)
|
||||
class LogNameAdapter(logging.LoggerAdapter):
|
||||
def process(self, msg, kwargs):
|
||||
return '[%s] %s' % (self.extra['filename'], msg), kwargs
|
||||
|
||||
|
||||
class LogNamePageAdapter(logging.LoggerAdapter):
|
||||
def process(self, msg, kwargs):
|
||||
return (
|
||||
'[%s:%05u] %s' % (self.extra['filename'], self.extra['page'], msg),
|
||||
kwargs,
|
||||
)
|
||||
|
||||
|
||||
def get_logger(options=None, prefix='ocrmypdf', filename=None, page=None):
|
||||
log = logging.getLogger(prefix)
|
||||
if filename and page:
|
||||
adapter = LogNamePageAdapter(log, dict(filename=filename, page=page))
|
||||
elif filename:
|
||||
adapter = LogNameAdapter(log, dict(filename=filename))
|
||||
else:
|
||||
adapter = log
|
||||
if options.quiet:
|
||||
log.setLevel(logging.ERROR)
|
||||
elif options.verbose >= 2:
|
||||
log.setLevel(logging.DEBUG)
|
||||
else:
|
||||
log.setLevel(logging.INFO)
|
||||
return adapter
|
||||
|
||||
Reference in New Issue
Block a user