Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
pyckles / pyckles.py
Size: Mime:
# -*- coding: utf-8 -*-

"""Main module."""
import abc

import six


@six.add_metaclass(abc.ABCMeta)
class Pycklet(object):
    def __init__(self):
        pass

    @abc.abstractmethod
    def frecklets(self):

        pass


class AutoPycklet(Pycklet):
    def __init__(self, var_names):

        self._var_names = var_names

    def frecklets(self):

        _vars = {}
        for v in self._var_names:
            val = getattr(self, v)
            if val is not None:
                _vars[v] = val

        return [{self.__class__.FRECKLET_ID: _vars}]