def __init__(self, name=None, column_name=None, desc=None): """Form a metric. Keyword arguments: :name: A succint name of the metric (e.g., 'Flesch index'). If no name is provided, the class name is used. (default None) :table_name: The name of the column in the table corresponding to the category of this metric in coh_user_data. If no value is specified, Coh-Metrix-Port will check whether 'name' is a valid table name; if so, 'name' is used as the table name. (default None) :desc: A longer description of the metric. Used for UI purposes. (default None) """ if name is None and hasattr(self.__class__, 'name'): name = self.__class__.name if column_name is None and hasattr(self.__class__, 'column_name'): column_name = self.__class__.column_name if name is None: name = self.__class__.__name__ self.name = name if column_name is None: if is_valid_id(name): column_name = name else: raise ValueError('No valid column name provided.') self.column_name = column_name if desc is None: desc = self.__doc__ self.desc = desc
def register(self, suffix, hook, pinned=False): """Register a new resource. Required arguments: :suffix: A string identifying the resource type. :hook: The method that, when called, generates the resource data. Optional arguments: :pinned: True if the resource should be pinned in the cache. :returns: None. """ if suffix in self._hooks: logger.warning("Resource \"%s\" already registered.", suffix) if pinned: self._pinned.add(suffix) self._hooks[suffix] = hook if is_valid_id(suffix): setattr(self, suffix, lambda *args: self.get(suffix, *args))
def __init__(self, metrics=None, name=None, table_name=None, desc=None): """Form a category. Keyword arguments: :name: A succint name of the category (e.g., 'Basic Counts'). If no name is provided, the class name is used. (default None). :table_name: The name of the table in coh_user_data that contains the values of this category on the users's texts. If no value is specified, Coh-Metrix-Port will check whether 'name' is a valid table name; if so, 'name' is used as the table name. (default None) :desc: A longer description of the category. Used for UI purposes. If no value is passed, the docstring of the class is used. (default None) """ self.metrics = metrics if name is None and hasattr(self.__class__, 'name'): name = self.__class__.name if table_name is None and hasattr(self.__class__, 'table_name'): table_name = self.__class__.table_name if name is None: name = self.__class__.__name__ self.name = name if table_name is None: if is_valid_id(name): table_name = name else: raise ValueError('No valid table name provided.') self.table_name = table_name if desc is None: desc = self.__doc__ self.desc = desc