Exemplo n.º 1
0
class WebViewFeature(EmbeddedDocument):  # view compare extracting feature
    update_time = StringField()  # 更新时间,格式化字符串
    view_hash = StringField()  # image_list hash value
    image_list = ListField(EmbeddedDocumentField(Image))
Exemplo n.º 2
0
 class Dad(AbstractHuman):
     name = StringField()
Exemplo n.º 3
0
 class User(Human):
     name = StringField()
Exemplo n.º 4
0
 class EmbedData(EmbeddedDocument):
     data = StringField()
     meta = {"allow_inheritance": True}
Exemplo n.º 5
0
 class Animal(Document):
     name = StringField()
     meta = {"allow_inheritance": True}
Exemplo n.º 6
0
class PhoneMessageId(DynamicDocument):
    phone = StringField(max_length=11, unique=True, sparse=True)
    msg_id = StringField()
Exemplo n.º 7
0
        class A(Document):
            a = StringField()

            meta = {"allow_inheritance": True, "indexes": ["a"]}
Exemplo n.º 8
0
class Bike(Document):
    model = StringField()
    daily = IntField()
    image = StringField()
    year = StringField()
Exemplo n.º 9
0
class GarageEntry(EmbeddedDocument):
    max_spaces = IntField(required=True, min_value=0)
    name = StringField(required=True, choices=_GARAGES)
    percent_full = FloatField(required=True, min_value=0.0, max_value=100.0)
    spaces_filled = IntField(required=True, min_value=0)
    spaces_left = IntField(required=True, min_value=0)
Exemplo n.º 10
0
class Work(Document):
    batch_size = IntField()
    work_name = StringField()
    details = StringField()
    user = ReferenceField(User, reverse_delete_rule=CASCADE)
    create_time = DateTimeField()
    finished_time = DateTimeField()
    script_id = StringField()
    dataset_id = StringField()
    data_num = IntField()

    @property
    def tasks(self) -> list('Task'):
        tasks = Task.objects(work=self)
        return tasks

    @property
    def tasks_progress(self):
        progresses = {}
        for task in self.tasks:
            progresses[str(task.id)] = task.progress
        return progresses

    def new_task(self):
        task = Task()
        task.status = 0
        task.work = self
        task.save()
        return task

    def get_executing(self) -> list('Task'):
        tasks = Task.objects(Q(work=self) & Q(status__lt=2))
        return tasks

    def start(self):
        self.create_time = datetime.now()
        self.save()

    def done(self):
        self.finished_time = datetime.now()
        self.save()

    def get_dict(self):
        return {
            "uuid":
            str(self.id),
            "user":
            self.user.username,
            "work_name":
            self.work_name,
            "batch_size":
            self.batch_size,
            "details":
            self.details,
            "create_time": (self.create_time.isoformat() +
                            'Z') if self.create_time is not None else "",
            "finished_time": (self.finished_time.isoformat() +
                              'Z') if self.finished_time is not None else "",
            "progress":
            self.tasks_progress,
            "data_num":
            self.data_num
        }
Exemplo n.º 11
0
class Account(BaseModel):
    name = StringField(max_length=5000, null=False)
    tel = IntField(null=False)
    password = StringField(max_length=5000, null=False)
    head_img_key = StringField(max_length=5000, null=False)
    meta = {'collection': 'account'}
Exemplo n.º 12
0
 def field_type(**kwargs):
     return DictField(StringField, StringField(), **kwargs)
Exemplo n.º 13
0
class Location(Document, OParlDocument):
    type = 'https://schema.oparl.org/1.0/Location'
    description = StringField(fulltext=True)
    geojson = DictField()
    streetAddress = StringField()
    room = StringField()
    postalCode = StringField()
    subLocality = StringField()
    locality = StringField()
    body = ListField(ReferenceField('Body', dbref=False, deref_location=False),
                     default=[])
    person = ListField(ReferenceField('Person',
                                      dbref=False,
                                      deref_location=True),
                       default=[])
    organization = ListField(ReferenceField('Organization',
                                            dbref=False,
                                            deref_location=True),
                             default=[])
    meeting = ListField(ReferenceField('Meeting',
                                       dbref=False,
                                       deref_location=True),
                        default=[])
    paper = ListField(ReferenceField('Paper', dbref=False,
                                     deref_location=True),
                      default=[])
    license = StringField()
    keyword = ListField(StringField(fulltext=True), default=[])
    created = DateTimeField(datetime_format='datetime')
    modified = DateTimeField(datetime_format='datetime')
    web = StringField()
    deleted = BooleanField()

    # Politik bei Uns Felder
    originalId = StringField(vendor_attribute=True)
    mirrorId = StringField(vendor_attribute=True)
    autogenerated = BooleanField(vendor_attribute=True)
    locationType = StringField(
        vendor_attribute=True)  # could be street, address, point-of-interest

    # Felder zur Verarbeitung
    _object_db_name = 'location'
    _attribute = 'location'

    def __init__(self, *args, **kwargs):
        super(Document, self).__init__(*args, **kwargs)

    def __repr__(self):
        return '<Location %r>' % self.streetAddress
Exemplo n.º 14
0
class Employee(Document):
    employee_id = StringField(required=True, verbose_name='员工id', unique=True)
    employee_name = StringField(required=True, verbose_name='员工姓名')
    email = StringField(required=True, verbose_name='邮箱')
    dept_name = StringField(required=True, verbose_name='部门信息')
    status = BooleanField(required=True, verbose_name='在职状态', default=True)
    meta = {
        'collection': 'employee_info',
        'verbose_name': '员工信息表',
        'indexes': [
            'employee_id',
            'email',
            'employee_name',
        ]
    }

    def to_dict(self):
        return {
            'id': self.employee_id,
            'accountid': self.employee_id,
            'name': self.employee_name,
            'email': self.email,
            'dept_name': self.dept_name,
        }

    @classmethod
    def get_users(cls, ids: str = '', emails: str = '', status=None) -> list:
        """
        根据员工id查询
        params ids: 用户id列表
        params status: 在值状态, default all
        """
        result = []
        id_list = list(filter(None, [x.strip() for x in ids.split(',')]))
        email_list = list(filter(None, [x.strip() for x in emails.split(',')]))
        if not id_list and not emails:
            return result

        if id_list:
            queryset = cls.objects.filter(employee_id__in=id_list)
        else:
            queryset = cls.objects.filter(email__in=email_list)
        if status is not None:
            queryset = queryset.filter(status=status)
        for item in queryset.limit(10):
            result.append(item.to_dict())
        return result

    @classmethod
    def search_user(cls, keyword):
        result = []
        if not keyword:
            return result

        name_filter = Q(employee_name__contains=keyword)
        email_filter = Q(email__contains=keyword)
        queryset = cls.objects.filter(name_filter | email_filter).limit(10)
        for item in queryset:
            result.append(item.to_dict())
        return {'users': result}

    @classmethod
    def staff_status(cls, id):
        try:
            is_staff = bool(cls.objects.get(employee_id=str(id), status=True))
        except DoesNotExist as e:
            is_staff = False
        except Exception as e:
            is_staff = False
        return {'is_staff': is_staff}

    @classmethod
    def _query(cls, method, params):
        method_map = {
            'search-by-accountids': cls.get_users,
            'is-staff': cls.staff_status,
            'search-user': cls.search_user
        }
        func = method_map.get(method)
        if not func:
            raise Exception(f'unmatched query method: {method}')
        return func(**params)
Exemplo n.º 15
0
class UserEmail(EmbeddedDocument):
    email = StringField()
    primary_email = BooleanField()
    verified = BooleanField()
Exemplo n.º 16
0
class K8sCluster(DynamicEmbeddedDocument):
    api_url = StringField(required=True)
    token = StringField(required=True)
    namespace = StringField(default="default")
    gateway = ListField()
    creator = ReferenceField(User)
Exemplo n.º 17
0
class UserProfile(DynamicEmbeddedDocument):
    address = StringField()
    age = IntField(min_value=1)
    career = StringField()
    career_type = StringField()
    gender = IntField()  # 0:women 1:man
    notes = StringField()  # a short activity or mood
    phone = StringField(max_length=20)
    qq = StringField()
    real_name = StringField(max_length=80)
    self_introduction = StringField()
    skype = StringField()
    wechat = StringField()
    weibo = StringField()
    avatar_url = URLField()  # high priority than avatar_url in User
Exemplo n.º 18
0
class NetworkConfigTemplate(HDocumentBase):
    """ Network config for generate K8s yml"""

    name = StringField(required=True, unique=True)
    protocol = StringField()
    port = IntField(max_value=65535)
Exemplo n.º 19
0
        class Person(Document):
            name = StringField()
            age = IntField()

            meta = {"allow_inheritance": True}
Exemplo n.º 20
0
class HackathonStat(HDocumentBase):
    type = StringField()  # class HackathonStat
    count = IntField(min_value=0)
    hackathon = ReferenceField(Hackathon)
Exemplo n.º 21
0
        class B(Document):
            b = StringField()

            meta = {"allow_inheritance": True, "indexes": ["b"]}
Exemplo n.º 22
0
class TeamWork(EmbeddedDocument):
    id = UUIDField(required=True)
    description = StringField()
    type = IntField(required=True)  # see TeamShowType
    uri = StringField()
    create_time = DateTimeField(default=get_now())
Exemplo n.º 23
0
 class DataDoc(Document):
     name = StringField()
     embed = EmbeddedDocumentField(EmbedData)
     meta = {"allow_inheritance": True}
Exemplo n.º 24
0
class TeamScore(EmbeddedDocument):
    type = IntField(default=0)
    score = IntField(required=True, min_value=0)
    reason = StringField()
    score_date = DateTimeField(default=get_now())
    judge = ReferenceField(User)
Exemplo n.º 25
0
 class Animal(FinalDocument):
     name = StringField()
Exemplo n.º 26
0
class DockerContainer(DynamicEmbeddedDocument):
    name = StringField(required=True, unique=True)
    image = StringField()
    container_id = StringField()
    host_server = ReferenceField(DockerHostServer)
    port_bindings = EmbeddedDocumentListField(PortBinding, default=[])
Exemplo n.º 27
0
 class Home(Document):
     dad = ReferenceField(
         AbstractHuman)  # Referencing the abstract class
     address = StringField()
Exemplo n.º 28
0
class AzureEndPoint(DynamicEmbeddedDocument):
    name = StringField()
    protocol = StringField()
    public_port = IntField()
    private_port = IntField()
    url = StringField()
Exemplo n.º 29
0
 class City(Document):
     continent = StringField()
     meta = {"abstract": True, "allow_inheritance": False}
Exemplo n.º 30
0
class DomTree(EmbeddedDocument):  # 保存网页dom树
    update_time = StringField()  # 更新时间,格式化字符串
    dom_nodes = ListField(EmbeddedDocumentField(DomNode))
    tree_hash = StringField()