Skip to content

Commit

Permalink
Add: Linux support
Browse files Browse the repository at this point in the history
  • Loading branch information
DUB1401 committed Feb 14, 2024
1 parent c5f2539 commit e410059
Show file tree
Hide file tree
Showing 24 changed files with 250 additions and 217 deletions.
14 changes: 6 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Build data.
pornhub_dl/pornhub_dl.spec
PornHub Downloader.spec
pornhub_dl/build
Build/Release
Build/Windows/Release
pornhub-dl.spec

# Visual Studio project files.
PornHub Downloader.pyproj
Expand All @@ -13,8 +11,8 @@ PornHub Downloader.sln
Downloads.ytdl
Downloads

# Python cache.
__pycache__

# Advertisement animation file.
Advertisement.gif
Advertisement.gif

# Python cache.
__pycache__
15 changes: 8 additions & 7 deletions Qt/Build/build.bat → Build/Windows/build.bat
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
:: Переход в директорию проекта.
cd ..\
cd ..\..\

:: Сборка приложения.
pyinstaller --distpath %~dp0\Release --i icon.ico --version-file Build\metadata.txt --onefile main.py
pyinstaller --distpath %~dp0\Release --i icon.ico --version-file Build\Windows\metadata.txt --onefile main.py --name pornhub-dl

:: Копирование в директорию сборки необходимых компонентов приложения.
xcopy /Y /I yt-dlp Build\Release\yt-dlp
xcopy /Y Advertisement.gif Build\Release
xcopy /Y Settings.json Build\Release
xcopy /Y icon.ico Build\Release
xcopy /Y /I Source\GUI\Qt\Locales.json Build\Windows\Release\Source\GUI\Qt\
xcopy /Y /I yt-dlp Build\Windows\Release\yt-dlp
xcopy /Y Advertisement.gif Build\Windows\Release
xcopy /Y icon.ico Build\Windows\Release
xcopy /Y Settings.json Build\Windows\Release

:: Удаление файлов сборки приложения.
rmdir /q /s Build\main
rmdir /q /s Build\pornhub-dl
File renamed without changes.
104 changes: 0 additions & 104 deletions Qt/Source/Locale.py

This file was deleted.

Empty file removed Qt/Source/__init__.py
Empty file.
76 changes: 0 additions & 76 deletions Qt/main.py

This file was deleted.

16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

## Порядок установки и использования | Исполняемый файл Windows
1. Загрузить последний релиз исполняемой версии. Распаковать.
2. Запустить _main.exe_. Вставить в поле ввода список ссылок на видео и нажать кнопку загрузки.
2. Запустить _pornhub-dl.exe_. Вставить в поле ввода список ссылок на видео и нажать кнопку загрузки.
3. Дождаться скачивания видео в папку _Downloads_, в директории скрипта.

## Порядок установки и использования | Скрипт Python
1. Загрузить последний релиз скрипта. Распаковать.
2. Установить Python версии не старше 3.10. Рекомендуется добавить в PATH.
3. В среду исполнения установить следующие пакеты: [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyperclip](https://github.com/asweigart/pyperclip), [requests](https://github.com/psf/requests), [pyqt6](https://www.riverbankcomputing.com/software/pyqt/).
3. В среду исполнения установить следующие пакеты: [pyinstaller](https://github.com/pyinstaller/pyinstaller), [pyperclip](https://github.com/asweigart/pyperclip), [requests](https://github.com/psf/requests), [pyqt6](https://www.riverbankcomputing.com/software/pyqt).
```
pip install pyinstaller
pip install pyperclip
Expand All @@ -24,18 +24,18 @@ pip install -r requirements.txt
5. Дождаться скачивания видео в папку _Downloads_, в директории скрипта.

# Скриншот
![2023-08-11_12-41-08](https://github.com/DUB1401/PornHub-Downloader/assets/40277356/c319a663-3969-4a2f-8b7b-94a3438b4e0c)
![Qt](Screenshots/Qt.png)

# Сборка
1. Подготовить скрипт Python к работе согласно инструкции из порядка установки и использования.
2. Перейти в папку _Build_, внутри директории скрипта.
2. Перейти в каталог _Build/Windows_, внутри директории скрипта.
3. Запустить файл _build.bat_ и дождаться завершения работы.
4. Исполняемая версия будет помещена по адресу _Build/Release_ вместе со всеми зависимостями.
4. Исполняемая версия будет помещена по адресу _Build/Windows/Release_ вместе со всеми зависимостями.

## Локализация
Для добавления сторонней локализации необходимо отредактировать файл [Locale.py](Source/Locale.py): в `LOCALES` указываются списки используемых программой строк на целевом языке, ключём должен являться двухбуквенный тег языка в верхнем регистре по стандарту **ISO 639-1**.
Для добавления сторонней локализации необходимо отредактировать файл [Locales.json](Source/GUI/Qt/Locales.json): в нём указываются списки используемых программой строк на целевом языке, ключём должен являться двухбуквенный тег языка в верхнем регистре по стандарту **ISO 639-1**.

Доступные локализации: `EN`, `DE`, `PL`, `RU`, `UK`.
Доступные локализации: `EN`, `RU`.

## Версии поставляемых бинарных файлов
| Файл | Версия | Источник |
Expand All @@ -47,4 +47,4 @@ pip install -r requirements.txt
# Благодарность
* [@yt-dlp](https://github.com/yt-dlp) – библиотека загрузки потокового видео.

_Copyright © DUB1401. 2023._
_Copyright © DUB1401. 2023-2024._
Binary file added Screenshots/Qt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions Settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"sort-by-models": false,
"save-directory": "",
"cuality": 2,
"debug": true,
"downloads-directory": "",
"cuality": 5,
"debug": false,
"advertisement": "https://xn--80aaalhzvfe9b4a.xn--80asehdb/"
}
1 change: 1 addition & 0 deletions Source/Core.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
прив
File renamed without changes.
File renamed without changes.
30 changes: 30 additions & 0 deletions Source/GUI/Qt/Locale.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
from dublib.Methods import ReadJSON

import ctypes
import locale
import sys

# Словарь локализаций.
LOCALES = ReadJSON("Source/GUI/Qt/Locales.json")

# Текущая локализация.
CURRENT_LOCALE = LOCALES["EN"]
# Тег текущего языка.
LanguageTag = None

# Если устройство работает под управлением ОС семейства Linux.
if sys.platform in ["linux", "linux2"]:
# Получение тега текущего языка.
LanguageTag = locale.getlocale()[0].split('_')[0].upper()

# Если устройство работает под управлением ОС семейства Windows.
elif sys.platform == "win32":
# Получение сведений о системе Windows.
WinDLL = ctypes.windll.kernel32
WinDLL.GetUserDefaultUILanguage()
# Получение тега текущего языка.
LanguageTag = locale.windows_locale[WinDLL.GetUserDefaultUILanguage()].split('_')[0].upper()

# Если существует локализация, переключиться на неё.
if LanguageTag in LOCALES.keys():
CURRENT_LOCALE = LOCALES[LanguageTag]
32 changes: 32 additions & 0 deletions Source/GUI/Qt/Locales.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"EN": [
"Advertisement",
"Clear",
"Copy output",
"Download",
"Paste here links to videos",
"Output logs",
"Paste links",
"Settings",
"Cuality",
"Resolution of the downloaded video.",
"Theme",
"Style of the program window.",
"Sort by models"
],
"RU": [
"Реклама",
"Очистить",
"Копировать логи",
"Скачать",
"Вставьте сюда ссылки на видео",
"Логи",
"Вставить ссылки",
"Настройки",
"Качество",
"Разрешение загружаемого видео.",
"Тема",
"Стиль окна программы.",
"По моделям"
]
}
File renamed without changes.
Loading

0 comments on commit e410059

Please sign in to comment.