Ejemplo n.º 1
0
 def get_root_item_by_user_id(cls, user_id):
     mode_select = DataItem.select(DataItem, PanAccounts).join(
         PanAccounts, on=(DataItem.panacc == PanAccounts.id),
         attr="pan").where(DataItem.filename == TOP_DIR_FILE_NAME,
                           PanAccounts.user_id == user_id)
     # print("get_root_item_by_user_id:", mode_select)
     return mode_select
Ejemplo n.º 2
0
    def new_local_visible_by_parent(cls, parent_id, show):
        offset = 0
        size = 500
        cdi: DataItem = None
        ln = size
        dog = 1000000
        while ln == size and dog > 0:
            dog = dog - 1
            ms = DataItem.select().where(
                DataItem.parent == parent_id,
                DataItem.isdir == 0).offset(offset).limit(size)
            ln = len(ms)
            item_list = []
            for cdi in ms:
                rs = LocalVisible.select().where(
                    LocalVisible.id == cdi.id).exists()
                if not rs:
                    if show == 1:
                        item_list.append(cdi)
                else:
                    if show == 0:
                        item_list.append(cdi)

            if item_list:
                cls.del_save_local_list(item_list, show)
            # print("dog:", dog, ",offset:", offset)
            offset = offset + size
Ejemplo n.º 3
0
 def query_data_item_by_parent(cls,
                               parent_id,
                               is_dir=True,
                               offset=0,
                               limit=100):
     return DataItem.select().where(
         DataItem.isdir == (1 if is_dir else 0),
         DataItem.parent == parent_id).limit(limit).offset(offset)
Ejemplo n.º 4
0
 def sum_size_dir(cls, parent_id):
     model_rs: ModelSelect = DataItem.select(
         fn.SUM(DataItem.size).alias('total')).where(
             DataItem.parent == parent_id)
     if model_rs:
         # print('model_rs:', model_rs.dicts())
         v = model_rs.dicts()[0].get('total')
         if v:
             return v
     return 0
Ejemplo n.º 5
0
 def find_need_update_size_dir(cls, parent_id) -> DataItem:
     return DataItem.select().where(DataItem.parent == parent_id,
                                    DataItem.isdir == 1,
                                    DataItem.sized == 0).first()
Ejemplo n.º 6
0
 def query_leaf_data_item(cls, is_dir=True, offset=0, limit=100):
     # Parent = DataItem.alias()
     return DataItem.select().where(
         DataItem.isdir == (1 if is_dir else 0),
         DataItem.pin == 0).limit(limit).offset(offset)
Ejemplo n.º 7
0
 def query_data_item_by_parent_all(cls, parent_id, offset=0, limit=100):
     return DataItem.select().where(
         DataItem.parent == parent_id).limit(limit).offset(offset)
Ejemplo n.º 8
0
 def check_data_item_exists_by_parent(cls, item_id, parent_id):
     return DataItem.select().where(DataItem.id == item_id,
                                    DataItem.parent == parent_id).exists()
Ejemplo n.º 9
0
 def get_root_item_by_pan_id(cls, pan_id):
     return DataItem.select().where(DataItem.filename == TOP_DIR_FILE_NAME,
                                    DataItem.panacc == pan_id)
Ejemplo n.º 10
0
 def get_data_item_by_id(cls, pk_id):
     return DataItem.select().where(DataItem.id == pk_id).first()
Ejemplo n.º 11
0
 def get_data_item_by_fs_id(cls, fs_id):
     return DataItem.select().where(DataItem.fs_id == fs_id).first()