Source code for pydarkstar.tables.auctionhouse

from sqlalchemy import Column, Integer, SmallInteger, String, text
from .base import Base
from .. import timeutils

_template = \
    """
[AuctionHouseRow]
    addr        = {addr}
    id          = {self.id}
    itemid      = {self.itemid}
    stack       = {self.stack}
    seller      = {self.seller}
    seller_name = {self.seller_name}
    date        = {self.date}
    price       = {self.price}
    buyer_name  = {self.buyer_name}
    sale        = {self.sale}
    sell_date   = {self.sell_datestr}
"""[:-1]


[docs]class AuctionHouse(Base): __tablename__ = 'auction_house' id = Column(Integer, primary_key=True) itemid = Column(SmallInteger, nullable=False, index=True, server_default=text("'0'")) stack = Column(Integer, nullable=False, server_default=text("'0'")) seller = Column(Integer, nullable=False, server_default=text("'0'")) seller_name = Column(String(15)) date = Column(Integer, nullable=False, server_default=text("'0'")) price = Column(Integer, nullable=False, server_default=text("'0'")) buyer_name = Column(String(15)) sale = Column(Integer, nullable=False, server_default=text("'0'")) sell_date = Column(Integer, nullable=False, server_default=text("'0'")) def __repr__(self): return '({addr}) AuctionHouseRow id={self.id}'.format(self=self, addr=hex(id(self))) def __str__(self): return _template.format(self=self, addr=hex(id(self)))
[docs] @staticmethod def validate_itemid(itemid): itemid = int(itemid) assert itemid > 0 return itemid
[docs] @staticmethod def validate_stack(stack): if stack: return 1 return 0
[docs] @staticmethod def validate_seller(seller): seller = int(seller) assert seller >= 0 return seller
[docs] @staticmethod def validate_date(date): return timeutils.timestamp(date)
[docs] @staticmethod def validate_price(price): price = int(price) assert price >= 0 return price
@property def sell_datestr(self): if self.sell_date is None: return str(None) return timeutils.datetime_to_str(timeutils.timestamp_to_datetime(self.sell_date))
if __name__ == '__main__': pass