Esempio n. 1
0
class WordCloudModel(db.Document):
    keyword = db.StringField(required=True)
    related_keywords = db.StringField(required=True)
    datetime = db.StringField(required=True)

    def __init__(self, keyword, related_keywords, datetime, *args, **kwargs):
        super(db.Document, self).__init__()
        self.keyword = keyword
        self.related_keywords = related_keywords
        self.datetime = datetime

    def json(self):
        return {
            'keyword': self.keyword,
            'related_keywords': self.related_keywords,
            'datetime': self.datetime
        }

    @classmethod
    def find_by_keyword(cls, keyword):
        return cls.objects(keyword=keyword)

    @classmethod
    def aggregate_related_keywords(cls, related_keywords_list):
        pass

    def save_to_db(self):
        self.save()
Esempio n. 2
0
class EventModel(db.Document):

    name = db.StringField(required=True)
    organizer = db.StringField()
    location = db.StringField()
    about = db.StringField()
    attendees = db.ListField(default=[])
    date = db.DateTimeField()
    event_type = db.StringField(default='other',
                                choices=[
                                    'tech', 'science', 'finance',
                                    'artisan skills', 'health', 'education',
                                    'art', 'other'
                                ])

    meta = {'collection': 'events'}

    def json(self):
        return json.loads(self.to_json())

    def save_to_db(self):
        self.save()

    def delete_from_db(self):
        self.delete()
Esempio n. 3
0
class Product(db.Document):
    product_name = db.StringField(required=True)
    url = db.StringField(required=True)
    product_image = db.StringField()
    price = db.FloatField(required=True)
    added_by = db.ReferenceField('User')
    in_list = db.ReferenceField('List')
Esempio n. 4
0
class Evento(gj.Document):
    title = db.StringField(max_length=256)
    start = db.DateTimeField()
    backgroundColor = db.StringField()
    textColor = db.StringField(default="white")
    cursos = db.ListField(db.ReferenceField(Curso))
    activo = db.BooleanField(default=False)
    eliminado = db.BooleanField(default=False)

    def setStart(self):
        mes = str(self.start.month)
        dia = str(self.start.day)
        if len(str(self.start.month)) is 1:
            mes = "0" + str(self.start.month)
        if len(str(self.start.day)) is 1:
            dia = "0" + str(self.start.day)
        return str(self.start.year) + "-" + mes + "-" + dia

    def to_dict(self):
        cursos = []
        for curso in self.cursos:
            cursos.append(curso.nombre)
        return {
            "id": str(self.id),
            "title": self.title,
            "start": self.setStart(),
            "backgroundColor": self.backgroundColor,
            "textColor": self.textColor,
            "cursos": cursos,
            "activo": self.activo
        }
Esempio n. 5
0
class UserModel(db.Document):

    first_name = db.StringField(required=True)
    last_name = db.StringField(required=True)
    email_address = db.EmailField(required=True, unique=True)
    password = db.StringField(required=True)
    organizations_following = db.ListField(default=[])
    users_following = db.ListField(default=[])
    services = db.ListField(default=[])

    meta = {'collection': 'users'}

    def json(self):
        return json.loads(self.to_json())

    def save_to_db(self):
        self.save()

    def delete_from_db(self):
        self.delete()

    def add_service(self, service_object):
        self.services.append(service_object)

    def follow_organization(self, organization_object):
        self.organizations_following.append(organization_object)

    def follow_user(self, user_object):
        self.users_following.append(user_object)

    @classmethod
    def find_by_email(cls, email_address):
        return UserModel.objects(email_address=email_address).first()
Esempio n. 6
0
class Pregunta(db.EmbeddedDocument):
    tipo_pregunta = db.StringField(choices=TIPOS_PREGUNTA)
    texto = db.StringField()
    alternativas = db.ListField(db.EmbeddedDocumentField(Alternativa))
    habilidad = db.ReferenceField(Habilidad, requiered=True)
    indice = db.IntField()
    meta = {'strict': False}

    def to_dict(self):
        habilidad = ""
        if self.habilidad != None:
            habilidad = self.habilidad.to_dict()
        alternativas = []
        contador = 0
        for alternativa in self.alternativas:
            numero_alternativa = contador
            alternativas.append(alternativa.to_dict())
            contador = contador + 1
        return {
            "texto": self.texto,
            "tipo_pregunta": self.tipo_pregunta,
            "alternativas": alternativas,
            "habilidad": habilidad,
            "indice": self.indice
        }
Esempio n. 7
0
class Blockchainid(db.Document):
    # metadata
    created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
    # account data
    username = db.StringField(max_length=255, required=True)
    profile = db.StringField(required=True)
    transfer_address = db.StringField(max_length=255, required=True)
Esempio n. 8
0
class CursoBase(gj.Document):
    nombre = db.StringField(verbose_name="Nombre curso", max_length=200)
    descripcion = db.StringField()
    fecha_creacion = db.DateTimeField(default=datetime.now)
    contenidos = db.ListField(db.EmbeddedDocumentField(Contenido))
    institucion = db.ReferenceField(Institucion)
    categoria = db.ReferenceField(Categoria)
    habilidades = db.ListField(db.ReferenceField(Habilidad)) 

    imagen = db.StringField()
    meta = {'strict': False}

    def __str__(self):
        return self.nombre
    
    def to_dict(self):
        contenidos = []
        for contenido in self.contenidos:
            contenidos.append(contenido.to_dict())

        habilidades = []
        for habilidad in self.habilidades:
            habilidades.append(habilidad.to_dict())

        return{
            "id": str(self.id),
            "nombre": self.nombre,
            "descripcion": self.descripcion,
            "fecha_creacion": str(self.fecha_creacion),
            "contenidos": contenidos,
            "imagen": self.imagen,
            "categoria": self.categoria.to_dict(),
            "habilidades": habilidades
        }
class Alternativa(db.EmbeddedDocument):
    texto = db.StringField()
    texto_secundario = db.StringField()
    correcta = db.BooleanField(default=False)
    meta = {'strict': False}

    def to_dict(self):
        return {"texto": self.texto, "correcta": self.correcta}
Esempio n. 10
0
class Task(db.Document):
    id = db.IntField()
    title = db.StringField()
    description = db.StringField()
    done = db.BoolField()

    @classmethod
    def find_all(cls) -> List["Task"]:
        return cls.query.all()
Esempio n. 11
0
class Account(db.Document):
    username = db.StringField(required=True, unique=True)
    password = db.StringField(required=True, min_length=6)

    def hash_password(self):
        self.password = generate_password_hash(self.password).decode('utf8')

    def check_password(self, password):
        return check_password_hash(self.password, password)
Esempio n. 12
0
class User(db.Document, UserMixin):
    email = db.StringField(max_length=255)
    password = db.StringField(max_length=255)
    active = db.BooleanField(default=True)
    confirmed_at = db.DateTimeField()
    roles = db.ListField(db.ReferenceField(Role), default=[])

    def __unicode__(self):
        return self.email
Esempio n. 13
0
class NameList(db.Document):
    game = db.ReferenceField(Game, verbose_name=u'赛事')
    no = db.IntField(unique_with='game', verbose_name=u'赛号')
    company = db.StringField(verbose_name=u'单位名称')
    team_no = db.StringField(verbose_name=u'队伍编号')
    players = db.StringField(verbose_name=u'选手')

    def __unicode__(self):
        return u'赛号:%d 选手:%s 单位:%s' % (self.no, self.players, self.company)
Esempio n. 14
0
class User(db.Document):
    username = db.StringField(required=True, unique=True)
    password = db.StringField(required=True)
    phone_number = db.StringField(required=True)
    isActivated = db.BooleanField(default=False)
    isDriver = db.BooleanField(default=False)

    def hash_password(self):
        self.password = generate_password_hash(self.password).decode('utf-8')

    def check_password(self, password):
        return check_password_hash(self.password, password)
Esempio n. 15
0
class User(db.Document):
    name = db.StringField(required=True)
    email = db.EmailField(required=True, unique=True, min_length=6)
    password = db.StringField(required=True, min_length=6)
    profile_pic = db.StringField(default="")
    list_of_products = db.ListField(db.ReferenceField('List', reverse_delete_rule=db.PULL))
    friends = db.ListField()

    def hash_password(self):
        self.password = generate_password_hash(self.password).decode('utf8')

    def check_password(self, password):
        return check_password_hash(self.password, password)    
class Product(db.Document):
    meta = {"collection": "products", "queryset_class": MyQuerySet}

    name = db.StringField(required=True)
    description = db.StringField(required=True)
    price = db.DecimalField(0, precision=2, required=True)
    location = db.EmbeddedDocumentField(Location, required=True)
    dateAdded = db.DateTimeField(default=datetime.now, required=True)
    seller = db.LazyReferenceField(User, reverse_delete_rule=2, required=True)

    def to_json(self):
        data = self.to_mongo()
        data["seller"] = loads(self.seller.fetch().to_json())
        return json_util.dumps(data)
Esempio n. 17
0
class Alternativa(db.EmbeddedDocument):
    texto = db.StringField()
    texto_secundario = db.StringField()
    correcta = db.BooleanField(default=False)
    numero_alternativa = db.IntField(default=0)
    meta = {'strict': False}

    def to_dict(self):
        return{
            "texto": self.texto,
            "texto_secundario": self.texto_secundario,
            "correcta": self.correcta,
            "numero_alternativa": self.numero_alternativa,
            "numero_opcion": self.numero_alternativa
        }
Esempio n. 18
0
class Topico(gj.Document):
    nombre = db.StringField(verbose_name="Nombre Topico", max_length=200)
    asignatura = db.ReferenceField(Asignatura)
    activo = db.BooleanField(default=True)
    meta = {'strict': False}

    def __str__(self):
        return self.nombre

    def to_dict(self):
        return {
            "id": str(self.id),
            "asignatura": self.asignatura.to_dict(),
            "nombre": self.nombre
        }

    def to_excel(self):
        return [str(self.id), self.nombre, self.asignatura.to_dict()["nombre"]]

    @classmethod
    def export_to_excel(cls, topicos):
        result_list_topicos = [["Id. Topico", "Nombre Topico", "Asignatura"]]
        for topico in topicos:
            result_list_topicos.append(topico.to_excel())
        return result_list_topicos
Esempio n. 19
0
class Case(db.Document):
    date = db.StringField(required=True)
    location = db.StringField(required=True)
    created_by = db.DocumentField(User)

    @classmethod
    def find_all(cls) -> List['Case']:
        return cls.query.all()

    @classmethod
    def find_case_by_user(cls, user: User) -> List['Case']:
        user_cases = cls.query.filter(cls.created_by == user).all()
        return user_cases

    def save_case(self) -> None:
        db.session.save(self)
Esempio n. 20
0
class Categoria(gj.Document):
    nombre = db.StringField(verbose_name="Nombre Categoria", max_length=200)
    activo = db.BooleanField(default=True)
    imagen = db.StringField()
    meta = {'strict': False}

    def __str__(self):
        return self.nombre

    def to_dict(self):
        return {
            "id": str(self.id),
            "nombre": self.nombre,
            "activo": self.activo,
            "imagen": self.imagen
        }
Esempio n. 21
0
class Evaluacion(gj.Document):
    alumno = db.ReferenceField(Alumno)
    curso = db.ReferenceField(Curso)
    acierto = db.IntField(default=0)
    creado = db.DateTimeField(default=datetime.now)
    actualizado = db.DateTimeField(default=datetime.now)
    respuestas = db.ListField(db.EmbeddedDocumentField(Respuesta))
    json = db.StringField()
    meta = {'strict': False}

    def save(self, *args):
        self.actualizado = datetime.now()
        super().save()

    def to_dict(self):
        contenidos_respuesta = []
        for respuesta in self.respuestas:
            contenidos_respuesta.append(respuesta.to_dict())
        return {
            "id": str(self.id),
            "alumno": self.alumno.to_dict(False),
            "recurso": str(self.curso.id),
            "recurso_nombre": self.curso.nombre,
            "respuestas": contenidos_respuesta,
            "acierto": self.acierto
        }
Esempio n. 22
0
class Historial(db.EmbeddedDocument):
    fecha = db.DateTimeField(default=datetime.now)
    data = db.StringField()
    meta = {'strict': False}

    def to_dict(self):
        return {"fecha": str(self.fecha), "data": self.data}
Esempio n. 23
0
class Material(db.Document, BaseMixin):
    name = db.StringField(min_length=3, max_length=100, required=True)
    description = db.StringField(max_length=100, default="")
    topic = db.ReferenceField(Topic, default=None)
    content = db.StringField(required=True)

    def __str__(self):
        return f"{self.name}"

    def update_all(self, **kwargs):
        self.name = kwargs["name"]
        self.description = kwargs["description"]
        self.content = kwargs["content"]
        if kwargs["topic"]:
            self.topic = Topic.find(id=kwargs["topic"])
        self.save()
Esempio n. 24
0
class Comuna(db.Document):
    nombre = db.StringField()
    ciudad = db.ReferenceField(Ciudad)
    meta = {'strict': False}

    def __str__(self):
        return self.nombre
Esempio n. 25
0
class Direccion(db.EmbeddedDocument):
    calle = db.StringField(max_length=50)
    numero = db.StringField(max_length=50)
    comuna = db.StringField(max_length=50)
    cas_dep_of = db.StringField(max_length=50)
    meta = {'strict': False}

    def __str__(self):
        return self.nombre

    def to_dict(self):
        return {
            "calle": self.calle,
            "numero": self.numero,
            "comuna": self.comuna,
            "cas_dep_of": self.cas_dep_of
        }
Esempio n. 26
0
class ItemModel(db.Document):
    name = db.StringField()
    image = db.URLField()
    description = db.StringField()
    specifications = db.ListField(db.DictField())

    @classmethod
    def find_by_name(cls, name):
        item = ItemModel.objects(name=name)
        if item:
            return ItemModel.objects.get(name=name)

    def save_to_db(self):
        self.save()

    def delete_from_db(self):
        self.delete()
Esempio n. 27
0
class Alerta(db.Document):
    tipo = db.StringField(choices=TIPOS_ALERTA)
    alumno = db.ReferenceField(Alumno)
    asignatura = db.ReferenceField(Asignatura)
    data = db.StringField(max_length=250)
    fecha = db.DateTimeField(default=datetime.now)
    historial = db.ListField(db.EmbeddedDocumentField(Historial))

    def to_dict(self):
        return {
            "id": str(self.id),
            "alumno": self.alumno.to_dict(),
            "data": self.data,
            "fecha": self.fecha.strftime("%m/%d/%Y %H:%M:%S"),
            "tipo": self.tipo,
            "asignatura": self.asignatura.to_dict()
        }
Esempio n. 28
0
class User(db.Document):
    meta = {"collection": "users", "queryset_class": MyQuerySet}

    email = db.EmailField(required=True, unique=True)
    password = db.StringField(required=True)
    role = db.StringField(required=True, choices=("user", "admin"))

    def to_json(self):
        data = self.to_mongo()
        del data["password"]
        return json_util.dumps(data)

    def hashPassword(self):
        self.password = generate_password_hash(self.password).decode("utf8")

    def checkPassword(self, password):
        return check_password_hash(self.password, password)
Esempio n. 29
0
class FlashesModel(db.Document):
    __tablename__ = "flashes"

    flash_id = db.IntField()
    time = db.StringField( max_length=20)
    lat = db.FloatField()
    lon = db.FloatField()
    region = db.IntField()
    delay = db.FloatField()

    # flash_id = db.Column(db.Integer, primary_key=True)
    # time = db.Column(db.String(20), nullable=False)
    # lat = db.Column(db.Float, nullable=False)
    # lon = db.Column(db.Float, nullable=False)
    # region = db.Column(db.Float, nullable=False)
    # delay = db.Column(db.Float, nullable=False)



    @classmethod
    def find_by_id(cls, flash_id: int) -> "FlashesModel":
        return cls.query.filter_by(flash_id=flash_id).first()

    @classmethod
    def find_by_region(cls, region: int) -> "FlashesModel":
        return cls.query.filter_by(region=region).first()

    @classmethod
    def find_by_lat(cls, lat: int) -> "FlashesModel":
        return cls.query.filter_by(lat=lat).first()

    @classmethod
    def find_by_lon(cls, lon: int) -> "FlashesModel":
        return cls.query.filter_by(lon=lon).first()

    @classmethod
    def find_by_time(cls, time: str) -> "FlashesModel":
        return cls.query.filter_by(time=time).first()

    @classmethod
    def find_all(cls):

        return(mycol.find())

        # return(mydb.collection.find())

        # for cls.x in mycol.find():
        #     return(cls.x)

        # return cls.query.all()

    def save_to_db(self) -> None:
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self) -> None:
        db.session.delete(self)
        db.session.commit()
Esempio n. 30
0
class CursoBase(gj.Document):
    nombre = db.StringField(verbose_name="Nombre curso", max_length=200)
    descripcion = db.StringField()
    fecha_creacion = db.DateTimeField(default=datetime.now)
    contenidos = db.ListField(db.EmbeddedDocumentField(Contenido))
    categoria = db.ReferenceField(Categoria, requiered=True)
    habilidades = db.ListField(db.ReferenceField(Habilidad))
    imagen = db.StringField()

    # juego
    android = db.URLField(help_text="Url para android")
    ios = db.URLField(help_text="Url para ios")

    meta = {'strict': False}

    def __str__(self):
        return self.nombre

    def to_dict(self):
        contenidos = []
        contador = 0
        for contenido in self.contenidos:
            contenido.indentificador = contador
            contenidos.append(contenido.to_dict())
            contador = contador + 1

        habilidades = []
        for habilidad in self.habilidades:
            habilidades.append(habilidad.to_dict())

        categoria = {}
        if self.categoria:
            categoria = self.categoria.to_dict()

        self.save()
        return {
            "id": str(self.id),
            "nombre": self.nombre,
            "descripcion": self.descripcion,
            "fecha_creacion": str(self.fecha_creacion),
            "contenidos": contenidos,
            "imagen": self.imagen,
            "categoria": categoria,
            "habilidades": habilidades
        }