summaryrefslogtreecommitdiff
path: root/dealconvert/__init__.py
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-11-07 20:46:46 +0100
committeremkael <emkael@tlen.pl>2019-11-07 20:46:46 +0100
commit29c7e9fe2d7e2c6b6a67d7daf38b29c1a10f77a7 (patch)
treecf48737673fba9c5c616616b292af75a45c86b11 /dealconvert/__init__.py
parent6238c63a0aa244673b0a53dd00e829f687d808a3 (diff)
Unified way of dealing with format-specific arguments
Diffstat (limited to 'dealconvert/__init__.py')
-rw-r--r--dealconvert/__init__.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/dealconvert/__init__.py b/dealconvert/__init__.py
index 5158847..7bb1325 100644
--- a/dealconvert/__init__.py
+++ b/dealconvert/__init__.py
@@ -1,23 +1,24 @@
from .formats import *
class DealConverter(object):
- def __init__(self, input_file=None, jfr_only=False):
+ def __init__(self, input_file=None, **kwargs):
self.input = input_file
self.formats = {}
+ self.format_options = kwargs
if input_file is not None:
- self.parser = self.detect_format(self.input, jfr_only=jfr_only)
+ self.parser = self.detect_format(self.input)
def output(self, output_files):
deal_set = sorted(self.parser.parse(self.input), key=lambda d:d.number)
for output in output_files:
self.detect_format(output).output(output, deal_set, True)
- def detect_format(self, filename, interactive=True, jfr_only=False):
+ def detect_format(self, filename, interactive=True):
for deal_format in globals()['formats'].__all__:
if deal_format not in self.formats:
self.formats[deal_format] = getattr(
globals()[deal_format],
- deal_format.upper() + 'Format')(interactive, jfr_only)
+ deal_format.upper() + 'Format')(interactive, **self.format_options)
if self.formats[deal_format].match_file(filename):
return self.formats[deal_format]
raise RuntimeError('Unrecognized file extension: %s' % filename)