class Parade(orm.Table): location = orm.String() #orm.Foreign(Capital) start = orm.DateTime(default=datetime.now) end = orm.DateTime(blank=True) def __repr__(self): return "<Lecture: %s>" % (self.location)
class BaseModel(orm.Model): __abstract__ = True id = orm.Integer(primary_key=True) created_at = orm.DateTime(allow_null=True, default=datetime.now()) updated_at = orm.DateTime(allow_null=True) deleted_at = orm.DateTime(allow_null=True)
class Event(orm.Table): location = orm.Foreign(City) start = orm.DateTime(default=datetime.now) end = orm.DateTime(blank=True) def __repr__(self): return "<Event: %s>"%(self.location)
class UserInfo(orm.Model): __tablename__ = 'UserInfo' __metadata__ = metadata __database__ = database id = orm.Integer(primary_key=True) user_name = orm.String(unique=True, index=True, max_length=100) create_at = orm.DateTime() add_bus_stop_time = orm.DateTime(allow_null=True)
class Parade(orm.Table): location = orm.Foreign(Capital) start = orm.DateTime(default=datetime.now) end = orm.DateTime(blank=True) def __repr__(self): return "<Parade: %d/%d/%d - %s>" % ( self.start.year, self.start.month, self.start.day, self.location.name)
class SecTestSuiteA(orm.Model): __metadata__ = metadata __tablename__ = "sectestsuite" __database__ = database id = orm.String(primary_key=True, max_length=256) url = orm.String(max_length=256) created = orm.DateTime() modified = orm.DateTime() user_id = orm.String(max_length=256) origin = orm.String(max_length=50)
class SecTestA(orm.Model): __metadata__ = metadata __tablename__ = "sectest" __database__ = database id = orm.Integer(primary_key=True) result = orm.Integer() code = orm.String(max_length=25) suite = orm.ForeignKey(SecTestSuiteA) created = orm.DateTime() modified = orm.DateTime()
class Todo(orm.Model): __tablename__ = "todo" __metadata__ = metadata __database__ = database id = orm.Integer(primary_key=True) created = orm.DateTime(default=datetime.datetime.now) modified = orm.DateTime(default=datetime.datetime.now, onupdate=datetime.datetime.now) description = orm.Text(allow_blank=True) value = orm.Float(allow_null=True) data = orm.JSON(default={})
class Word(models.Model): __tablename__ = 'words' __metadata__ = metadata __database__ = db id = orm.Integer(primary_key=True, index=True) value = orm.String(max_length=64, unique=True) created_date = orm.DateTime(default=datetime.now()) repeat = orm.DateTime(default=datetime.now()) done = orm.Boolean(default=False) user = orm.ForeignKey(User)
class User(orm.Model): __tablename__ = 'users' __metadata__ = metadata __database__ = db id = orm.Integer(primary_key=True, index=True) github_id = orm.Integer(index=True) username = orm.String(max_length=256) last_login = orm.DateTime(default=datetime.now()) created_date = orm.DateTime(default=datetime.now()) avatar_url = orm.String(allow_null=True, max_length=256) is_admin = orm.Boolean(default=False)
class TodoList(orm.Model): __tablename__ = "todo" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) title = orm.String(max_length=30, allow_null=False) status = orm.Boolean(default=False) info = orm.Text() created_at = orm.DateTime() updated_at = orm.DateTime() deleted_at = orm.DateTime()
class Post(orm.Model): __tablename__ = "posts" __database__ = database __metadata__ = metadata objects = PostQuerySet() id = orm.Integer(primary_key=True) title = orm.String(max_length=300) description = orm.Text(allow_blank=True) # Social cards and RSS content = orm.Text(allow_blank=True) created = orm.DateTime(index=True) modified = orm.DateTime(index=True) published = orm.DateTime(allow_null=True) image_url = URLField(allow_null=True) image_caption = orm.Text(allow_null=True) @property def is_published(self) -> bool: return self.published is not None async def update(self, **kwargs) -> None: kwargs["modified"] = datetime.now() await super().update(**kwargs) async def publish(self): assert not self.is_published await self.update(published=datetime.now()) async def _get_relative_id(self, previous: bool = True) -> typing.Optional[int]: if not self.published: return None filters = { "published__lt" if previous else "published__gt": self.published } order_by = ("-" if previous else "") + "published" results = await (Post.objects.published_only().filter( **filters).order_by(order_by).all()) return results[0].id if results else None async def get_previous_id(self) -> typing.Optional[int]: return await self._get_relative_id(previous=True) async def get_next_id(self) -> typing.Optional[int]: return await self._get_relative_id(previous=False)
class Trigger(orm.Model): __tablename__ = "trigger" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) rss_url = orm.String(max_length=255) joplin_folder = orm.String(max_length=80, allow_null=True) reddit = orm.String(max_length=80, allow_null=True) mastodon = orm.Boolean(default=False) mail = orm.Boolean(default=False) description = orm.String(max_length=200) date_created = orm.DateTime(default=datetime.datetime.now) date_triggered = orm.DateTime(default=datetime.datetime.now) status = orm.Boolean(default=False)
class AnswerHistory(orm.Model): __tablename__ = 'answer_history' __metadata__ = metadata __database__ = db id = orm.Integer(primary_key=True, index=True) answer = orm.Integer() created_date = orm.DateTime(default=datetime.now()) word = orm.ForeignKey(Word)
class Translate(models.Model): __tablename__ = 'translates' __metadata__ = metadata __database__ = db id = orm.Integer(primary_key=True, index=True) created_date = orm.DateTime(default=datetime.now()) word = orm.ForeignKey(Word) text = orm.String(max_length=256) part_of_speech = fields.Enum(PartOfSpeechEnum)
class StravaAthlete(orm.Model): __tablename__ = "strava_athletes" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) access_token = orm.String(max_length=100) refresh_token = orm.String(max_length=100) token_expiration_datetime = orm.DateTime() backfilled = orm.Boolean(default=False)
class Post(orm.Model): __tablename__ = 'posts' __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) thread = orm.ForeignKey(Thread) offset = orm.Integer() markdown = orm.Text() datetime = orm.DateTime(default=datetime.datetime.now)
class HotData(orm.Model): __tablename__ = "hotdata" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) title = orm.String(max_length=30, allow_null=False) info = orm.Text() search_num = orm.Boolean(default=False, allow_null=False) created_at = orm.DateTime()
class Report(orm.Model): __tablename__ = "reports" __database__ = database __metadata__ = metadata activity_id = orm.Integer(primary_key=True) strava_athlete = orm.ForeignKey(StravaAthlete) title = orm.String(max_length=500) datetime = orm.DateTime() notebook_filename = orm.String(max_length=200) html_filename = orm.String(max_length=200)
class User(orm.Model): """ User model """ __tablename__ = "Users" __database__ = DATABASE __metadata__ = METADATA id = orm.Integer(primary_key=True, index=True) slackId = orm.String(max_length=255) slackAccessToken = orm.String(max_length=255) spotifyId = orm.String(max_length=255) spotifyExpiresAt = orm.DateTime(max_length=255) spotifyAccessToken = orm.String(max_length=255) spotifyRefreshToken = orm.String(max_length=255) createdAt = orm.DateTime() updatedAt = orm.DateTime() statusSetLastTime = orm.Boolean(default=False) useCustomEmojis = orm.Boolean(default=True)
class StatusCheck(orm.Model): __tablename__ = "statuscheck" __database__ = database __metadata__ = metadata _id = orm.Integer(primary_key=True) _check_id = orm.String(max_length=100, unique=True) startTime = orm.DateTime() endTime = orm.DateTime(allow_null=True) success = orm.Boolean(default=False) output = orm.Text(allow_null=True) async def serialize(self, full=False): await self.load() return { "_check_id": self._check_id, "startTime": jsonable_encoder(self.startTime), "endTime": jsonable_encoder(self.endTime), "success": self.success, "output": self.output }
class Example(orm.Model): __tablename__ = "example" __metadata__ = metadata __database__ = database id = orm.Integer(primary_key=True) created = orm.DateTime(default=datetime.datetime.now) created_day = orm.Date(default=datetime.date.today) created_time = orm.Time(default=time) description = orm.Text(allow_blank=True) value = orm.Float(allow_null=True) data = orm.JSON(default={})
class Post(app.db.Model): __tablename__ = "posts" id = orm.Integer(primary_key=True) author = orm.ForeignKey(User) timestamp = orm.DateTime() content = orm.Text() @property def post_time(self): from datetime import datetime return datetime.strptime(self.timestamp, "%Y-%m-%d %H:%M:%S.%f")
class Notes(orm.Model): registry = models tablename = 'notes' fields = { 'id': orm.Integer(title="ID", primary_key=True, read_only=True), 'created': orm.DateTime(title="Created", default=datetime.datetime.now, read_only=True), 'text': orm.String(title="Text", max_length=100), 'completed': orm.Boolean(title="Completed", default=False) }
class Product(orm.Model): registry = models fields = { "id": orm.Integer(primary_key=True), "uuid": orm.UUID(allow_null=True), "created": orm.DateTime(default=datetime.datetime.now), "created_day": orm.Date(default=datetime.date.today), "created_time": orm.Time(default=time), "data": orm.JSON(default={}), "description": orm.Text(allow_blank=True), "huge_number": orm.BigInteger(default=0), "price": orm.Decimal(max_digits=5, decimal_places=2, allow_null=True), "status": orm.Enum(StatusEnum, default=StatusEnum.DRAFT), "value": orm.Float(allow_null=True), }
class Character(orm.Model): __tablename__ = "character" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) url = orm.String(max_length=200, index=True) last_update = orm.DateTime(allow_null=True) @staticmethod async def add_url(url): if not url.startswith('https://poe.ninja'): return await Character.objects.create(url=url, last_update=datetime.datetime.now())
class Registrar(orm.Model): __tablename__ = "registrars" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) label = orm.String(max_length=100, unique=True) agent_module = orm.String(max_length=100) state = orm.JSON() active = orm.Boolean(default=True) updated_time = orm.DateTime() async def serialize(self, full=False): await self.load() r = { "id": self.id, "label": self.label, "updated_time": jsonable_encoder(self.updated_time) } return r
class Data(orm.Model): __tablename__ = "data" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) character = orm.ForeignKey(Character) level = orm.Integer() energy_shield = orm.Integer() life = orm.Integer() pob_export = orm.Text() max_dps = orm.Integer() max_dps_skill = orm.String(max_length=255) character_class = orm.String(max_length=255) data = orm.JSON() last_update = orm.DateTime(allow_null=True) @staticmethod async def create_data(**kwargs): await Data.objects.create(**kwargs)
class PythonPackageVersion(orm.Model): __tablename__ = "python_packages_versions" __database__ = context.database __metadata__ = context.metadata id = orm.Integer(primary_key=True) package = orm.ForeignKey(PythonPackage) user_id = orm.Integer(index=True, allow_null=True) size = orm.Integer() version = orm.Text() requires_python = orm.Text() yanked = orm.Boolean(default=False) comment_text = orm.Text(allow_null=True) yanked_reason = orm.Text(allow_null=True) filetype = orm.String(max_length=30) metadata_version = orm.Float() downloads = orm.Integer(default=0) filename = orm.Text(allow_null=False) md5_digest = orm.Text(allow_null=True) description = orm.Text(allow_null=True) sha256_digest = orm.Text(allow_null=True) upload_time = orm.DateTime(default=datetime.now) requires_dist = orm.Text(allow_null=True) description_content_type = orm.Text(allow_null=True) python_version = orm.Text(allow_null=True) @staticmethod def cast_upload_to_dict(filename: str, upload: DistInfoModel) -> Dict[str, Any]: return dict( version=upload.version, description=upload.description, comment_text=upload.comment, filetype=upload.filetype, metadata_version=upload.metadata_version, filename=filename, md5_digest=upload.md5_digest, requires_python=upload.requires_python, sha256_digest=upload.sha256_digest, description_content_type=upload.description_content_type.value if upload.description_content_type else None, requires_dist=";".join(upload.requires_dist) if upload.requires_dist else None, python_version=upload.python_version, ) @classmethod async def create_by_dist_info( cls, *, filename: str, package: PythonPackage, size: int, dist_info: DistInfoModel, user_id: Optional[int]) -> "PythonPackageVersion": info_dict = cls.cast_upload_to_dict(filename, dist_info) return await cls.objects.create(package=package, size=size, user_id=user_id, **info_dict) async def update_by_dist_info( self, *, filename: str, package: PythonPackage, size: int, dist_info: DistInfoModel) -> "PythonPackageVersion": info_dict = self.cast_upload_to_dict(filename, dist_info) return await self.update(package=package, size=size, **info_dict)