fsociety.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from thisapidoesnotexist import get_person
  2. import requests
  3. import time
  4. import os
  5. import random
  6. import pathlib
  7. import platform
  8. path_to_executable = ''
  9. if platform.system() == 'Windows':
  10. path_to_executable = str(pathlib.Path.cwd()) + '\\protection'
  11. else:
  12. path_to_executable = str(pathlib.Path.cwd()) + '/protection'
  13. if not os.path.isfile(path_to_executable):
  14. print("Не найден исполняемый файл нейросети. Загрузите или "
  15. "соберите его, а затем содайте в этой директории символьную "
  16. "ссылку на него с именем protection")
  17. print(f"Ожидаемый путь: {path_to_executable}")
  18. raise SystemExit(1)
  19. # FIXME - необходимо проверить на Windows
  20. cmd = f'{path_to_executable} -d /home/q/img2/'
  21. z = input('Сколько фотографий нужно скачать и обработать? ')
  22. chars = 'abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
  23. x = 1
  24. y = 1
  25. home = pathlib.Path.home() # Получаем домашнюю директорию пользователя
  26. target = None # Где будут сохранены фотографии
  27. path = '' # path string
  28. if isinstance(home, pathlib.PosixPath):
  29. target = pathlib.PosixPath(str(home) + '/img2')
  30. target.mkdir(exist_ok=True)
  31. path = str(target) + '/'
  32. else:
  33. target = pathlib.WindowsPath(str(home) + '\\img2')
  34. target.mkdir(exist_ok=True)
  35. path = str(target) + '\\'
  36. while (True):
  37. person = get_person()
  38. person.save_image(path + str(x) + ".jpeg")
  39. print("Скачали фото № " + str(x))
  40. time.sleep(3)
  41. if x == int(z):
  42. break
  43. else:
  44. x = x + 1
  45. print("Применяем нейронную сеть на фотографии, пожалуйста ждите...")
  46. if os.system(cmd + path) != 0:
  47. # Нейросеть может не запуститься по разным причинам. Самая банальная - бинарник
  48. # создан для другой платформы или архитектуры (у меня вернуло Illegal instruction (core dumped))
  49. print("Произошла ошибка при попытке запуска нейросети, команда:")
  50. print(cmd)
  51. raise SystemExit(1)
  52. print("Переименуем и удаляем лишнее")
  53. while (True):
  54. name = path + str(y) + ".jpeg"
  55. os.remove(name)
  56. file = path + str(y) + "_min_cloaked.png"
  57. rand =''
  58. for i in range(12):
  59. rand += random.choice(chars)
  60. file1 = path + rand + ".png"
  61. os.rename(file, str(file1))
  62. if y == int(z):
  63. break
  64. else:
  65. y = y + 1
  66. print("Программа завершена, можно шатать систему!")