Skip to content

Commit 46847c5

Browse files
committed
💄 Use loguru for logging/remove extra progress bars
Closes gh-42.
1 parent 308d243 commit 46847c5

File tree

3 files changed

+6
-13
lines changed

3 files changed

+6
-13
lines changed

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ tqdm
55
lxml
66
pyarrow
77
XlsxWriter
8+
loguru

src/mods4pandas/alto4pandas.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/usr/bin/env python3
22
import contextlib
33
import csv
4-
import logging
54
import os
65
import sqlite3
76
import warnings
87
from operator import attrgetter
98
from typing import List
109

1110
import click
11+
from loguru import logger
1212
from lxml import etree as ET
1313
from tqdm import tqdm
1414

@@ -21,8 +21,6 @@
2121
sorted_groupby,
2222
)
2323

24-
logger = logging.getLogger("alto4pandas")
25-
2624

2725
def alto_to_dict(alto, raise_errors=True):
2826
"""Convert ALTO metadata to a nested dictionary"""
@@ -151,8 +149,8 @@ def alto_to_dict(alto, raise_errors=True):
151149
def walk(m):
152150
# XXX do this in mods4pandas, too
153151
if os.path.isdir(m):
154-
tqdm.write(f"Scanning directory {m}")
155-
for f in tqdm(os.scandir(m), leave=False):
152+
logger.info(f"Scanning directory {m}")
153+
for f in os.scandir(m):
156154
if f.is_file() and not f.name.startswith("."):
157155
yield f.path
158156
elif f.is_dir():
@@ -247,8 +245,6 @@ def process(alto_files: List[str], output_file: str):
247245

248246

249247
def main():
250-
logging.basicConfig(level=logging.INFO)
251-
252248
for prefix, uri in ns.items():
253249
ET.register_namespace(prefix, uri)
254250

src/mods4pandas/mods4pandas.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
#!/usr/bin/env python3
22
import contextlib
33
import csv
4-
import logging
54
import os
65
import sqlite3
76
import warnings
87
from operator import attrgetter
98
from typing import Dict, List
109

1110
import click
11+
from loguru import logger
1212
from lxml import etree as ET
1313
from tqdm import tqdm
1414

@@ -22,8 +22,6 @@
2222
sorted_groupby,
2323
)
2424

25-
logger = logging.getLogger("mods4pandas")
26-
2725

2826
def mods_to_dict(mods, raise_errors=True):
2927
"""Convert MODS metadata to a nested dictionary"""
@@ -603,7 +601,7 @@ def process(mets_files: list[str], output_file: str, output_page_info: str, mets
603601
with open(output_file + ".warnings.csv", "w") as csvfile:
604602
csvwriter = csv.writer(csvfile)
605603
logger.info("Processing METS files")
606-
for mets_file in tqdm(mets_files_real, leave=True):
604+
for mets_file in tqdm(mets_files_real, leave=False):
607605
try:
608606
root = ET.parse(mets_file).getroot()
609607
mets = root # XXX .find('mets:mets', ns) does not work here
@@ -665,8 +663,6 @@ def process(mets_files: list[str], output_file: str, output_page_info: str, mets
665663

666664

667665
def main():
668-
logging.basicConfig(level=logging.INFO)
669-
670666
for prefix, uri in ns.items():
671667
ET.register_namespace(prefix, uri)
672668

0 commit comments

Comments
 (0)