27 lines
659 B
Python
27 lines
659 B
Python
"""
|
|
This file contains the defition of the base Dataset class.
|
|
"""
|
|
|
|
class DatasetRegistration(type):
|
|
"""
|
|
Metaclass for registering different datasets
|
|
"""
|
|
def __init__(cls, name, bases, nmspc):
|
|
super().__init__(name, bases, nmspc)
|
|
if not hasattr(cls, 'registry'):
|
|
cls.registry = dict()
|
|
cls.registry[name] = cls
|
|
|
|
# Metamethods, called on class objects:
|
|
def __iter__(cls):
|
|
return iter(cls.registry)
|
|
|
|
def __str__(cls):
|
|
return str(cls.registry)
|
|
|
|
class Dataset(metaclass=DatasetRegistration):
|
|
"""
|
|
Base Dataset class
|
|
"""
|
|
def __init__(self, *args, **kwargs):
|
|
pass |