Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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={})
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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()
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
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)
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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)
Exemplo n.º 16
0
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)
Exemplo n.º 17
0
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)
Exemplo n.º 18
0
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()
Exemplo n.º 19
0
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)
Exemplo n.º 20
0
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)
Exemplo n.º 21
0
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
        }
Exemplo n.º 22
0
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={})
Exemplo n.º 23
0
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")
Exemplo n.º 24
0
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)
    }
Exemplo n.º 25
0
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),
    }
Exemplo n.º 26
0
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())
Exemplo n.º 27
0
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
Exemplo n.º 28
0
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)
Exemplo n.º 29
0
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)