コード例 #1
0
ファイル: _bootstrapfields.py プロジェクト: grodniewicz/oship
    def __eq__(self, other):
        # should be the same type
        if type(self) != type(other):
            return False

        # should have the same properties
        names = {} # used as set of property names, ignoring values
        for interface in providedBy(self):
            names.update(getFields(interface))

        # order will be different always, don't compare it
        if 'order' in names:
            del names['order']
        for name in names:
            if getattr(self, name) != getattr(other, name):
                return False
        return True
コード例 #2
0
    def __eq__(self, other):
        # should be the same type
        if type(self) != type(other):
            return False

        # should have the same properties
        names = {}  # used as set of property names, ignoring values
        for interface in providedBy(self):
            names.update(getFields(interface))

        # order will be different always, don't compare it
        if 'order' in names:
            del names['order']
        for name in names:
            if getattr(self, name) != getattr(other, name):
                return False
        return True
コード例 #3
0
ファイル: models.py プロジェクト: stephenbee/lqn-demo
 def to_dict(self):
     data = {}
     for interface in providedBy(self):
         for key in getFields(interface).keys():
             data[key] = getattr(self, key)
     return data