本地实现records和tablib

This commit is contained in:
JrD
2020-08-29 00:42:02 +08:00
parent 6c79a8167e
commit 160d6e8af3
8 changed files with 1123 additions and 5 deletions
+28
View File
@@ -0,0 +1,28 @@
""" Tablib - formats
"""
from collections import OrderedDict
from .format import JSONFormat, CSVFormat
class Registry:
_formats = OrderedDict()
def register(self, key, format_or_path):
# Create Databook.<format> read or read/write properties
# Create Dataset.<format> read or read/write properties,
# and Dataset.get_<format>/set_<format> methods.
self._formats[key] = format_or_path
def register_builtins(self):
# Registration ordering matters for autodetection.
self.register('csv', CSVFormat())
self.register('json', JSONFormat())
def get_format(self, key):
if key not in self._formats:
raise Exception("OneForAll has no format '%s'." % key)
return self._formats[key]
registry = Registry()