class Match(DocumentBase):
    domains = fields.ListField(fields.StringField())
    keywords = fields.ListField(fields.StringField())

    def to_dict(self):
        return {
            'domains': self.domains,
            'keywords': self.keywords,
        }
Example #2
0
class NamedRestKeyCollection(models.DataFileCollection):
    config_collection_name = 'adsdata_test'
    foo = fields.StringField(_id=True)
    bar = fields.IntField()
    baz = fields.ListField(fields.StringField())
    restkey = 'baz'
    field_order = [foo, bar]
class Namespace(DocumentBase):
    name = fields.StringField()
    modified = fields.DateTimeField()
    interests = fields.ListField(fields.DocumentField(Interest))
    removed = fields.BoolField(default=False)

    def __unicode__(self):
        return u'<Namespace: %s>' % self.name
class Interest(DocumentBase):
    name = fields.StringField()
    modified = fields.DateTimeField()
    current = fields.DocumentField(InterestVersion)
    versions = fields.ListField(fields.DocumentField(InterestVersion))

    def to_dict(self):
        if self.current:
            return self.current.to_dict()
        return None
Example #5
0
class AggregatedCollection(models.DataFileCollection):
    config_collection_name = 'adsdata_test'
    foo = fields.StringField(_id=True)
    bar = fields.ListField(fields.StringField())
    aggregated = True
    field_order = [foo, bar]
    
    @classmethod
    def post_load_data(cls, *args, **kwargs):
        pass
class InterestVersion(DocumentBase):
    modified = fields.DateTimeField()
    duration = fields.IntField()
    threshold = fields.IntField()
    matches = fields.ListField(fields.DocumentField(Match))

    def to_dict(self):
        return {
            'duration': self.duration,
            'threshold': self.threshold,
            'matches': [m.to_dict() for m in self.matches],
        }
Example #7
0
 class CoerceCollection3(models.DataFileCollection):
     foo = fields.ListField(fields.IntField())
     bar = fields.SetField(fields.FloatField())
Example #8
0
 class CoerceCollection2(models.DataFileCollection):
     foo = fields.FloatField()
     bar = fields.ListField(fields.StringField())