mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-27 23:56:18 +00:00
update create dir api
recreate dir when failed when `file already exists'.
This commit is contained in:
@@ -3108,11 +3108,18 @@ class DirView(APIView):
|
|||||||
error_msg = 'Permission denied.'
|
error_msg = 'Permission denied.'
|
||||||
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
return api_error(status.HTTP_403_FORBIDDEN, error_msg)
|
||||||
|
|
||||||
new_dir_name = check_filename_with_rename(repo_id, parent_dir, new_dir_name)
|
retry_count = 0
|
||||||
|
while retry_count < 10:
|
||||||
|
new_dir_name = check_filename_with_rename(repo_id,
|
||||||
|
parent_dir, new_dir_name)
|
||||||
try:
|
try:
|
||||||
seafile_api.post_dir(repo_id, parent_dir,
|
seafile_api.post_dir(repo_id,
|
||||||
new_dir_name, username)
|
parent_dir, new_dir_name, username)
|
||||||
|
break
|
||||||
except SearpcError as e:
|
except SearpcError as e:
|
||||||
|
if str(e) == 'file already exists':
|
||||||
|
retry_count += 1
|
||||||
|
else:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
return api_error(HTTP_520_OPERATION_FAILED,
|
return api_error(HTTP_520_OPERATION_FAILED,
|
||||||
'Failed to make directory.')
|
'Failed to make directory.')
|
||||||
|
Reference in New Issue
Block a user