Showing
4 changed files
with
14 additions
and
4 deletions
| ... | @@ -31,24 +31,29 @@ def list_path(bucket, user, path): | ... | @@ -31,24 +31,29 @@ def list_path(bucket, user, path): |
| 31 | 31 | ||
| 32 | return {'files':files} | 32 | return {'files':files} |
| 33 | 33 | ||
| 34 | + | ||
| 34 | def upload_file(bucket, user, local_path, key): | 35 | def upload_file(bucket, user, local_path, key): |
| 35 | return S3.upload_file(local_path, bucket, user+"/"+key) | 36 | return S3.upload_file(local_path, bucket, user+"/"+key) |
| 36 | 37 | ||
| 38 | + | ||
| 37 | def download_file(bucket, user, local_path, key): | 39 | def download_file(bucket, user, local_path, key): |
| 38 | return S3.download_file(bucket, user+"/"+key, local_path) | 40 | return S3.download_file(bucket, user+"/"+key, local_path) |
| 39 | 41 | ||
| 42 | + | ||
| 40 | def delete_path(bucket, user, path): | 43 | def delete_path(bucket, user, path): |
| 41 | return S3.delete_object(Bucket=bucket, Key=user+"/"+path) | 44 | return S3.delete_object(Bucket=bucket, Key=user+"/"+path) |
| 42 | 45 | ||
| 46 | + | ||
| 43 | def make_directory(bucket, user, path): | 47 | def make_directory(bucket, user, path): |
| 44 | return S3.put_object(Bucket=BUCKET, Key=user+"/"+path) | 48 | return S3.put_object(Bucket=BUCKET, Key=user+"/"+path) |
| 45 | 49 | ||
| 46 | -# | 50 | + |
| 47 | def move_file(bucket, user, old_path, new_path): | 51 | def move_file(bucket, user, old_path, new_path): |
| 48 | S3.copy_object(Bucket=bucket, CopySource=bucket+"/"+user+"/"+old_path, Key=user+"/"+new_path) | 52 | S3.copy_object(Bucket=bucket, CopySource=bucket+"/"+user+"/"+old_path, Key=user+"/"+new_path) |
| 49 | S3.delete_object(Bucket=bucket, Key=user+"/"+old_path) | 53 | S3.delete_object(Bucket=bucket, Key=user+"/"+old_path) |
| 50 | return | 54 | return |
| 51 | 55 | ||
| 56 | + | ||
| 52 | def copy_file(bucket, user, old_path, new_path): | 57 | def copy_file(bucket, user, old_path, new_path): |
| 53 | S3.copy_object(Bucket=bucket, CopySource=bucket+"/"+user+"/"+old_path, Key=user+"/"+new_path) | 58 | S3.copy_object(Bucket=bucket, CopySource=bucket+"/"+user+"/"+old_path, Key=user+"/"+new_path) |
| 54 | return | 59 | return | ... | ... |
| ... | @@ -53,7 +53,7 @@ | ... | @@ -53,7 +53,7 @@ |
| 53 | </td> | 53 | </td> |
| 54 | <td class="center aligned collapsing"><i onclick="make_folder()" style="cursor: pointer;" class="sign out alternate icon"></i></td> | 54 | <td class="center aligned collapsing"><i onclick="make_folder()" style="cursor: pointer;" class="sign out alternate icon"></i></td> |
| 55 | <td class="center aligned collapsing"> | 55 | <td class="center aligned collapsing"> |
| 56 | - {% with new_path=path|add:file.name|add:'/' %} | 56 | + {% with new_path=path|add:file.name %} |
| 57 | <a href="{% url 'file_delete' path=new_path %}"><i class="trash alternate outline icon"></i></a> | 57 | <a href="{% url 'file_delete' path=new_path %}"><i class="trash alternate outline icon"></i></a> |
| 58 | {% endwith %} | 58 | {% endwith %} |
| 59 | </td> | 59 | </td> | ... | ... |
| ... | @@ -12,7 +12,9 @@ urlpatterns = [ | ... | @@ -12,7 +12,9 @@ urlpatterns = [ |
| 12 | url(r'^$', views.home, name='home'), | 12 | url(r'^$', views.home, name='home'), |
| 13 | url(r'^list/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_list, name='file_list'), | 13 | url(r'^list/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_list, name='file_list'), |
| 14 | url(r'^upload/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_upload, name='file_upload'), | 14 | url(r'^upload/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_upload, name='file_upload'), |
| 15 | - url(r'^download/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_download, name='file_download'), | ||
| 16 | - url(r'^delete/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.file_delete, name='file_delete'), | ||
| 17 | url(r'^make_folder/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.make_folder, name='make_folder'), | 15 | url(r'^make_folder/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/)*)$', views.make_folder, name='make_folder'), |
| 16 | + | ||
| 17 | + url(r'^delete/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/*)*)$', views.file_delete, name='file_delete'), | ||
| 18 | + url(r'^download/(?P<path>([\w\s가-힣.\`\'\˜\=\+\#\ˆ\@\$\&\-\.\(\)\{\}\;\[\]]*/*)*)$', views.file_download, name='file_download'), | ||
| 19 | + | ||
| 18 | ] | 20 | ] |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -31,6 +31,7 @@ def file_upload(request, path): | ... | @@ -31,6 +31,7 @@ def file_upload(request, path): |
| 31 | requests.post('http://localhost:8000/restapi/list/'+path, files={'file': file}, headers=headers, cookies=cookies) | 31 | requests.post('http://localhost:8000/restapi/list/'+path, files={'file': file}, headers=headers, cookies=cookies) |
| 32 | return redirect('file_list', path=path) | 32 | return redirect('file_list', path=path) |
| 33 | 33 | ||
| 34 | +@login_required | ||
| 34 | def make_folder(request, path): | 35 | def make_folder(request, path): |
| 35 | dir_name = request.POST.get('dir_name') | 36 | dir_name = request.POST.get('dir_name') |
| 36 | cookies = {'sessionid' : request.session.session_key} | 37 | cookies = {'sessionid' : request.session.session_key} |
| ... | @@ -39,6 +40,7 @@ def make_folder(request, path): | ... | @@ -39,6 +40,7 @@ def make_folder(request, path): |
| 39 | files = requests.put('http://localhost:8000/restapi/list/'+path, headers=headers, cookies=cookies) | 40 | files = requests.put('http://localhost:8000/restapi/list/'+path, headers=headers, cookies=cookies) |
| 40 | return redirect('file_list', path=path) | 41 | return redirect('file_list', path=path) |
| 41 | 42 | ||
| 43 | +@login_required | ||
| 42 | def file_delete(request, path): | 44 | def file_delete(request, path): |
| 43 | cookies = {'sessionid' : request.session.session_key} | 45 | cookies = {'sessionid' : request.session.session_key} |
| 44 | cookies['csrftoken'] = csrf.get_token(request) | 46 | cookies['csrftoken'] = csrf.get_token(request) |
| ... | @@ -46,6 +48,7 @@ def file_delete(request, path): | ... | @@ -46,6 +48,7 @@ def file_delete(request, path): |
| 46 | requests.delete('http://localhost:8000/restapi/file/'+path, headers=headers, cookies=cookies) | 48 | requests.delete('http://localhost:8000/restapi/file/'+path, headers=headers, cookies=cookies) |
| 47 | return redirect('file_list', path="/".join(path.split("/")[:-2])) | 49 | return redirect('file_list', path="/".join(path.split("/")[:-2])) |
| 48 | 50 | ||
| 51 | +@login_required | ||
| 49 | def file_download(request, path): | 52 | def file_download(request, path): |
| 50 | cookies = {'sessionid' : request.session.session_key} | 53 | cookies = {'sessionid' : request.session.session_key} |
| 51 | requests.get('http://localhost:8000/restapi/file/'+path, cookies=cookies) | 54 | requests.get('http://localhost:8000/restapi/file/'+path, cookies=cookies) | ... | ... |
-
Please register or login to post a comment