Source code for pycif.utils.classes.datastreams

from types import MethodType

from .baseclass import Plugin


[docs]class DataStream(Plugin):
[docs] @classmethod def register_plugin(cls, name, version, module, subtype="", **kwargs): """Register a module for a plugin and version with possibly options Args: name (str): name of the plugin version (str): version of the plugin module (types.ModuleType): module defining the interface between pyCIF and the plugin plugin_type (str): type of plugin **kwargs (dictionary): default options for module """ super(DataStream, cls).register_plugin( name, version, module, plugin_type="datastream", subtype=subtype )
[docs] def initiate_template(self): super(DataStream, self).initiate_template( plg_type="datastream", default_functions={"write": True, "read": True, "fetch": False} )
# def initiate_template(self): # module = super(DataStream, self).initiate(plg_type="datastream") # # # Replacing auxiliary functions: # if hasattr(module, "write"): # self.write = MethodType(module.write, self) # # if hasattr(module, "read"): # self.read = MethodType(module.read, self) # # if hasattr(module, "fetch") and not hasattr(self, "fetch"): # self.fetch = MethodType(module.fetch, self)