edit_delete_file.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from .tool.func import *
  2. from .edit_delete import edit_delete
  3. # 처음으로 차세대 코드 방법론 적용
  4. # 앞으로 다 이렇게 작성할 예정
  5. def edit_delete_file(name : str = 'test.jpg') -> str:
  6. conn : typing.Union[sqlite3.Connection, pymysql.connections.Connection, None]
  7. with get_db_connect() as conn:
  8. curs : typing.Union[sqlite3.Cursor, pymysql.cursors.Cursor, None] = conn.cursor()
  9. ip : str = ip_check()
  10. if admin_check() == 0:
  11. return re_error('/ban')
  12. mime_type : typing.Union[re.Match, None] = re.search(r'([^.]+)$', name)
  13. if mime_type:
  14. mime_type = mime_type.group(1).lower()
  15. else:
  16. mime_type = 'jpg'
  17. file_name : str = re.sub(r'\.([^.]+)$', '', name)
  18. file_name = re.sub(r'^file:', '', file_name)
  19. file_all_name : str = sha224_replace(file_name) + '.' + mime_type
  20. file_directory : str = os.path.join(load_image_url(), file_all_name)
  21. if not os.path.exists(file_directory):
  22. return redirect('/w/' + url_pas(name))
  23. if flask.request.method == 'POST':
  24. admin_check(None, 'file del (' + name + ')')
  25. os.remove(file_directory)
  26. if flask.request.form.get('with_doc', '') != '':
  27. edit_delete(name)
  28. return redirect('/w/' + url_pas(name))
  29. else:
  30. return easy_minify(flask.render_template(skin_check(),
  31. imp = [name, wiki_set(), wiki_custom(), wiki_css(['(' + load_lang('file_delete') + ')', 0])],
  32. data = '''
  33. <form method="post">
  34. <img src="/image/''' + url_pas(file_all_name) + '''">
  35. <hr class="main_hr">
  36. <a href="/image/''' + url_pas(file_all_name) + '''">/image/''' + url_pas(file_all_name) + '''</a>
  37. <hr class="main_hr">
  38. <input name="with_doc" type="checkbox" checked> ''' + load_lang('file_delete_with_document') + '''
  39. <hr class="main_hr">
  40. <button type="submit">''' + load_lang('file_delete') + '''</button>
  41. </form>
  42. ''',
  43. menu = [['w/' + url_pas(name), load_lang('return')]]
  44. ))