Example #1
0
class TagIndex(SQLObject):
    tag = StringCol()
    value = StringCol()

    tags = DatabaseIndex("tag")
    values = DatabaseIndex("value")
    unique_pairs = DatabaseIndex("tag", "value", unique=True)
Example #2
0
class record(SQLObject):
    class sqlmeta:
        table = 'records'

    domain = ForeignKey('domain', cascade=True)
    name = StringCol(length=255)
    type = StringCol(length=6)
    content = StringCol(length=255)
    ttl = IntCol(default=120)
    prio = IntCol(default=None)
    change_date = IntCol()
    nameIndex = DatabaseIndex(name)
    contentIndex = DatabaseIndex(content)

    def update(self, **kwargs):
        kwargs['change_date'] = int(time())
        return self.set(**kwargs)

    _updated = False

    @classmethod
    def updated(cls, updated=None):
        if updated and not cls._updated:
            cls._updated = True
        return cls._updated
Example #3
0
class SOIndex1(SQLObject):
    name = StringCol(length=100)
    number = IntCol()

    nameIndex = DatabaseIndex('name', unique=True)
    nameIndex2 = DatabaseIndex(name, number)
    nameIndex3 = DatabaseIndex({'column': name,
                                'length': 3})
Example #4
0
class AuthorBook(SQLObject):
    class sqlmeta:
        table = "author_book"

    author = ForeignKey('Author', notNull=True, cascade=True)
    book = ForeignKey('Book', notNull=True, cascade=True)
    author_idx = DatabaseIndex(author)
    book_idx = DatabaseIndex(book)
    main_idx = DatabaseIndex(author, book, unique=True)
Example #5
0
class BookGenre(SQLObject):
    class sqlmeta:
        table = "book_genre"

    book = ForeignKey('Book', notNull=True, cascade=True)
    genre = ForeignKey('Genre', notNull=True, cascade=True)
    book_idx = DatabaseIndex(book)
    genre_idx = DatabaseIndex(genre)
    main_idx = DatabaseIndex(book, genre, unique=True)
Example #6
0
class Genre(SQLObject):
    name = UnicodeCol(notNull=True, unique=True)
    title = UnicodeCol(notNull=True)
    count = IntCol(notNull=True)
    books = RelatedJoin('Book',
                        otherColumn='book_id',
                        intermediateTable='book_genre',
                        createRelatedTable=False)
    title_idx = DatabaseIndex(title)
    count_idx = DatabaseIndex(count)
Example #7
0
    class Journal(SQLObject):
        timestamp = DateTimeCol(default=datetime.now, notNone=True)
        level = IntCol(notNone=True)
        level_index = DatabaseIndex('level')
        text = UnicodeCol(length=255, notNone=True)
        text_index = DatabaseIndex('text')

        parent = ForeignKey('Journal', default=None)
        children = MultipleJoin('Journal')
        related = RelatedJoin('Journal', joinColumn='journal_id', otherColumn='journal_from_id')
        related_from = RelatedJoin('Journal', joinColumn='journal_from_id', otherColumn='journal_id', createRelatedTable=False)
class MapAbstractCardToTitle(SQLObject):
    class sqlmeta:
        table = 'abs_title_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    title = ForeignKey('Title', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    titleIndex = DatabaseIndex(title, unique=False)
class MapAbstractCardToClan(SQLObject):
    class sqlmeta:
        table = 'abs_clan_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    clan = ForeignKey('Clan', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    clanIndex = DatabaseIndex(clan, unique=False)
Example #10
0
class MapAbstractCardToVirtue(SQLObject):
    class sqlmeta:
        table = 'abs_virtue_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    virtue = ForeignKey('Virtue', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    virtueIndex = DatabaseIndex(virtue, unique=False)
Example #11
0
class MapAbstractCardToCreed(SQLObject):
    class sqlmeta:
        table = 'abs_creed_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    creed = ForeignKey('Creed', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    creedIndex = DatabaseIndex(creed, unique=False)
Example #12
0
class MapAbstractCardToSect(SQLObject):
    class sqlmeta:
        table = 'abs_sect_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    sect = ForeignKey('Sect', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    sectIndex = DatabaseIndex(sect, unique=False)
Example #13
0
class MapAbstractCardToDisciplinePair(SQLObject):
    class sqlmeta:
        table = 'abs_discipline_pair_map'

    tableversion = 1

    abstractCard = ForeignKey('SutekhAbstractCard', notNull=True)
    disciplinePair = ForeignKey('DisciplinePair', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    disciplinePairIndex = DatabaseIndex(disciplinePair, unique=False)
Example #14
0
class MapAbstractCardToRarityPair(SQLObject):

    class sqlmeta:
        table = 'abs_rarity_pair_map'

    tableversion = 1

    abstractCard = ForeignKey('AbstractCard', notNull=True)
    rarityPair = ForeignKey('RarityPair', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    rarityPairIndex = DatabaseIndex(rarityPair, unique=False)
Example #15
0
class MapPrintingToPrintingProperty(SQLObject):

    class sqlmeta:
        table = 'printing_data_map'

    tableversion = 1

    printing = ForeignKey('Printing', notNull=True)
    printingProperty = ForeignKey('PrintingProperty', notNull=True)

    printingIndex = DatabaseIndex(printing, unique=False)
    propertyIndex = DatabaseIndex(printingProperty, unique=False)
Example #16
0
class MapAbstractCardToKeyword(SQLObject):

    class sqlmeta:
        table = 'abs_keyword_map'

    tableversion = 1

    abstractCard = ForeignKey('AbstractCard', notNull=True)
    keyword = ForeignKey('Keyword', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    keywordIndex = DatabaseIndex(keyword, unique=False)
Example #17
0
class MapAbstractCardToArtist(SQLObject):

    class sqlmeta:
        table = 'abs_artist_map'

    tableversion = 1

    abstractCard = ForeignKey('AbstractCard', notNull=True)
    artist = ForeignKey('Artist', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    artistIndex = DatabaseIndex(artist, unique=False)
Example #18
0
class MapAbstractCardToCardType(SQLObject):

    class sqlmeta:
        table = 'abs_type_map'

    tableversion = 1

    abstractCard = ForeignKey('AbstractCard', notNull=True)
    cardType = ForeignKey('CardType', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    cardTypeIndex = DatabaseIndex(cardType, unique=False)
Example #19
0
class MapAbstractCardToRuling(SQLObject):

    class sqlmeta:
        table = 'abs_ruling_map'

    tableversion = 1

    abstractCard = ForeignKey('AbstractCard', notNull=True)
    ruling = ForeignKey('Ruling', notNull=True)

    abstractCardIndex = DatabaseIndex(abstractCard, unique=False)
    rulingIndex = DatabaseIndex(ruling, unique=False)
Example #20
0
class MapPhysicalCardToPhysicalCardSet(SQLObject):

    class sqlmeta:
        table = 'physical_map'

    tableversion = 1

    physicalCard = ForeignKey('PhysicalCard', notNull=True)
    physicalCardSet = ForeignKey('PhysicalCardSet', notNull=True)

    physicalCardIndex = DatabaseIndex(physicalCard, unique=False)
    physicalCardSetIndex = DatabaseIndex(physicalCardSet, unique=False)
    jointIndex = DatabaseIndex(physicalCard, physicalCardSet, unique=False)
Example #21
0
class Author(SQLObject):
    surname = UnicodeCol(notNull=True)
    name = UnicodeCol(notNull=True)
    misc_name = UnicodeCol(notNull=True)
    count = IntCol(notNull=True)
    books = RelatedJoin('Book',
                        otherColumn='book_id',
                        intermediateTable='author_book',
                        createRelatedTable=False)

    @property
    def fullname(self):
        fullnames = filter(None, (self.surname, self.name, self.misc_name))
        return ' '.join(fullnames)

    full_name_idx = DatabaseIndex(surname, name, misc_name, unique=True)
    count_idx = DatabaseIndex(count)
Example #22
0
class RarityPair(SQLObject):
    tableversion = 1
    expansion = ForeignKey('Expansion')
    rarity = ForeignKey('Rarity')
    cards = RelatedJoin('AbstractCard',
                        intermediateTable='abs_rarity_pair_map',
                        createRelatedTable=False)
    expansionRarityIndex = DatabaseIndex(expansion, rarity, unique=True)
Example #23
0
    class Journal(SQLObject):
        timestamp = DateTimeCol(default=datetime.now, notNone=True)
        level = IntCol(notNone=True)
        level_index = DatabaseIndex("level")
        text = UnicodeCol(length=255, notNone=True)
        text_index = DatabaseIndex("text")

        parent = ForeignKey("Journal", default=None)
        children = MultipleJoin("Journal")
        related = RelatedJoin("Journal",
                              joinColumn="journal_id",
                              otherColumn="journal_from_id")
        related_from = RelatedJoin(
            "Journal",
            joinColumn="journal_from_id",
            otherColumn="journal_id",
            createRelatedTable=False,
        )
Example #24
0
class Site(SQLObject):
    name = UnicodeCol()
    desc = UnicodeCol()
    key = UnicodeCol()
    dump_date = UnicodeCol()
    import_date = DateTimeCol()
    base_url = UnicodeCol()

    siteKey_index = DatabaseIndex(key, unique=True)
Example #25
0
class PhysicalCard(SQLObject):

    tableversion = 3
    abstractCard = ForeignKey('AbstractCard')
    abstractCardIndex = DatabaseIndex(abstractCard)
    # Explicitly allow None as expansion
    printing = ForeignKey('Printing', notNull=False)
    sets = RelatedJoin('PhysicalCardSet', intermediateTable='physical_map',
                       createRelatedTable=False)
Example #26
0
class Message(SQLObject):
    class sqlmeta:
        table = 'messages'

    message_id = StringCol()
    account_id = UnicodeCol(length=128)
    remote_uri = UnicodeCol(length=128)
    display_name = UnicodeCol(length=128)
    uri = UnicodeCol(length=128, default='')
    timestamp = DateTimeCol()
    direction = StringCol()
    content = UnicodeCol(sqlType='LONGTEXT')
    content_type = StringCol(default='text')
    state = StringCol(default='pending')
    encryption_type = StringCol(default='')
    disposition = StringCol(default='')
    remote_idx = DatabaseIndex('remote_uri')
    id_idx = DatabaseIndex('message_id')
    unq_idx = DatabaseIndex(message_id, account_id, remote_uri, unique=True)
Example #27
0
class DisciplinePair(SQLObject):

    tableversion = 1
    discipline = ForeignKey('Discipline')
    level = EnumCol(enumValues=['inferior', 'superior'])
    disciplineLevelIndex = DatabaseIndex(discipline, level, unique=True)
    cards = RelatedJoin('SutekhAbstractCard',
                        intermediateTable='abs_discipline_pair_map',
                        otherColumn="abstract_card_id",
                        createRelatedTable=False)
Example #28
0
class domain(SQLObject):
    class sqlmeta:
        table = 'domains'

    name = StringCol(length=255, notNone=True)
    master = StringCol(length=128, default=None)
    last_check = IntCol(default=None)
    type = StringCol(length=6, notNone=True)
    notified_serial = IntCol(default=None)
    account = StringCol(length=40, default=None)
    nameIndex = DatabaseIndex(name)
Example #29
0
class PhysicalCardSet(SQLObject):
    tableversion = 7
    name = UnicodeCol(alternateID=True, length=MAX_ID_LENGTH)
    author = UnicodeCol(default='')
    comment = UnicodeCol(default='')
    annotations = UnicodeCol(default='')
    inuse = BoolCol(default=False)
    parent = ForeignKey('PhysicalCardSet', default=None)
    cards = RelatedJoin('PhysicalCard', intermediateTable='physical_map',
                        createRelatedTable=False)
    parentIndex = DatabaseIndex(parent)
Example #30
0
    class Journal(SQLObject):
        timestamp = DateTimeCol(default=datetime.now, notNone=True)
        level = IntCol(notNone=True)
        level_index = DatabaseIndex("level")
        text = UnicodeCol(length=255, notNone=True)
        text_index = DatabaseIndex("text")

        col_float1 = FloatCol(default=2.2, notNone=True)
        col_smallint1 = IntCol(default=2, notNone=True)
        col_int1 = IntCol(default=2000000, notNone=True)
        col_bigint1 = IntCol(default=99999999, notNone=True)
        col_char1 = UnicodeCol(length=255, default="value1", notNone=True)
        col_text1 = UnicodeCol(
            default="Moo,Foo,Baa,Waa,Moo,Foo,Baa,Waa,Moo,Foo,Baa,Waa",
            notNone=True)
        col_decimal1 = DecimalCol(size=12,
                                  precision=8,
                                  default=Decimal("2.2"),
                                  notNone=True)
        col_json1 = JSONCol(default={
            "a": 1,
            "b": "b",
            "c": [2],
            "d": {
                "e": 3
            },
            "f": True
        },
                            notNone=True)

        col_float2 = FloatCol(default=None)
        col_smallint2 = IntCol(default=None)
        col_int2 = IntCol(default=None)
        col_bigint2 = IntCol(default=None)
        col_char2 = UnicodeCol(length=255, default=None)
        col_text2 = UnicodeCol(default=None)
        col_decimal2 = DecimalCol(size=12, precision=8, default=None)
        col_json2 = JSONCol(default=None)