示例#1
0
 def save(self, vo: DatasetVO):
     try:
         if vo.id is None:
             now = datetime.now()
             ds = DatasetEntity.create(name=vo.name,
                                       folder=vo.folder,
                                       description=vo.description,
                                       data_type=vo.data_type,
                                       date=now.isoformat())
             vo.id = ds.get_id()
         else:
             ds = DatasetEntity.get_by_id(vo.id)
             if ds:
                 ds.name = vo.name
                 ds.description = vo.description
                 ds.save()
     except IntegrityError as e:
         print(e)
示例#2
0
 def fetch_all(self):
     cursor = DatasetEntity.select().dicts().execute()
     result = []
     for ds in list(cursor):
         vo = DatasetVO()
         result.append(vo)
         for k, v in ds.items():
             setattr(vo, k, v)
     return result
示例#3
0
    def fetch_all_with_size(self):
        ds = DatasetEntity.alias("ds")
        m = DatasetEntryEntity.alias("m")
        query = (ds.select(ds.id, ds.name, ds.data_type,
                           fn.SUM(m.file_size).alias("size")).join(
                               m, JOIN.LEFT_OUTER,
                               on=ds.id == m.dataset_id).group_by(ds.id))
        query_results = list(query.dicts().execute())
        result = []
        for ds in query_results:
            vo = DatasetVO()
            result.append(vo)
            for k, v in ds.items():
                setattr(vo, k, v)

        return result
示例#4
0
    def delete(self, id: int):
        results = DatasetEntity.delete_by_id(id)

        return results