2022-06-01 16:37:19 +00:00
|
|
|
from datetime import datetime
|
|
|
|
|
|
2022-10-25 13:38:18 +00:00
|
|
|
from peewee import (AutoField, BooleanField, DateTimeField, ForeignKeyField,
|
|
|
|
|
TextField)
|
2022-06-01 16:37:19 +00:00
|
|
|
from playhouse.sqlite_ext import JSONField
|
|
|
|
|
|
|
|
|
|
from .base_model import BaseModel, db
|
|
|
|
|
from .users import Users
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Archive(BaseModel):
|
|
|
|
|
id = AutoField(primary_key=True, unique=True, null=False)
|
2023-05-20 13:28:57 +00:00
|
|
|
time = DateTimeField(unique=True, null=False, default=datetime.now())
|
2022-06-01 16:37:19 +00:00
|
|
|
user = ForeignKeyField(Users, Users.username, null=False)
|
|
|
|
|
result = BooleanField(null=False)
|
|
|
|
|
overridden = BooleanField(null=False)
|
|
|
|
|
test_data = JSONField(null=False)
|
2022-09-14 14:53:55 +00:00
|
|
|
label = TextField(null=True)
|
2022-06-01 16:37:19 +00:00
|
|
|
archived = BooleanField(null=False, default=False)
|
|
|
|
|
uploaded = BooleanField(null=False, default=False)
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
@db.atomic()
|
2022-10-25 13:38:18 +00:00
|
|
|
def archive(cls, test_data, result, overridden):
|
2023-05-20 13:28:57 +00:00
|
|
|
time=datetime.now()
|
2023-05-22 16:39:28 +00:00
|
|
|
test_data["time"]=time.strftime("%d/%m/%Y %H:%M:%S")
|
2023-05-20 13:28:57 +00:00
|
|
|
test_data["user"]=Users.get_session().username
|
2022-06-01 16:37:19 +00:00
|
|
|
return cls.create(
|
2023-05-20 13:28:57 +00:00
|
|
|
time=time,
|
2022-06-01 16:37:19 +00:00
|
|
|
user=Users.get_session().user,
|
|
|
|
|
result=result,
|
|
|
|
|
overridden=overridden,
|
2022-10-25 13:38:18 +00:00
|
|
|
test_data=test_data,
|
2022-06-01 16:37:19 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
class Meta:
|
|
|
|
|
table_name = "archive"
|