Example #1
0
class ExposureCombination(db.Entity):
    night_bundle = orm.Optional(NightBundle)
    filename = orm.Required(str)
    combination_type = orm.Required(int, size=8)
    exposures = orm.Set("Exposure")
    uses_combinations = orm.Set("ExposureCombination")
    is_combined_in = orm.Set("ExposureCombination")
Example #2
0
class Enclosure(db.Entity):

    id = orm.PrimaryKey(str, default=terrariumUtils.generate_uuid)
    name = orm.Required(str)

    image = orm.Optional(str)
    description = orm.Optional(str)

    areas = orm.Set(lambda: Area)
    doors = orm.Set(lambda: Button)
    webcams = orm.Set(lambda: Webcam)

    def __rename_image(self):
        regex = re.compile(f'{self.id}\.(jpg|jpeg|gif|png)$', re.IGNORECASE)
        if '' != self.image and not regex.search(self.image):
            image = Path(self.image)
            image_name = f'{image.parent}/{self.id}{image.suffix}'
            image.rename(image_name)
            self.image = str(image_name)

    def before_insert(self):
        self.__rename_image()

    def before_update(self):
        self.__rename_image()

    def before_delete(self):
        image = Path(self.image)
        if image.exists() and image.is_file():
            image.unlink()

    def __repr__(self):
        return f'Enclosure {self.name} with {len(self.areas)} areas'
Example #3
0
class Artist(db.Entity):
    name = orm.Required(str)
    age = orm.Optional(int)
    genres = orm.Set(Genre)
    pieces = orm.Set('Piece')

    @EntityMutation.mark
    def customMutation(self):
        'Takes no args'

    @UpdateEntityMutation.mark
    def customUpdate(self, genres):
        '''
        Marked with UpdateEntityMutation, so
        can take keywords matching entity fields
        '''
        self.genres = [Genre[pk] for pk in genres]

    class changeAge(EntityMutation):
        '''
        You can also define custom mutation with a class
        '''
        def get_input_fields(self):
            ret = EntityMutation.get_input_fields(self)
            ret.update({'age': GraphQLInputObjectField(GraphQLInt)})
            return ret

        def mutate_func(self, obj, age):
            obj.age = age
Example #4
0
class Service(db.Entity):
    service_name = orm.Required(str)
    function_name = orm.Required(str)
    params = orm.Required(str)
    users = orm.Set("User")
    key_words = orm.Set("KeyWord")
    orm.PrimaryKey(service_name, function_name)
Example #5
0
class Entry(db.Entity):
    """ Indexed entry """
    file_path = orm.Required(str)
    category = orm.Optional(str)
    status = orm.Required(int)

    # UTC-normalized, for ordering and visibility
    utc_date = orm.Required(datetime.datetime)

    # arbitrary timezone, for pagination
    local_date = orm.Required(datetime.datetime)

    # The actual displayable date - stored as string to guarantee the timezone
    # is maintained
    display_date = orm.Required(str)

    slug_text = orm.Optional(str)
    entry_type = orm.Optional(str)
    redirect_url = orm.Optional(str)  # maps to Redirect-To

    title = orm.Optional(str)
    sort_title = orm.Optional(str)

    aliases = orm.Set("PathAlias")
    tags = orm.Set("EntryTag")

    entry_template = orm.Optional(str)  # maps to Entry-Template

    orm.composite_index(category, entry_type, utc_date)
    orm.composite_index(category, entry_type, local_date)
    orm.composite_index(category, entry_type, sort_title)
Example #6
0
class AnonymousUser(db.Entity):
    ip = orm.Required(str)
    browser_id = orm.Required(str)
    date_connected = orm.Required(datetime, default=datetime.utcnow)
    tracks = orm.Set(Track)
    votes = orm.Set('Vote')
    orm.PrimaryKey(ip, browser_id)

    @classmethod
    def get_for_request(cls, request):
        ip = request.headers.get('HTTP_X_FORWARDED_FOR')
        if ip:
            app.logger.info('HTTP_X_FORWARDED_FOR: {}'.format(ip))
        else:
            ip = request.headers.get('X-Forwarded-For')
            if ip:
                app.logger.info('X-Forwarded-For: {}'.format(ip))
            else:
                ip = request.remote_addr
                app.logger.info('remote_addr: {}'.format(ip))

        browser_id = 'TODO'
        return cls.get(ip=ip, browser_id=browser_id) \
          or cls(ip=ip, browser_id=browser_id)

    def get_queued_tracks(self, playlist: Playlist):
        return self.tracks.select(lambda x: x.playlist == playlist and
                                  (x.played_at is None or x.disqualified))
Example #7
0
class Currency(db1.Entity):
    _table_ = 'Currencies'
    resource = orm.Set(Resource, reverse='currency')
    exrates = orm.Set(ExchangeRate, reverse='currency')
    name = orm.Required(str)
    sname = orm.Required(str)
    isnh = orm.Required(bool)
Example #8
0
class Feed(DB.Entity):
    articles = orm.Set('Article')
    categories = orm.Set('Category')
    title = orm.Required(str)
    url = orm.Required(str, unique=True)
    etag = orm.Optional(str)
    modified = orm.Optional(str)
Example #9
0
class Website(db.Entity):
    _table_ = 'websites'
    id = orm.PrimaryKey(int, auto=True)
    name = orm.Required(str, unique=True)
    url = orm.Required(str, unique=True)
    authors = orm.Set('Author')
    articles = orm.Set('Article')
Example #10
0
class Services(db.Entity):
    _table_ = ('public', 'Services')
    ServiceID = orm.PrimaryKey(int, auto=True)
    ServiceTitle = orm.Required(str, unique=True)
    LatestUpdateDate = orm.Required(datetime, default=datetime.utcnow)
    TransServiceService = orm.Set("TransServices", reverse="ServiceID")
    RoleAccessesService = orm.Set("RoleAccesses", reverse="ServiceID")
Example #11
0
class Address(db.Entity):
    gps = orm.Set(GP)
    patients = orm.Set(Patient)
    districtName = orm.Required(str)
    districtCode = orm.Required(str)
    cityName = orm.Required(str)
    vTown = orm.Optional(str)
class ChrRaces(db.Entity):
    id = orm.PrimaryKey(int)
    flags = orm.Required(int)
    faction = orm.Required('Faction', reverse='chr_races_backlink')
    exploration_sound_id = orm.Required(int)
    male_display_info = orm.Required('UnitModelInfo',
                                     reverse='chr_races_male_id_backlink')
    female_display_info = orm.Required('UnitModelInfo',
                                       reverse='chr_races_female_id_backlink')
    client_prefix = orm.Required(common.SingleString)
    mount_scale = orm.Required(float)
    base_language = orm.Required('Languages', reverse='chr_races_backlink')
    creature_type = orm.Required('CreatureType', reverse='chr_races_backlink')
    login_effect = orm.Required('Spell',
                                reverse='chr_races_login_effect_backlink')
    combat_stun = orm.Required('Spell',
                               reverse='chr_races_combat_stun_backlink')
    res_sickness = orm.Required('Spell',
                                reverse='chr_races_res_sickness_backlink')
    splash_sound_id = orm.Required(int)
    starting_taxi_nodes = orm.Required(int)
    client_file_string = orm.Required(common.SingleString)
    cinematic_sequence = orm.Optional('CinematicSequences',
                                      reverse='chr_races_backlink')
    name = orm.Required(common.MultiEnumString)
    facial_hair_customization_male = orm.Required(common.SingleString)
    facial_hair_customization_female = orm.Required(common.SingleString)
    hair_customization = orm.Required(common.SingleString)

    unit_backlink = orm.Set('Unit')
    starting_stats_backlink = orm.Set('StartingStats')
Example #13
0
class Series(db.Entity):
    """ Модель серии """

    coauthors = orm.Set('CoAuthorsSeries')
    cover = orm.Required(bool, default=False)
    date = orm.Required(datetime, 6, default=datetime.utcnow)
    draft = orm.Required(bool, default=True)
    finished = orm.Required(bool, default=False)
    freezed = orm.Required(bool, default=False)
    mark = orm.Required(int, size=16, default=0)
    notes = orm.Optional(orm.LongStr)
    original = orm.Required(bool, default=True)
    summary = orm.Optional(orm.LongStr, lazy=False, autostrip=False)
    title = orm.Required(str, 512)
    updated = orm.Required(datetime, 6, default=datetime.utcnow)
    views = orm.Required(int, default=0)
    extra = orm.Required(orm.LongStr, lazy=False, default='{}')

    permissions = orm.Set(InSeriesPermissions)

    def __str__(self):
        return self.title

    def before_update(self):
        self.updated = datetime.utcnow()

    @property
    def stories(self):
        return orm.select(x.story for x in InSeriesPermissions if x.series == self).without_distinct().order_by('x.id')
Example #14
0
class Faction(db.Entity):
    id = orm.PrimaryKey(int)
    reputation_index = orm.Required(int, unsigned=True)
    reputation_race_mask1 = orm.Required(int, unsigned=True)
    reputation_race_mask2 = orm.Required(int, unsigned=True)
    reputation_race_mask3 = orm.Required(int, unsigned=True)
    reputation_race_mask4 = orm.Required(int, unsigned=True)
    reputation_class_mask1 = orm.Required(int, unsigned=True)
    reputation_class_mask2 = orm.Required(int, unsigned=True)
    reputation_class_mask3 = orm.Required(int, unsigned=True)
    reputation_class_mask4 = orm.Required(int, unsigned=True)
    reputation_base1 = orm.Required(int, unsigned=True)
    reputation_base2 = orm.Required(int, unsigned=True)
    reputation_base3 = orm.Required(int, unsigned=True)
    reputation_base4 = orm.Required(int, unsigned=True)
    reputation_flags1 = orm.Required(int, unsigned=True)
    reputation_flags2 = orm.Required(int, unsigned=True)
    reputation_flags3 = orm.Required(int, unsigned=True)
    reputation_flags4 = orm.Required(int, unsigned=True)
    parent_faction = orm.Optional('Faction', reverse='parent_faction_backlink')
    name = orm.Required(common.MultiEnumString)
    description = orm.Optional(common.MultiString)

    parent_faction_backlink = orm.Set('Faction', reverse='parent_faction')
    auction_house_backlink = orm.Set('AuctionHouse', reverse='faction')
    chr_races_backlink = orm.Set('ChrRaces', reverse='faction')
    player_backlink = orm.Set('Player')
Example #15
0
class MedicalConditions(db.Entity):
    mc_id = orm.PrimaryKey(int, auto=True)
    name = orm.Required(str)
    radiologyAssesment = orm.Set("RadiologyAssesment", reverse="result")
    social_history = orm.Set(SocialHistory, reverse="condition")
    family_history = orm.Set(FamilyMedicalHistory, reverse="condition")
    radiologyAssesmentHistory = orm.Set(RadiologyAssesmentHistory,
                                        reverse="result")
Example #16
0
class Roles(db.Entity):
    _table_ = ('public', 'Roles')
    RoleID = orm.PrimaryKey(int, auto=True)
    RoleTitle = orm.Required(str)
    Description = orm.Optional(str, nullable=True)
    LatestUpdateDate = orm.Required(datetime, default=datetime.utcnow)
    UserRole = orm.Set("Users", reverse="RoleID")
    RoleAccessesRole = orm.Set("RoleAccesses", reverse="RoleID")
Example #17
0
class Person(DataBase.db.Entity):
    first_name = orm.Required(str)
    last_name = orm.Required(str)
    id_card = orm.Required(str)
    positions = orm.Set('Position')
    records = orm.Set('Record')
    schedules = orm.Set('Schedule')
    timestamp = orm.Required(datetime, default=datetime.now)
Example #18
0
class Tag(db.Entity):
    value = orm.Required(str)
    as_tag = orm.Set('PDF', lazy=False, reverse='tags')
    as_subject = orm.Set('PDF', lazy=False, reverse='subjects')

    def remove(self):
        with orm.db_session:
            Tag[self.id].delete()
Example #19
0
 class TorrentState(db.Entity):
     rowid = orm.PrimaryKey(int, auto=True)
     infohash = orm.Required(database_blob, unique=True)
     seeders = orm.Optional(int, default=0)
     leechers = orm.Optional(int, default=0)
     last_check = orm.Optional(int, size=64, default=0)
     metadata = orm.Set('TorrentMetadata', reverse='health')
     trackers = orm.Set('TrackerState', reverse='torrents')
Example #20
0
class Personne(db.Entity):
    id_personne = orm.PrimaryKey(int, auto=True)
    nom = orm.Required(str)
    date_naissance = orm.Optional(date)
    lieu_naissance = orm.Optional(str)
    bio = orm.Optional(str)
    films = orm.Set('Film', reverse='id_realisateur')
    roles = orm.Set('Role')
    film_scenarist = orm.Set('Film', reverse='scenaristes')
Example #21
0
class Airport(db.Entity):
    _table_ = 'Airports'
    country = orm.Required(str)
    iso3 = orm.Required(str)
    city = orm.Required(str)
    code = orm.Required(str)
    iteration = orm.Required(int)
    directions = orm.Set('Direction', reverse='destination')
    departures = orm.Set('Direction', reverse='departure')
Example #22
0
class PoClass(database.Entity):
    """
    Класс ПО - код
    """
    id = orm.PrimaryKey(int, auto=True)
    code = orm.Required(str, unique=True)
    #
    po = orm.Set("PO")
    classifier = orm.Set(Classifier)
Example #23
0
class ClientApplication(_db.Entity):
    id = orm.PrimaryKey(int, auto=True)
    app_name = orm.Required(str)
    client_id = orm.Required(str)
    client_secret = orm.Required(str)
    tokens = orm.Set(lambda: WnsAccessToken)
    subscribers = orm.Set(lambda: Subscriber)
    messages = orm.Set(lambda: Message)
    api_keys = orm.Set(lambda: ApiKey)
Example #24
0
class Series(db.Entity):
    ticker = orm.Required(str, unique=True)
    description = orm.Required(str)
    group = orm.Required(
        str)  #geral, grupo, subgrupo, item, subitem, nucleo, nucleo
    kind = orm.Required(str)  # peso, variaçao
    indicator = orm.Required(str)  # ipca, ipca15
    observations = orm.Set('Observation')
    tables = orm.Set('TableDb')
class Banks(db.Entity):
    _table_ = ('public', 'Banks')
    BankID = orm.PrimaryKey(int, auto=True)
    BankCode = orm.Required(str, unique=True)
    BankName = orm.Required(str)
    IsOwner = orm.Required(bool)
    LatestUpdateDate = orm.Required(datetime, default=datetime.utcnow)
    BankCardPrefix = orm.Set("CardPrefixCodes", reverse="BankID")
    BankBranch = orm.Set("Branches", reverse="BankID")
Example #26
0
class Customer(db.Entity):
    address = orm.Required(str)
    country = orm.Required(str)
    email = orm.Required(str, unique=True)
    name = orm.Required(str)
    password = orm.Required(str)

    cart_items = orm.Set("CartItem")
    orders = orm.Set("Order")
Example #27
0
class Course(db.Entity):
    course_id = orm.PrimaryKey(int, auto=True)
    name = orm.Required(str)
    description = orm.Required(orm.LongStr)
    curr_weight = orm.Required(float)
    exam_weight = orm.Required(float)
    credits = orm.Required(int)
    students = orm.Set('Markings')
    lessons = orm.Set('Lesson')
Example #28
0
class PDF(db.Entity):
    address = orm.PrimaryKey(str)
    tags = orm.Set(Tag)
    subjects = orm.Set(Tag)
    is_eng = orm.Required(bool)

    def remove(self):
        with orm.db_session:
            PDF[self.address].delete()
Example #29
0
class Student(db.Entity):
    """Студенты."""

    vk_id: int = orm.Required(int)
    first_name: str = orm.Required(str)
    last_name: str = orm.Required(str)
    group: Group = orm.Required(Group)
    subgroup: Optional[int] = orm.Optional(int)
    email: Optional[str] = orm.Optional(str)
    phone_number: Optional[str] = orm.Optional(str)
    academic_status: AcademicStatus = orm.Required(AcademicStatus)
    financial_incomes: Iterable["FinancialIncome"] = orm.Set(
        "FinancialIncome",
        cascade_delete=True,
    )
    issues: Iterable["Issue"] = orm.Set(
        "Issue",
        cascade_delete=True,
    )
    admins: Iterable["Admin"] = orm.Set(
        Admin,
        cascade_delete=True,
    )
    state_storage: Optional["StateStorage"] = orm.Optional(
        "StateStorage",
        cascade_delete=True,
    )
    admin_config: Optional[AdminConfig] = orm.Optional(
        AdminConfig,
        cascade_delete=True,
    )
    call_storage: Optional["MentionStorage"] = orm.Optional(
        "MentionStorage",
        cascade_delete=True,
    )
    chat_registrar_config: Optional["ChatRegistrarConfig"] = orm.Optional(
        "ChatRegistrarConfig",
        cascade_delete=True,
    )
    financial_config: Optional["FinancialConfig"] = orm.Optional(
        "FinancialConfig",
        cascade_delete=True,
    )
    liststudents: Iterable["ListStudents"] = orm.Set(
        "ListStudents",
        cascade_delete=True,
    )

    def is_admin(self) -> bool:
        """
        Проверяет, является ли студент администратором.

        Returns:
            bool: статус администрирования студента
        """
        return not self.admins.is_empty()
Example #30
0
class SourceFile(db.Entity):
    fullPath = pony.PrimaryKey(str)
    fileName = pony.Required(str)
    includes = pony.Set('Include', reverse='owner')
    includedBy = pony.Set('Include', reverse='link')
    isTarget = pony.Required(bool)
    isHeader = pony.Required(bool)

    dependenciesCount = pony.Optional(int)
    includersCount = pony.Optional(int)