client.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # coding:utf-8
  2. import os
  3. import sys
  4. import platform
  5. import stat
  6. from PyQt6.QtCore import Qt, QTranslator
  7. from PyQt6.QtGui import QFont
  8. from PyQt6.QtWidgets import QApplication
  9. from qfluentwidgets import FluentTranslator
  10. from gui.common.config import cfg
  11. from gui.main_window import MainWindow
  12. from fsplit.filesplit import Filesplit
  13. from demeter.core import *
  14. # 指定ffmpeg可执行程序路径
  15. path = File.path() + 'command/'
  16. sys_str = platform.system()
  17. if sys_str == "Windows":
  18. ffmpeg_bin = os.path.join('windows', 'ffmpeg.exe')
  19. realesrgan_bin = os.path.join('windows', 'realesrgan-ncnn-vulkan.exe')
  20. elif sys_str == "Linux":
  21. ffmpeg_bin = os.path.join('linux', 'ffmpeg')
  22. realesrgan_bin = os.path.join('linux', 'realesrgan-ncnn-vulkan')
  23. else:
  24. ffmpeg_bin = os.path.join('macos', 'ffmpeg')
  25. realesrgan_bin = os.path.join('macos', 'realesrgan-ncnn-vulkan')
  26. Demeter.ffmpeg = os.path.join(path, '', 'ffmpeg', ffmpeg_bin)
  27. Demeter.realesrgan = os.path.join(path, '', 'realesrgan', realesrgan_bin)
  28. Demeter.split = True
  29. os.chmod(Demeter.ffmpeg, stat.S_IRWXU + stat.S_IRWXG + stat.S_IRWXO)
  30. os.chmod(Demeter.realesrgan, stat.S_IRWXU + stat.S_IRWXG + stat.S_IRWXO)
  31. # 设置环境变量
  32. os.environ["PATH"] += os.pathsep + Demeter.ffmpeg
  33. os.environ["PATH"] += os.pathsep + Demeter.realesrgan
  34. # enable dpi scale
  35. if cfg.get(cfg.dpiScale) == "Auto":
  36. QApplication.setHighDpiScaleFactorRoundingPolicy(
  37. Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
  38. else:
  39. os.environ["QT_ENABLE_HIGHDPI_SCALING"] = "0"
  40. os.environ["QT_SCALE_FACTOR"] = str(cfg.get(cfg.dpiScale))
  41. # create application
  42. app = QApplication(sys.argv)
  43. # internationalization
  44. locale = cfg.get(cfg.language).value
  45. translator = FluentTranslator(locale)
  46. galleryTranslator = QTranslator()
  47. galleryTranslator.load(locale, "gallery", ".", ":/gallery/i18n")
  48. app.installTranslator(translator)
  49. app.installTranslator(galleryTranslator)
  50. # create main window
  51. w = MainWindow()
  52. w.show()
  53. app.exec()