Skip to content

Commit 6cacc5f

Browse files
committed
v0.3.23 adds custom formatters to file dumper
1 parent c1380b4 commit 6cacc5f

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

dataflows/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.22
1+
0.3.23

dataflows/processors/dumpers/file_dumper.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ def __init__(self, options: dict):
3434
self.temporal_format_property = options.pop('temporal_format_property', None)
3535
self.use_titles = options.pop('use_titles', False)
3636
self.writer_options = options.pop('options', dict())
37+
self.custom_formatters = options.pop('file_formatters', dict())
3738

3839
def process_datapackage(self, datapackage):
3940
datapackage = \
@@ -49,14 +50,14 @@ def process_datapackage(self, datapackage):
4950
else:
5051
_, file_format = os.path.splitext(resource.source)
5152
file_format = file_format[1:]
52-
file_formatter = {
53+
file_formatter = self.custom_formatters.get(file_format) or {
5354
'csv': CSVFormat,
5455
'json': JSONFormat,
5556
'geojson': GeoJSONFormat,
5657
'excel': ExcelFormat,
5758
'xlsx': ExcelFormat,
5859
}.get(file_format)
59-
if file_format is not None:
60+
if file_formatter is not None:
6061
self.file_formatters[resource.name] = file_formatter
6162
self.file_formatters[resource.name].prepare_resource(resource)
6263
resource.commit()

0 commit comments

Comments
 (0)