示例#1
0
class Thread(BaseModel):
    # XXX threading simplest model, most data are only in index
    user_id = columns.Text(primary_key=True)
    thread_id = columns.Integer(primary_key=True)  # counter.thread_id
    date_insert = columns.DateTime()
    security_level = columns.Integer()
    subject = columns.Text()
示例#2
0
class IndexedTestModel(Model):
    __keyspace__ = 'test'
    test_id = columns.Integer(primary_key=True)
    attempt_id = columns.Integer(index=True)
    description = columns.Text()
    expected_result = columns.Integer()
    test_result = columns.Integer(index=True)
示例#3
0
class UserFollowing(MBase):
    """
    A user follows another user
    """
    user_id = columns.Integer(primary_key=True)
    following_id = columns.Integer(primary_key=True)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
示例#4
0
class ProjectFollower(MBase):
    """
    A user following a project
    """
    project_id = columns.Integer(primary_key=True)
    user_id = columns.Integer(primary_key=True)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
示例#5
0
 class NonEqualityFilteringModel(Model):
     __keyspace__ = 'test'
     example_id = columns.UUID(primary_key=True, default=uuid.uuid4)
     sequence_id = columns.Integer(
         primary_key=True)  # sequence_id is a clustering key
     example_type = columns.Integer(index=True)
     created_at = columns.DateTime()
示例#6
0
文件: models.py 项目: thinkbox/Feedly
class Activity(BaseActivity):
    actor = columns.Integer(required=False)
    extra_context = columns.Bytes(required=False)
    object = columns.Integer(required=False)
    target = columns.Integer(required=False)
    time = columns.DateTime(required=False)
    verb = columns.Integer(required=False)
示例#7
0
class TestModel(Model):

    test_id = columns.Integer(primary_key=True)
    attempt_id = columns.Integer(primary_key=True)
    description = columns.Text()
    expected_result = columns.Integer()
    test_result = columns.Integer()
示例#8
0
class MessageLookup(BaseModel):
    """Reverse index for external message id"""
    user_id = columns.Text(primary_key=True)
    external_id = columns.Text(primary_key=True)
    message_id = columns.Integer()
    thread_id = columns.Integer()
    offset = columns.Integer()
示例#9
0
class Discussion(MBase):
    id = columns.BigInt(primary_key=True)
    title = columns.Text(required=True)
    slug = columns.Text(required=True, index=True)
    user_id = columns.Integer(index=True)
    users = columns.Set(value_type=columns.Integer)
    post_id = columns.BigInt()
    last_message = columns.BigInt()
    published_at = columns.BigInt(default=unix_time(dt.utcnow()))
    topic_id = columns.Integer(required=False, index=True)

    def to_dict(self):
        return {
            'id': unicode(self.id),
            'title': self.title,
            'slug': self.slug,
            'user_id': self.user_id,
            'post_id': unicode(self.post_id),
            'last_message': unicode(self.last_message),
            'published_at': epoch_to_date(self.published_at),
            'topic_id': unicode(self.topic_id) if self.topic_id is not None else None,
        }

    @property
    def published_date(self):
        return epoch_to_date(self.published_at*1000)

    @property
    def published_date_str(self):
        d = epoch_to_date(self.published_at*1000)
        return d.strftime("%y%m%d %H%M%S")
示例#10
0
class UserFollower(MBase):
    """
    Followers of a user
    """
    user_id = columns.Integer(primary_key=True)
    follower_id = columns.Integer(primary_key=True)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
示例#11
0
class RRule(BaseModel):
    """Recurrence Rule"""
    user_id = columns.Text(primary_key=True)  # partition key
    rrule_id = columns.UUID(primary_key=True, default=uuid.uuid4)
    type = columns.Text()
    occurrence = columns.Integer(default=1)
    value = columns.Integer()
    events = columns.List(columns.UUID)
示例#12
0
class Comment(Model):
    object_id       = columns.UUID(primary_key = True)
    id              = columns.TimeUUID(primary_key = True, default=uuid1, clustering_order="desc")
    author          = columns.Text(primary_key=True)
    created_at      = columns.DateTime(default=datetime.datetime.now())
    updated_at      = columns.DateTime()
    view_count      = columns.Integer(default=0)
    like_count      = columns.Integer(default=0)
    body	        = columns.Text()
示例#13
0
class FilterRule(BaseModel):
    user_id = columns.Text(primary_key=True)
    rule_id = columns.Integer(primary_key=True)  # counter.rule_id
    date_insert = columns.DateTime()
    name = columns.Text()
    filter_expr = columns.Text()
    position = columns.Integer()
    stop_condition = columns.Integer(default=None)
    tags = columns.List(columns.Text)
示例#14
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)
示例#15
0
class Activity(Model):
    # partition key (1 row per user_id)
    feed_id = columns.Text(primary_key=True)
    # clustering key (used for sorting)
    activity_id = VarInt(primary_key=True)
    actor = columns.Integer(required=False)
    extra_context = columns.Bytes(required=False)
    object = columns.Integer(required=False)
    target = columns.Integer(required=False)
    time = columns.DateTime(required=False)
    verb = columns.Integer(required=False)
示例#16
0
class geo_tweet(Model):

    tweet_id = columns.UUID(primary_key=True, default=uuid.uuid4)
    created_at_year = columns.Integer(primary_key=True)
    created_at_month = columns.Integer(primary_key=True)
    created_at_day = columns.Integer(primary_key=True)
    created_at_time = columns.Integer(primary_key=True)
    status = columns.Text(required=True)
    hashtags = columns.Set(columns.Text())
    author_user_name = columns.Text()
    author_image = columns.Text()
示例#17
0
class Message(BaseModel):
    user_id = columns.Text(primary_key=True)
    message_id = columns.Integer(primary_key=True)  # counter.message_id
    thread_id = columns.Integer()  # counter.thread_id
    message_type = columns.Text()
    date_insert = columns.DateTime()
    security_level = columns.Integer()
    subject = columns.Text()  # Subject of email, the message for short
    external_message_id = columns.Text()
    external_parent_id = columns.Text()
    tags = columns.List(columns.Text)
    flags = columns.List(columns.Text)  # Seen, Recent, Deleted, ... IMAP?
示例#18
0
class Photo(Content):
    __polymorphic_key__ = 'photo'
    # objectid is the id of a container: photo album, blog post or status update
    object_id		= columns.TimeUUID(required = True, index=True)
    caption			= columns.Text(required = False)
    data     		= columns.Bytes(required = False)
    url_original    = columns.Text(required = True)
    url_thumbnail   = columns.Text(required=False)
    location        = columns.Text(required=False)
    image_type      = columns.Text(required=False)
    filename        = columns.Text(required=False)
    width           = columns.Integer(required=False)
    height          = columns.Integer(required=False)
示例#19
0
class bid_table(Model):

    account_id = columns.BigInt(primary_key=True)
    ad_group_id = columns.BigInt(primary_key=True)
    bid_actions = columns.Float()
    bid_clicks = columns.Float()
    bid_impressions = columns.Float()
    bid_reach = columns.Float()
    bid_social = columns.Float()
    bid_type = columns.Text()
    target_max_age = columns.Integer()
    target_min_age = columns.Integer()
    target_gender = columns.Integer()
    target_country = columns.Text()
示例#20
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()))
class Sample(Model):
    id = columns.Integer(primary_key=True)
    # id = columns.TimeUUID(primary_key=True)
    sale = columns.Text()
    sales_amount_in_euro = columns.Text()
    time_delay_for_conversion = columns.Text()
    click_timestamp = columns.Text()
    nb_clicks_1week = columns.Text()
    product_price = columns.Text()
    product_age_group = columns.Text()
    device_type = columns.Text()
    audience_id = columns.Text()
    product_gender = columns.Text()
    product_brand = columns.Text()
    product_category_1 = columns.Text()
    product_category_2 = columns.Text()
    product_category_3 = columns.Text()
    product_category_4 = columns.Text()
    product_category_5 = columns.Text()
    product_category_6 = columns.Text()
    product_category_7 = columns.Text()
    product_country = columns.Text()
    product_id = columns.Text()
    product_title = columns.Text()
    partner_id = columns.Text()
    user_id = columns.Text()
    predicted = columns.Text()
    probabilities = columns.List(columns.Float)
示例#22
0
class DiscussionFollower(MBase):
    """
    Users who follows a discussion
    """
    disc_id = columns.BigInt(primary_key=True)
    user_id = columns.Integer(primary_key=True)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
示例#23
0
class Topic(MBase):
    id = columns.Integer(primary_key=True)
    slug = columns.Text()
    name = columns.Text()
    description = columns.Text()
    last_message_id = columns.BigInt(required=False)
    last_message_time = columns.BigInt(default=unix_time(dt.utcnow()))
    main_topic = columns.Boolean(default=False)
    parent_topic = columns.Integer(required=False)
    subtopics = columns.Set(value_type=columns.Integer)

    def to_dict(self):
        return {
            'slug': self.slug,
            'name': self.name
        }
示例#24
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)
示例#25
0
class TestIfNotExistsModel(Model):

    __keyspace__ = 'cqlengine_test_lwt'

    id = columns.UUID(primary_key=True, default=lambda: uuid4())
    count = columns.Integer()
    text = columns.Text(required=False)
示例#26
0
class Users(Model):
  firstname = columns.Text()
  age = columns.Integer()
  city = columns.Text()
  email = columns.Text()
  lastname = columns.Text(primary_key=True)
  def __repr__(self):
    return 'user(firstname=%s, age=%d)' % (self.firstname, self.age)
示例#27
0
class PostVote(MBase):
    """
    All upvotes/downvotes sent to a post
    """
    post_id = columns.BigInt(primary_key=True, partition_key=True)
    user_id = columns.Integer(primary_key=True)
    positive = columns.Boolean(default=True)
    created_at = columns.BigInt(default=unix_time(dt.utcnow()))
        class LeveledCompactionChangesDetectionTest(Model):
            __keyspace__ = 'test'
            __compaction__ = LeveledCompactionStrategy
            __compaction_sstable_size_in_mb__ = 160
            __compaction_tombstone_threshold__ = 0.125
            __compaction_tombstone_compaction_interval__ = 3600

            pk = columns.Integer(primary_key=True)
示例#29
0
 class userbase2(Model):
     from cqlengine import columns
     from cqlengine.models import Model
     from cqlengine import connection
     from cqlengine.management import sync_table
     CASSANDRA_KEYSPACE = "playground"
     uid = columns.Integer(primary_key=True)
     reviewerID = columns.Text(primary_key=True)
     reviewerName = columns.Text()
示例#30
0
class joined_table(Model):
    account_id = columns.BigInt(primary_key=True)
    ad_group_id = columns.BigInt(primary_key=True)
    bid_type = columns.Text()
    clicks = columns.Float()
    cost_per_unique_click = columns.Float()
    cost_per_result = columns.Float()
    reach = columns.Integer()
    result_rate = columns.Float()
    date_start = columns.Text()