refactor: excel parse

This commit is contained in:
Blizzard
2026-04-16 10:01:11 +08:00
parent 680ecc320f
commit f62f95ec02
7941 changed files with 2899112 additions and 0 deletions
@@ -0,0 +1,36 @@
"""Logging helper classes."""
import logging
class FieldSkipLogFilter(logging.Filter):
"""Filter field skip log messages.
At most, one message per field skipped per loop will be passed.
"""
def __init__(self, name=''):
super().__init__(name)
self.seen_msgs = set()
def filter(self, record):
"""Pass record if not seen."""
msg = record.getMessage()
if msg.startswith("Skipping field"):
retval = msg not in self.seen_msgs
self.seen_msgs.add(msg)
return retval
else:
return 1
class LogFiltering:
def __init__(self, logger, filter):
self.logger = logger
self.filter = filter
def __enter__(self):
self.logger.addFilter(self.filter)
def __exit__(self, *args, **kwargs):
self.logger.removeFilter(self.filter)