Exemple #1
0
class User(BaseModel):
    user_id = columns.Text(primary_key=True)
    password = columns.Text(required=True)
    date_insert = columns.DateTime()
    first_name = columns.Text()
    last_name = columns.Text()
    params = columns.Map(columns.Text, columns.Text)
Exemple #2
0
 def test_instantiation_with_column_instance(self):
     """
     Tests that columns instantiated with a column instance work properly
     """
     column = columns.Map(columns.Text(min_length=100), columns.Integer())
     assert isinstance(column.key_col, columns.Text)
     assert isinstance(column.value_col, columns.Integer)
Exemple #3
0
class ThirdModel(Model):
    __table_name__ = 'first_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.UUID()
    third_key = columns.Text()
    # removed fourth key, but it should stay in the DB
    blah = columns.Map(columns.Text, columns.Text)
Exemple #4
0
class DailyClusterCounters(Model):
    __keyspace__ = config.get('cassandra', 'keyspace')
    __table_name__ = 'cluster_' + today.strftime('%m%d%Y')
    name = columns.Text(primary_key=True, partition_key=True)
    ts = columns.DateTime(primary_key=True)
    value = columns.Map(columns.Text, columns.BigInt)
    sample_id = columns.Text()
Exemple #5
0
class FourthModel(Model):
    __table_name__ = 'first_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.UUID()
    third_key = columns.Text()
    # removed fourth key, but it should stay in the DB
    renamed = columns.Map(columns.Text, columns.Text, db_field='blah')
class Events(Model):
    eventid = columns.Text(primary_key=True)
    url = columns.Text()
    title = columns.Text()
    description = columns.Text()
    start_time = columns.DateTime()
    stop_time = columns.DateTime()
    venue_id = columns.Text()
    venue_name = columns.Text()
    venue_address = columns.Text()
    city_name = columns.Text()
    region_name = columns.Text()
    postal_code = columns.Text()
    country_name = columns.Text()
    created = columns.DateTime()
    modified = columns.DateTime()
    links = columns.Map(columns.Text(), columns.Text())
    categories = columns.Set(columns.Text())
    tags = columns.Set(columns.Text())
    images = columns.Set(columns.Text())
    latitude = columns.Float()
    longitude = columns.Float()
    performers = columns.Set(columns.Text())

    def __repr__(self):
        return '%s %s' % (self.eventid, self.title)
Exemple #7
0
 def test_instantiation_with_column_class(self):
     """
     Tests that columns instantiated with a column class work properly
     and that the class is instantiated in the constructor
     """
     column = columns.Map(columns.Text, columns.Integer)
     assert isinstance(column.key_col, columns.Text)
     assert isinstance(column.value_col, columns.Integer)
Exemple #8
0
class TestQueryUpdateModel(Model):

    partition = columns.UUID(primary_key=True, default=uuid4)
    cluster = columns.Integer(primary_key=True)
    count = columns.Integer(required=False)
    text = columns.Text(required=False, index=True)
    text_set = columns.Set(columns.Text, required=False)
    text_list = columns.List(columns.Text, required=False)
    text_map = columns.Map(columns.Text, columns.Text, required=False)
Exemple #9
0
class MfcSummary(Model):
    __keyspace__ = config.get('cassandra', 'keyspace')
    __table_name__ = "test"
    mfcid = columns.Text()
    ip = columns.Text()
    type = columns.Text()
    name = columns.Text()
    ts = columns.DateTime(primary_key=True)
    value = columns.Map(columns.Text, columns.BigInt)
Exemple #10
0
class Contact(BaseModel):
    contact_id = columns.UUID(primary_key=True, default=uuid.uuid4)
    user_id = columns.Text(primary_key=True)
    first_name = columns.Text()
    last_name = columns.Text()
    date_insert = columns.DateTime()
    date_update = columns.DateTime()
    groups = columns.List(columns.Text)
    # Abstract everything else in a map
    infos = columns.Map(columns.Text, columns.Text)
Exemple #11
0
 def test_to_python(self):
     """ Tests that to_python of value column is called """
     column = columns.Map(JsonTestColumn, JsonTestColumn)
     val = {1: 2, 3: 4, 5: 6}
     db_val = column.to_database(val)
     assert db_val.value == {
         json.dumps(k): json.dumps(v)
         for k, v in val.items()
     }
     py_val = column.to_python(db_val.value)
     assert py_val == val
Exemple #12
0
class User(MBase):
    id = columns.Integer(primary_key=True)
    nick = columns.Text(required=True, index=True)
    extended = columns.Map(columns.Text, columns.Text)
    registered_at = columns.BigInt(default=unix_time(dt.utcnow()))
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))

    def to_dict(self):
        return {
            'id': self.id,
            'nick': self.nick,
            'properties': self.extended,
        }
Exemple #13
0
class Story(MBase):
    """
    A story is an event happened in the network.
    User A followed User B
    User A starred a project.
    User A posted a message.
    User A started a discussion
    User A mentioned User B in a post(message) - What to do for multiple mentions ?
    """
    id = columns.BigInt(primary_key=True)
    actor = columns.Integer(partition_key=True)
    type = columns.Integer(required=True)
    target = columns.BigInt()
    payload = columns.Map(columns.Ascii, columns.Ascii)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
Exemple #14
0
class TestMapModel(Model):

    partition = columns.UUID(primary_key=True, default=uuid4)
    int_map = columns.Map(columns.Integer, columns.UUID, required=False)
    text_map = columns.Map(columns.Text, columns.DateTime, required=False)
Exemple #15
0
class Post(MBase):
    id = columns.BigInt(index=True, primary_key=True)
    user_id = columns.Integer(required=True, index=True, partition_key=True)
    user_nick = columns.Text()
    text = columns.Text(required=True)
    html = columns.Text(required=False)

    reply_to_id = columns.BigInt()
    reply_to_uid = columns.Integer()
    reply_to_nick = columns.Text()

    ext_id = columns.Text()

    has_url = columns.Boolean()
    has_channel = columns.Boolean()

    # this post is either linked to a DISCUSSION or
    discussion_id = columns.BigInt()
    # CHANNEL or None
    channel_id = columns.Integer()

    spam = columns.Boolean(default=False)
    flagged = columns.Boolean(default=False)
    deleted = columns.Boolean(default=False)

    stats = columns.Map(columns.Ascii, columns.Integer)

    created_at = columns.BigInt(default=unix_time(dt.utcnow()))

    def to_dict(self):
        return {'id': unicode(self.id),
                'text': self.text,
                'html': self.html,
                'user_id': self.user_id,
                'reply_to_id': self.reply_to_id,
                'reply_to_uid': self.reply_to_uid,
                'reply_to_nick': self.reply_to_nick,
                'discussion_id': unicode(self.discussion_id) if self.discussion_id is not None else "",
                'discussion_name': unicode(self.discussion_name) if hasattr(self,"discussion_name") else "",
                'discussion_slug': unicode(self.discussion_slug) if hasattr(self,"discussion_slug") else "",
                'channel_id': self.channel_id,
                'spam': self.spam,
                'flagged': self.flagged,
                'deleted': self.deleted,
                'published_at': self.created_at,
                'ago': self.ago,
                'user': {'id': self.user_id, 'nick': self.user_nick},
                'stats': self.__dict__.get('statistics', {}),
                'upvoted': self.__dict__.get('upvoted', False)}

    @property
    def ago(self):
        if self.created_at is None:
            return "some time ago"
        result = int(int(int(time.time() - self.created_at)) / 60.0)
        abb = "m"

        if result > (60 * 24):
            result /= (60 * 24)
            abb = "d"

        if result > 60:
            result /= 60
            abb = "h"

        return "{}{} ago".format(result, abb)
 class userprofile9(Model):
     uid = columns.Integer(primary_key=True)
     reviewerid = columns.Text()
     reviewername = columns.Text()
     numofreviews = columns.Float()
     ratings = columns.Map(columns.Text, columns.Float)
Exemple #17
0
class testuserrepo(Model):
    username = columns.Text(primary_key=True)
    repo = columns.Map(columns.Text, columns.DateTime)

    def __repr__(self):
        return (self.username, self.repo)
Exemple #18
0
class User(MBase):
    id = columns.Integer(primary_key=True)
    nick = columns.Text(required=True, index=True)
    follower_count = columns.Counter
    following_count = columns.Counter
    extended = columns.Map(columns.Text, columns.Text)
Exemple #19
0
class TestCamelMapModel(Model):

    partition = columns.UUID(primary_key=True, default=uuid4)
    camelMap = columns.Map(columns.Text, columns.Integer, required=False)
Exemple #20
0
 class reviewerProfile(Model):
     reviewerID = columns.Text(primary_key=True)
     reviews = columns.Map(columns.Text, columns.Float)