Пример #1
0
 def list_directories(self, subdir):
     url = '/api2/repos/%s/dir/' % self.id
     query = '?p=%s&t=d' % subdir
     resp = self.client.get(url + query)
     dir_id = resp.headers['oid']
     dir_json = resp.json()
     dir = SeafDir(self, subdir, dir_id)
     dir.load_entries(dir_json)
     return dir
Пример #2
0
    def get_dir(self, path):
        """Get the dir object located in `path` in this repo.

        Return a :class:`SeafDir` object
        """
        assert path.startswith('/')
        url = '/api2/repos/%s/dir/' % self.id
        query = '?' + urlencode(dict(p=path))
        resp = self.client.get(url + query)
        dir_id = resp.headers['oid']
        dir_json = resp.json()
        dir = SeafDir(self, path, dir_id)
        dir.load_entries(dir_json)
        return dir
Пример #3
0
    def get_dir(self, path):
        """Get the dir object located in `path` in this repo.

        Return a :class:`SeafDir` object
        """
        assert path.startswith('/')
        url = '/api2/repos/%s/dir/' % self.id
        query = '?' + urlencode(dict(p=path))
        resp = self.client.get(url + query)
        dir_id = resp.headers['oid']
        dir_json = resp.json()
        dir = SeafDir(self, path, dir_id)
        dir.load_entries(dir_json)
        return dir
Пример #4
0
    def list_shared_folders(self,shared_email=None):
        '''
        List Shared Folders
        :param  shared_email    [string|None]According to the email to filter on the Shared folder. if None then no filter.
        :return:    [list(SeafDir)]
        '''

        repos_json = self.client.get('/api/v2.1/shared-folders/').json()
        shared_folders = []

        for t_folder in repos_json:

            seaf_dir_obj = SeafDir.create_from_shared_folder(t_folder,self.client)

            t_user_email = t_folder.get("user_email",None)

            if shared_email:
                if t_user_email == shared_email:
                    shared_folders.append(seaf_dir_obj)
            else:
                shared_folders.append(seaf_dir_obj)

        return shared_folders