コード例 #1
0
 class Record(db.Entity):
     id = PrimaryKey(UUID, auto=True)
     start = Required(datetime)
     end = Optional(datetime)
     size = Optional(float)
     path = Optional(str)
     status = Optional(str)
     removed = Required(bool, default=False)
     archive = Optional('Archive')
コード例 #2
0
class Task(db.Entity):
    user_id = Required(int, size=64)
    chat_id = Required(int, size=64)
    owner_id = Required(int)
    title = Required(str)
    created = Required(datetime)
    done = Optional(datetime)
    due = Optional(datetime)
    description = Optional(str)
コード例 #3
0
class GlobalVariable(db.Entity):

    _table_ = 'global_variable'

    id = PrimaryKey(int, auto=True)
    project_id = Required(str)
    create_at = Required(datetime.datetime,
                         default=datetime.datetime.utcnow(),
                         index=True)
    update_at = Required(datetime.datetime,
                         default=datetime.datetime.utcnow(),
                         index=True)
    delete_at = Optional(datetime.datetime, nullable=True)
    metadata = Required(Json, index=True)
    data = Required(Json, index=True)
    user = Required(str)
    info = Optional(Json)

    @classmethod
    @db_session
    def update_global_variable(cls, project_id, metadata, data, user):
        obj = get(n for n in GlobalVariable
                  if n.project_id == project_id and n.delete_at == None)
        if obj:
            obj.data = data
            obj.metadata = metadata
            obj.user = user
            obj.update_at = datetime.datetime.utcnow()
        else:
            GlobalVariable(project_id=project_id,
                           metadata=metadata,
                           data=data,
                           user=user)

    @classmethod
    @db_session
    def get_global_metadata_variable(cls, project_id):
        obj = get(n for n in GlobalVariable
                  if n.project_id == project_id and n.delete_at == None)
        if obj:
            data = {'project_id': obj.project_id, 'metadata': obj.metadata}
            return data
        else:
            raise IsNotExist(title='全部变量不存在',
                             detail=f'repo id为{project_id}的全局变量不存在')

    @classmethod
    @db_session
    def get_global_variable(cls, project_id):
        obj = get(n for n in GlobalVariable
                  if n.project_id == project_id and n.delete_at == None)
        if obj:
            return obj.data
        else:
            raise IsNotExist(title='全部变量不存在',
                             detail=f'repo id为{project_id}的全局变量不存在')
コード例 #4
0
 class MarketRepresentativeRegistry(database.Entity):
     marketRepresentative = Required(MarketRepresentative)
     time = Required(datetime.datetime,
                     sql_type='TIMESTAMP WITH TIME ZONE',
                     default=datetime.datetime.now(datetime.timezone.utc))
     PrimaryKey(marketRepresentative, time)
     billed_energy_wh = Optional(int, size=64)
     billed_market_price_ce_mwh = Optional(int, size=64)
     cost_deviation_ce = Optional(int, size=64)
     absolute_deviation_ce = Optional(int, size=64)
コード例 #5
0
class Patient(db.Entity):
    """ Patient Table """
    id = PrimaryKey(int, auto=True)
    dni = Optional(int)
    name = Optional(str)
    lastname = Optional(str)
    secureid = Optional(str)
    email = Optional(str)
    turnos = Set('Agenda')
    medic = Set('Medic')
コード例 #6
0
ファイル: index.py プロジェクト: larroy/fusearch
 class Document(db.Entity):
     # url = pony.orm.core.Index(Required(str))
     url_sha = PrimaryKey(str)
     url = Required(str, unique=True)
     filename = Required(str)
     mtime = Required(int)
     content = Optional(LongStr)
     content_sha = Optional(str)
     tokens = Set("Token")
     tokfreq = Required(bytes)
コード例 #7
0
ファイル: fetchmodels.py プロジェクト: capnfabs/toto
class MusicBrainzDetails(db.Entity):
    searched_title = Required(str)
    searched_artist = Required(str)
    musicbrainz_id = Optional(str)
    musicbrainz_json = Optional(str)
    # Only use the DECISION_[whatever] entries
    match_decision_source = Required(str, index=True)

    # Make searching on this fast + make it unique
    composite_key(searched_title, searched_artist)
コード例 #8
0
class Coin(db.Entity):
    symbol = Required(str, unique=True)
    full_name = Optional(str)
    description = Optional(str)
    rank = Optional(int, default=0)
    is_valid = Required(int, default=1)
    ico_at = Optional(datetime)
    created_at = Required(datetime, sql_default='CURRENT_TIMESTAMP')
    marketcap_shots = Set('CoinMarketCapShot')
    yunbi_shots = Set('CoinYunbiShot')
コード例 #9
0
ファイル: wtdb.py プロジェクト: mz10/WebTest
class Test(db.Entity):
    """Jeden konkrétní test. """
    _table_ = "test"
    id = PrimaryKey(int, column="id_test", auto=True)
    jmeno = Required(unicode, 80)
    ucitel = Required("Ucitel")
    otazky_testu = Set("Otazka_testu")
    vysledky_testu = Set(Vysledek_testu)
    zobrazeno_od = Optional(datetime)
    zobrazeno_do = Optional(datetime)
コード例 #10
0
ファイル: history.py プロジェクト: Revou-js/GifReversingBot
class Gif(db.Entity):
    id = PrimaryKey(int, auto=True)
    origin_host = Required(GifHosts, reverse='origin_gifs')
    origin_id = Required(str)
    reversed_host = Required(GifHosts, reverse='reversed_gifs')
    reversed_id = Required(str)
    time = Required(date)
    nsfw = Optional(bool)
    total_requests = Optional(int)
    last_requested_date = Optional(date)
コード例 #11
0
class Project(db.Entity):
    # Project Information
    _table_ = 'project'
    uuid = PrimaryKey(uuid.UUID, default=uuid.uuid4)
    name = Required(str)
    tracker = Optional(
        Json)  # {'issue': {'id': 'UUID'}, 'case': {'id': 'UUID'}}
    project = Optional(Json)  # {'issue': {'key': ''}, 'case': {'key': ''}}
    status = Required(str, default='active')  # active, disable, delete
    sprints = Set('Sprint')
コード例 #12
0
ファイル: models.py プロジェクト: FrozRt/meeting_api
class Event(db.Entity, UpdateableMixin):
    title = Required(str, 512)
    description = Required(LongStr)
    text = Required(LongStr)
    start_date = Required(datetime)
    end_date = Required(datetime)
    address = Optional(LongStr)
    created = Optional(datetime, default=datetime.now)
    updated = Optional(datetime, default=datetime.now)
    event_members = Set('EventMembers')
コード例 #13
0
ファイル: __init__.py プロジェクト: kooksee/JDeploy
class Project(db.Entity):
    _table_ = 'Project'

    id = PrimaryKey(str)
    name = Required(str, unique=True)
    sub_name = Optional(str)
    description = Optional(str)
    host_group = Optional(str)
    host_names = Optional(str)
    tasks = Optional(str)
コード例 #14
0
class Product(db.Entity):
    id = PrimaryKey(int, auto=True)
    name = Required(str)
    categories = Set("Category")
    description = Optional(str)
    picture = Optional(buffer)
    price = Required(Decimal)
    quantity = Required(int)
    cart_items = Set("CartItem")
    order_items = Set("OrderItem")
コード例 #15
0
class ZuulBuild(db.Entity):
    _table_ = "zuul_build"
    buildset_id = Optional(ZuulBuildSet)
    uuid = Optional(str)
    job_name = Optional(str)
    result = Optional(str)
    start_time = Optional(datetime, 6)
    end_time = Optional(datetime, 6)
    voting = Optional(bool)
    log_url = Optional(str)
    node_name = Optional(str)

    @property
    def build_number(self):
        return self._get_build_number_from_log_url()

    @property
    def duration(self):
        if self.start_time and self.end_time:
            return self.end_time - self.start_time
        return None

    def _get_build_number_from_log_url(self):
        try:
            split_url = self.log_url.split('/')
            # there is another log_url format (on logs.contrail.juniper.net)
            # where element [-3] is never a int, but instead [-4] is
            if split_url[-3].isdigit():
                return int(split_url[-3])
            else:
                return int(split_url[-4])
        except (ValueError, IndexError):
            return None
コード例 #16
0
ファイル: models.py プロジェクト: FrozRt/meeting_api
class Person(db.Entity, UpdateableMixin):
    firstname = Required(str, 255)
    lastname = Required(str, 255)
    email = Required(str, 64, unique=True)
    phone = Optional(str, 32)
    created = Optional(datetime, default=datetime.now)
    updated = Optional(datetime, default=datetime.now)
    event_members = Set('EventMembers')

    def __str__(self):
        return f'{self.firstname} {self.lastname}'
コード例 #17
0
class User(db.Entity):
    telegram_id = Required(str)
    spotify_id = Optional(str)
    spotify_access_token = Optional(str)
    spotify_refresh_token = Optional(str)
    # modify_playback_state = Required(bool, default=False)
    # allowed_scopes = Required(List(str))

    @property
    def spotify(self) -> Spotify:
        return Spotify(self)
コード例 #18
0
class Category(db.Entity):
    """Категория товара"""
    title = Required(str, 50)
    description = Optional(LongStr)
    parent = Optional('Category', reverse='categories')  #ссылка на саму себ
    media = Set('Media')
    products = Set('Product')
    categories = Set('Category', reverse='parent')

    def __str__(self):
        return self.title
コード例 #19
0
class Work(db.Entity):
    createdBy = Required('User')
    created = Required(str)
    name = Required(str)
    iframe = Optional(str)
    embed = Optional(str)
    picture = Optional(str)
    github = Optional(str)
    code = Optional(str)
    description = Required(str)
    medium = Set('Medium')
コード例 #20
0
ファイル: orm.py プロジェクト: brammator/training_b19
 class ORMGroup(db.Entity):
     _table_ = 'group_list'
     id = PrimaryKey(int, column='group_id')
     name = Optional(str, column='group_name')
     header = Optional(str, column='group_header')
     footer = Optional(str, column='group_footer')
     contacts = Set(lambda: ORMFixture.ORMContact,
                    table="address_in_groups",
                    column="id",
                    reverse="groups",
                    lazy=True)
コード例 #21
0
ファイル: shop.py プロジェクト: rusakevich/homework
class Customer(db.Entity):
    """Покупатель"""
    name = Required(str)
    email = Required(str)
    phone = Required(str)
    login = Required(str)
    password = Required(str)
    address = Optional(str)  # Может быть сущностью
    comments = Set('Comment')
    orders = Set('Order')
    cart = Optional('Cart')
コード例 #22
0
class Variable(db.Entity):

    _table_ = 'variable'

    id = PrimaryKey(int, auto=True)
    metadata = Required(Json, index=True)
    data = Required(Json, index=True)
    create_at = Required(datetime.datetime, default=datetime.datetime.utcnow(), index=True)
    update_at = Required(datetime.datetime, default=datetime.datetime.utcnow(), index=True)
    delete_at = Optional(datetime.datetime, nullable=True)
    user = Required(str)
    info = Optional(Json)
    env = Required(Env)

    @classmethod
    @db_session
    def update_variable(cls, env_id, metadata, data, user):
        obj = get(n for n in Variable if n.env.id == env_id and n.env.delete_at == None
                  and n.delete_at == None)
        if obj:
            obj.user = user
            obj.update_at = datetime.datetime.utcnow()
            obj.metadata = metadata
            obj.data = data
        else:
            Variable(user=user, metadata=metadata, data=data, env=env_id)

    @classmethod
    @db_session
    def delete_variable_by_env_id(cls, env_id, user):
        obj = get(n for n in Variable if n.env.id == env_id and n.env.delete_at == None)
        if obj:
            obj.user = user
            obj.delete_at = datetime.datetime.utcnow()

    @classmethod
    @db_session
    def get_metadata_variable_by_env_id(cls, env_id):
        obj = get(n for n in Variable if n.env.id == env_id and n.env.delete_at == None
                  and n.delete_at == None)
        if obj:
            return obj.metadata
        else:
            raise IsNotExist(title='环境里没有设置项目变量', detail=f'环境id为{env_id}的环境下没有找到项目变量')

    @classmethod
    @db_session
    def get_data_variable_by_env_id(cls, env_id):
        obj = get(n for n in Variable if n.env.id == env_id and n.env.delete_at == None
                  and n.delete_at == None)
        if obj:
            return obj.data
        else:
            raise IsNotExist(title='环境里没有设置项目变量', detail=f'环境id为{env_id}的环境下没有找到项目变量')
コード例 #23
0
class Entry(db.Entity):
    title = Required(str)
    description = Required(str)
    location = Required(str)
    state = Required('State')
    category = Required('Category')
    website = Optional(str)
    photo = Optional(str)
    lng = Required(float)
    lat = Required(float)
    created_by = Optional('User')
コード例 #24
0
ファイル: model.py プロジェクト: luohuaizhi/demo
class User(db.Entity):
    # id = PrimaryKey(int, auto=True)
    name = Required(str, 32)
    password = Required(str, 8)
    gender = Optional(bool, default=True)
    birthday = Optional(date, nullable=True)
    phone = Optional(str, 11, nullable=True)
    photo = Optional(buffer, nullable=True)
    register = Required(datetime, sql_default='CURRENT_TIMESTAMP')

    _table_ = 'user'
コード例 #25
0
class Product(db.Entity):
    """Товар"""
    category = Required('Category')
    title = Required(str)
    description = Optional(str)
    unit = Required(str)
    price = Required(float)
    #alt_categories = Set('Category')
    #anmount = int # кол-во товара магазина
    history = Set('ProductHistory')
    caritems = Optional('CartItems')
コード例 #26
0
ファイル: model.py プロジェクト: wonnacry/hw
class Product(db.Entity):
    category = Optional('Category')
    # alt_categories = Set("Category")
    unit = Required(str)
    price = Required(float)
    description = Optional(str)
    title = Required(str)
    # amount = int
    history = Set('ProductHistory')
    cartitem = Optional('CartItem')
    orderitem = Set('OrderItem')
コード例 #27
0
ファイル: complex_example.py プロジェクト: evan54/pony_utils
class Table6(Helper, _db.Entity):
    table2 = Required('Table2')
    table3 = Required('Table3')
    description = Required(str, unique=True)
    table6 = Optional('Table5')
    date_opened = Optional(dtt.datetime)
    date_closed = Optional(dtt.datetime)
    table4s = Set('Table4')
    table7s = Set('Table7')
    table8 = Required('Table8')
    table10 = Optional('Table10')
コード例 #28
0
class Landmark(db.Entity):
    name = Required(str)
    description = Required(str)
    image = Required(str)
    ticket_price = Optional(float)
    start_time = Required(str)
    finish_time = Required(str)
    address = Required(str)
    lat = Optional(float)
    lng = Optional(float)
    cityname = Required(str)
    user = Required('User')
コード例 #29
0
class Product(db.Entity):
    """Товар"""
    category = Optional('Category')
    title = Required(str)
    description = Optional(str)
    unit = Required(str)
    price = Required(float)
    # alt_category = Set('Category')
    # amount = int # количество товара в магазине сейчас
    history = Set('ProductHistory')
    cart_item = Optional('CartItem')
    order_item = Optional('OrderItem')
コード例 #30
0
class Topic(db.Entity):
    def __repr__(self):
        return 'Topic: ' + self.title

    author = Required(User)
    date_created = Required(datetime)
    date_last_reply = Optional(datetime, nullable=True)
    posts = Set('Post')
    topic_type = Optional(str, nullable=True)
    title = Required(str)
    url = Required(str)
    topic_id = Required(str)