mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-22 16:56:57 +00:00
Update dir api (#2869)
* update dir api return dict format response * [listDir] modified listDir after api updated
This commit is contained in:
parent
35c1663dc2
commit
0fb958d9bd
@ -170,7 +170,7 @@ class DirView extends React.Component {
|
|||||||
let repoID = this.state.repoID;
|
let repoID = this.state.repoID;
|
||||||
this.setState({isDirentListLoading: true});
|
this.setState({isDirentListLoading: true});
|
||||||
seafileAPI.listDir(repoID, path, {'with_thumbnail': true}).then(res => {
|
seafileAPI.listDir(repoID, path, {'with_thumbnail': true}).then(res => {
|
||||||
let direntList = res.data.map(item => {
|
let direntList = res.data.dirent_list.map(item => {
|
||||||
let fileName = item.name.toLowerCase();
|
let fileName = item.name.toLowerCase();
|
||||||
if (fileName === 'readme.md' || fileName === 'readme.markdown') {
|
if (fileName === 'readme.md' || fileName === 'readme.markdown') {
|
||||||
this.setState({readmeMarkdown: item});
|
this.setState({readmeMarkdown: item});
|
||||||
|
@ -45,7 +45,7 @@ class DirentListItem extends React.Component {
|
|||||||
if (!this.state.hasRequest) {
|
if (!this.state.hasRequest) {
|
||||||
seafileAPI.listDir(this.props.repo.repo_id, this.state.filePath).then(res => {
|
seafileAPI.listDir(this.props.repo.repo_id, this.state.filePath).then(res => {
|
||||||
let direntList = [];
|
let direntList = [];
|
||||||
res.data.forEach(item => {
|
res.data.dirent_list.forEach(item => {
|
||||||
if (this.props.isShowFile === true) { // show dir and file
|
if (this.props.isShowFile === true) { // show dir and file
|
||||||
let dirent = new Dirent(item);
|
let dirent = new Dirent(item);
|
||||||
direntList.push(dirent);
|
direntList.push(dirent);
|
||||||
|
@ -26,7 +26,7 @@ class DirentListView extends React.Component {
|
|||||||
let repo = this.props.repo;
|
let repo = this.props.repo;
|
||||||
seafileAPI.listDir(repo.repo_id, '/').then(res => {
|
seafileAPI.listDir(repo.repo_id, '/').then(res => {
|
||||||
let direntList = [];
|
let direntList = [];
|
||||||
res.data.forEach(item => {
|
res.data.dirent_list.forEach(item => {
|
||||||
if (this.props.isShowFile === true) {
|
if (this.props.isShowFile === true) {
|
||||||
let dirent = new Dirent(item);
|
let dirent = new Dirent(item);
|
||||||
direntList.push(dirent);
|
direntList.push(dirent);
|
||||||
|
@ -151,7 +151,7 @@ class EditorUtilities {
|
|||||||
|
|
||||||
getFiles() {
|
getFiles() {
|
||||||
return seafileAPI.listDir(repoID, dirPath, { recursive: true} ).then((response) => {
|
return seafileAPI.listDir(repoID, dirPath, { recursive: true} ).then((response) => {
|
||||||
var files = response.data.map((item) => {
|
var files = response.data.dirent_list.map((item) => {
|
||||||
return {
|
return {
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type === 'dir' ? 'dir' : 'file',
|
type: item.type === 'dir' ? 'dir' : 'file',
|
||||||
|
@ -248,7 +248,7 @@ class Wiki extends Component {
|
|||||||
|
|
||||||
loadSidePanel = (initialPath) => {
|
loadSidePanel = (initialPath) => {
|
||||||
seafileAPI.listDir(repoID, '/',{recursive: true}).then(items => {
|
seafileAPI.listDir(repoID, '/',{recursive: true}).then(items => {
|
||||||
const files = items.data.map(item => {
|
const files = items.data.dirent_list.map(item => {
|
||||||
return {
|
return {
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type === 'dir' ? 'dir' : 'file',
|
type: item.type === 'dir' ? 'dir' : 'file',
|
||||||
@ -337,7 +337,7 @@ class Wiki extends Component {
|
|||||||
this.setState({isDirentListLoading: true});
|
this.setState({isDirentListLoading: true});
|
||||||
seafileAPI.listDir(repoID, path, {'with_thumbnail': true}).then(res => {
|
seafileAPI.listDir(repoID, path, {'with_thumbnail': true}).then(res => {
|
||||||
let direntList = [];
|
let direntList = [];
|
||||||
res.data.forEach(item => {
|
res.data.dirent_list.forEach(item => {
|
||||||
let fileName = item.name.toLowerCase();
|
let fileName = item.name.toLowerCase();
|
||||||
if (fileName === 'readme.md' || fileName === 'readme.markdown') {
|
if (fileName === 'readme.md' || fileName === 'readme.markdown') {
|
||||||
this.setState({readmeMarkdown: item});
|
this.setState({readmeMarkdown: item});
|
||||||
|
@ -22,7 +22,7 @@ class EditorUtilities {
|
|||||||
|
|
||||||
listRepoDir() {
|
listRepoDir() {
|
||||||
return seafileAPI.listDir(repoID, '/',{recursive: true}).then(items => {
|
return seafileAPI.listDir(repoID, '/',{recursive: true}).then(items => {
|
||||||
const files = items.data.map(item => {
|
const files = items.data.dirent_list.map(item => {
|
||||||
return {
|
return {
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type === 'dir' ? 'dir' : 'file',
|
type: item.type === 'dir' ? 'dir' : 'file',
|
||||||
|
@ -113,21 +113,24 @@ class DirView(APIView):
|
|||||||
# get dir/file list recursively
|
# get dir/file list recursively
|
||||||
username = request.user.username
|
username = request.user.username
|
||||||
if recursive == '1':
|
if recursive == '1':
|
||||||
result = []
|
|
||||||
dir_file_info_list = get_dir_file_recursively(username, repo_id,
|
dir_file_info_list = get_dir_file_recursively(username, repo_id,
|
||||||
parent_dir, [])
|
parent_dir, [])
|
||||||
|
|
||||||
|
response_dict = {}
|
||||||
|
response_dict['dirent_list'] = []
|
||||||
|
|
||||||
if request_type == 'f':
|
if request_type == 'f':
|
||||||
for item in dir_file_info_list:
|
for item in dir_file_info_list:
|
||||||
if item['type'] == 'file':
|
if item['type'] == 'file':
|
||||||
result.append(item)
|
response_dict['dirent_list'].append(item)
|
||||||
elif request_type == 'd':
|
elif request_type == 'd':
|
||||||
for item in dir_file_info_list:
|
for item in dir_file_info_list:
|
||||||
if item['type'] == 'dir':
|
if item['type'] == 'dir':
|
||||||
result.append(item)
|
response_dict['dirent_list'].append(item)
|
||||||
else:
|
else:
|
||||||
result = dir_file_info_list
|
response_dict['dirent_list'] = dir_file_info_list
|
||||||
|
|
||||||
return Response(result)
|
return Response(response_dict)
|
||||||
|
|
||||||
# get dirent(folder and file) list
|
# get dirent(folder and file) list
|
||||||
try:
|
try:
|
||||||
@ -249,16 +252,17 @@ class DirView(APIView):
|
|||||||
dir_info_list.sort(lambda x, y: cmp(x['name'].lower(), y['name'].lower()))
|
dir_info_list.sort(lambda x, y: cmp(x['name'].lower(), y['name'].lower()))
|
||||||
file_info_list.sort(lambda x, y: cmp(x['name'].lower(), y['name'].lower()))
|
file_info_list.sort(lambda x, y: cmp(x['name'].lower(), y['name'].lower()))
|
||||||
|
|
||||||
if request_type == 'f':
|
response_dict = {}
|
||||||
result = file_info_list
|
response_dict["user_perm"] = permission
|
||||||
elif request_type == 'd':
|
|
||||||
result = dir_info_list
|
|
||||||
else:
|
|
||||||
result = dir_info_list + file_info_list
|
|
||||||
|
|
||||||
response = Response(result)
|
if request_type == 'f':
|
||||||
response["dir_perm"] = permission
|
response_dict['dirent_list'] = file_info_list
|
||||||
return response
|
elif request_type == 'd':
|
||||||
|
response_dict['dirent_list'] = dir_info_list
|
||||||
|
else:
|
||||||
|
response_dict['dirent_list'] = dir_info_list + file_info_list
|
||||||
|
|
||||||
|
return Response(response_dict)
|
||||||
|
|
||||||
def post(self, request, repo_id, format=None):
|
def post(self, request, repo_id, format=None):
|
||||||
""" Create, rename, revert dir.
|
""" Create, rename, revert dir.
|
||||||
|
@ -66,13 +66,13 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 2
|
assert len(json_resp['dirent_list']) == 2
|
||||||
|
|
||||||
assert json_resp[0]['type'] == 'dir'
|
assert json_resp['dirent_list'][0]['type'] == 'dir'
|
||||||
assert json_resp[0]['name'] == self.folder_name
|
assert json_resp['dirent_list'][0]['name'] == self.folder_name
|
||||||
|
|
||||||
assert json_resp[1]['type'] == 'file'
|
assert json_resp['dirent_list'][1]['type'] == 'file'
|
||||||
assert json_resp[1]['name'] == self.file_name
|
assert json_resp['dirent_list'][1]['name'] == self.file_name
|
||||||
|
|
||||||
def test_can_get_with_dir_type_parameter(self):
|
def test_can_get_with_dir_type_parameter(self):
|
||||||
|
|
||||||
@ -81,9 +81,9 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'dir'
|
assert json_resp['dirent_list'][0]['type'] == 'dir'
|
||||||
assert json_resp[0]['name'] == self.folder_name
|
assert json_resp['dirent_list'][0]['name'] == self.folder_name
|
||||||
|
|
||||||
def test_can_get_with_file_type_parameter(self):
|
def test_can_get_with_file_type_parameter(self):
|
||||||
|
|
||||||
@ -92,9 +92,9 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
|
|
||||||
def test_can_get_with_recursive_parameter(self):
|
def test_can_get_with_recursive_parameter(self):
|
||||||
|
|
||||||
@ -108,17 +108,17 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 3
|
assert len(json_resp['dirent_list']) == 3
|
||||||
assert json_resp[0]['type'] == 'dir'
|
assert json_resp['dirent_list'][0]['type'] == 'dir'
|
||||||
assert json_resp[0]['name'] == self.folder_name
|
assert json_resp['dirent_list'][0]['name'] == self.folder_name
|
||||||
assert json_resp[0]['parent_dir'] == '/'
|
assert json_resp['dirent_list'][0]['parent_dir'] == '/'
|
||||||
|
|
||||||
assert json_resp[1]['type'] == 'dir'
|
assert json_resp['dirent_list'][1]['type'] == 'dir'
|
||||||
assert json_resp[1]['name'] == new_dir_name
|
assert json_resp['dirent_list'][1]['name'] == new_dir_name
|
||||||
assert json_resp[1]['parent_dir'] == self.folder_path
|
assert json_resp['dirent_list'][1]['parent_dir'] == self.folder_path
|
||||||
|
|
||||||
assert json_resp[2]['type'] == 'file'
|
assert json_resp['dirent_list'][2]['type'] == 'file'
|
||||||
assert json_resp[2]['name'] == self.file_name
|
assert json_resp['dirent_list'][2]['name'] == self.file_name
|
||||||
|
|
||||||
def test_can_get_with_recursive_and_dir_type_parameter(self):
|
def test_can_get_with_recursive_and_dir_type_parameter(self):
|
||||||
|
|
||||||
@ -133,13 +133,13 @@ class DirViewTest(BaseTestCase):
|
|||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 2
|
assert len(json_resp) == 2
|
||||||
assert json_resp[0]['type'] == 'dir'
|
assert json_resp['dirent_list'][0]['type'] == 'dir'
|
||||||
assert json_resp[0]['name'] == self.folder_name
|
assert json_resp['dirent_list'][0]['name'] == self.folder_name
|
||||||
assert json_resp[0]['parent_dir'] == '/'
|
assert json_resp['dirent_list'][0]['parent_dir'] == '/'
|
||||||
|
|
||||||
assert json_resp[1]['type'] == 'dir'
|
assert json_resp['dirent_list'][1]['type'] == 'dir'
|
||||||
assert json_resp[1]['name'] == new_dir_name
|
assert json_resp['dirent_list'][1]['name'] == new_dir_name
|
||||||
assert json_resp[1]['parent_dir'] == self.folder_path
|
assert json_resp['dirent_list'][1]['parent_dir'] == self.folder_path
|
||||||
|
|
||||||
def test_can_get_with_recursive_and_file_type_parameter(self):
|
def test_can_get_with_recursive_and_file_type_parameter(self):
|
||||||
|
|
||||||
@ -153,9 +153,9 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
|
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
|
|
||||||
def test_can_get_file_with_lock_info(self):
|
def test_can_get_file_with_lock_info(self):
|
||||||
|
|
||||||
@ -168,10 +168,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert json_resp[0]['lock_owner'] == ''
|
assert json_resp['dirent_list'][0]['lock_owner'] == ''
|
||||||
|
|
||||||
# lock file
|
# lock file
|
||||||
seafile_api.lock_file(self.repo_id, self.file_path, self.admin_name, 1)
|
seafile_api.lock_file(self.repo_id, self.file_path, self.admin_name, 1)
|
||||||
@ -180,10 +180,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert json_resp[0]['lock_owner'] == self.admin_name
|
assert json_resp['dirent_list'][0]['lock_owner'] == self.admin_name
|
||||||
|
|
||||||
def test_can_get_file_with_star_info(self):
|
def test_can_get_file_with_star_info(self):
|
||||||
|
|
||||||
@ -193,10 +193,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert json_resp[0]['starred'] == False
|
assert json_resp['dirent_list'][0]['starred'] == False
|
||||||
|
|
||||||
# star file
|
# star file
|
||||||
resp = self.client.post(reverse('starredfiles'), {'repo_id': self.repo.id, 'p': self.file_path})
|
resp = self.client.post(reverse('starredfiles'), {'repo_id': self.repo.id, 'p': self.file_path})
|
||||||
@ -206,10 +206,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert json_resp[0]['starred'] == True
|
assert json_resp['dirent_list'][0]['starred'] == True
|
||||||
|
|
||||||
def test_can_get_file_with_tag_info(self):
|
def test_can_get_file_with_tag_info(self):
|
||||||
|
|
||||||
@ -219,10 +219,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert not json_resp[0].has_key('file_tags')
|
assert not json_resp['dirent_list'][0].has_key('file_tags')
|
||||||
|
|
||||||
# add file tag
|
# add file tag
|
||||||
tag_name = randstring(6)
|
tag_name = randstring(6)
|
||||||
@ -238,12 +238,12 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f')
|
resp = self.client.get(self.url + '?t=f')
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == self.file_name
|
assert json_resp['dirent_list'][0]['name'] == self.file_name
|
||||||
assert json_resp[0]['file_tags'][0]['repo_tag_id'] == repo_tag_id
|
assert json_resp['dirent_list'][0]['file_tags'][0]['repo_tag_id'] == repo_tag_id
|
||||||
assert json_resp[0]['file_tags'][0]['tag_name'] == tag_name
|
assert json_resp['dirent_list'][0]['file_tags'][0]['tag_name'] == tag_name
|
||||||
assert json_resp[0]['file_tags'][0]['tag_color'] == tag_color
|
assert json_resp['dirent_list'][0]['file_tags'][0]['tag_color'] == tag_color
|
||||||
|
|
||||||
def test_can_get_file_with_thumbnail_info(self):
|
def test_can_get_file_with_thumbnail_info(self):
|
||||||
|
|
||||||
@ -258,12 +258,12 @@ class DirViewTest(BaseTestCase):
|
|||||||
resp = self.client.get(self.url + '?t=f&with_thumbnail=true&p=%s' % self.folder_path)
|
resp = self.client.get(self.url + '?t=f&with_thumbnail=true&p=%s' % self.folder_path)
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == image_file_name
|
assert json_resp['dirent_list'][0]['name'] == image_file_name
|
||||||
assert not json_resp[0].has_key('encoded_thumbnail_src')
|
assert not json_resp['dirent_list'][0].has_key('encoded_thumbnail_src')
|
||||||
|
|
||||||
file_id = json_resp[0]['id']
|
file_id = json_resp['dirent_list'][0]['id']
|
||||||
|
|
||||||
# prepare thumbnail
|
# prepare thumbnail
|
||||||
size = 48
|
size = 48
|
||||||
@ -281,10 +281,10 @@ class DirViewTest(BaseTestCase):
|
|||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
self.assertEqual(200, resp.status_code)
|
self.assertEqual(200, resp.status_code)
|
||||||
json_resp = json.loads(resp.content)
|
json_resp = json.loads(resp.content)
|
||||||
assert len(json_resp) == 1
|
assert len(json_resp['dirent_list']) == 1
|
||||||
assert json_resp[0]['type'] == 'file'
|
assert json_resp['dirent_list'][0]['type'] == 'file'
|
||||||
assert json_resp[0]['name'] == image_file_name
|
assert json_resp['dirent_list'][0]['name'] == image_file_name
|
||||||
assert image_file_name in json_resp[0]['encoded_thumbnail_src']
|
assert image_file_name in json_resp['dirent_list'][0]['encoded_thumbnail_src']
|
||||||
|
|
||||||
def test_get_dir_with_invalid_perm(self):
|
def test_get_dir_with_invalid_perm(self):
|
||||||
# login as admin, then get dir info in user's repo
|
# login as admin, then get dir info in user's repo
|
||||||
|
Loading…
Reference in New Issue
Block a user