Compare commits
7 Commits
1.0
...
bfa6865109
| Author | SHA1 | Date | |
|---|---|---|---|
| bfa6865109 | |||
| 9031e1d04d | |||
| 3155154083 | |||
| 012ab977a7 | |||
| ce8d9d639a | |||
| a061ee20a8 | |||
| ed5a381262 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,2 +1,4 @@
|
|||||||
.venv
|
.venv
|
||||||
OxApp.dist
|
OxApp.dist
|
||||||
|
installer
|
||||||
|
OxApp.bin
|
||||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -3,7 +3,7 @@
|
|||||||
<component name="Black">
|
<component name="Black">
|
||||||
<option name="sdkName" value="Python 3.13 (oxapp25)" />
|
<option name="sdkName" value="Python 3.13 (oxapp25)" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 virtualenv at D:\Dev\oxapp25\.venv" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (oxapp25)" project-jdk-type="Python SDK" />
|
||||||
<component name="PythonCompatibilityInspectionAdvertiser">
|
<component name="PythonCompatibilityInspectionAdvertiser">
|
||||||
<option name="version" value="3" />
|
<option name="version" value="3" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
2
.idea/oxapp25.iml
generated
2
.idea/oxapp25.iml
generated
@@ -4,7 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Python 3.13 virtualenv at D:\Dev\oxapp25\.venv" jdkType="Python SDK" />
|
<orderEntry type="jdk" jdkName="Python 3.11 (oxapp25)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
32
Makefile
Normal file
32
Makefile
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Makefile pour OxApp - équivalent Linux du build.bat
|
||||||
|
|
||||||
|
.PHONY: help resources deploy pyinstaller installer
|
||||||
|
|
||||||
|
# Commande par défaut - affiche l'aide
|
||||||
|
help:
|
||||||
|
@echo "Commandes disponibles:"
|
||||||
|
@echo " make resources - Compile les ressources"
|
||||||
|
@echo " make deploy - Déploie l'application"
|
||||||
|
@echo " make pyinstaller - Crée l'exécutable avec PyInstaller"
|
||||||
|
@echo " make installer - Crée l'installateur"
|
||||||
|
|
||||||
|
# Compile les ressources
|
||||||
|
resources:
|
||||||
|
pyside6-rcc resources.qrc -o resources_rc.py
|
||||||
|
|
||||||
|
# Déploie l'application avec pyside6-deploy
|
||||||
|
deploy:
|
||||||
|
pyside6-deploy -c pysidedeploy_linux.spec
|
||||||
|
|
||||||
|
# Crée l'exécutable avec PyInstaller
|
||||||
|
pyinstaller:
|
||||||
|
pyinstaller OxApp.spec --noconfirm
|
||||||
|
|
||||||
|
# Crée l'installateur
|
||||||
|
# Note: Inno Setup est spécifique à Windows, vous devrez utiliser
|
||||||
|
# un équivalent Linux comme makeself, AppImage, ou Flatpak
|
||||||
|
installer:
|
||||||
|
@echo "La création d'installateur sur Linux nécessite un outil différent d'Inno Setup."
|
||||||
|
@echo "Options recommandées: makeself, AppImage, ou Flatpak"
|
||||||
|
@echo "Exemple avec makeself (si installé):"
|
||||||
|
@echo " makeself.sh ./dist/OxApp \"OxApp\" \"OxApp Installation\" ./dist/Ox
|
||||||
@@ -5,8 +5,12 @@ if "%1"=="resources" (
|
|||||||
pyside6-deploy.exe -c pysidedeploy.spec
|
pyside6-deploy.exe -c pysidedeploy.spec
|
||||||
) else if "%1"=="pyinstaller" (
|
) else if "%1"=="pyinstaller" (
|
||||||
pyinstaller OxApp.spec --noconfirm
|
pyinstaller OxApp.spec --noconfirm
|
||||||
|
) else if "%1"=="installer" (
|
||||||
|
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" "setup.iss"
|
||||||
) else (
|
) else (
|
||||||
echo Commandes disponibles:
|
echo Commandes disponibles:
|
||||||
echo build.bat resources - Compile les ressources
|
echo build.bat resources - Compile les ressources
|
||||||
echo build.bat deploy - Déploie l'application
|
echo build.bat deploy - Déploie l'application
|
||||||
|
echo build.bat pyinstaller - Crée l'exécutable avec PyInstaller
|
||||||
|
echo build.bat installer - Crée l'installateur avec Inno Setup
|
||||||
)
|
)
|
||||||
|
|||||||
BIN
oxpanel.png
Normal file
BIN
oxpanel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.4 KiB |
@@ -17,7 +17,7 @@ input_file = D:\Dev\oxapp25\main.py
|
|||||||
exec_directory = .
|
exec_directory = .
|
||||||
|
|
||||||
# path to .pyproject project file
|
# path to .pyproject project file
|
||||||
project_file =
|
project_file =
|
||||||
|
|
||||||
# application icon
|
# application icon
|
||||||
icon = D:\Dev\oxapp25\oxpanel.ico
|
icon = D:\Dev\oxapp25\oxpanel.ico
|
||||||
@@ -37,13 +37,13 @@ android_packages = buildozer==1.5.0,cython==0.29.33
|
|||||||
|
|
||||||
# comma separated path to qml files required
|
# comma separated path to qml files required
|
||||||
# normally all the qml files required by the project are added automatically
|
# normally all the qml files required by the project are added automatically
|
||||||
qml_files =
|
qml_files =
|
||||||
|
|
||||||
# excluded qml plugin binaries
|
# excluded qml plugin binaries
|
||||||
excluded_qml_plugins =
|
excluded_qml_plugins =
|
||||||
|
|
||||||
# qt modules used. comma separated
|
# qt modules used. comma separated
|
||||||
modules = Gui,Network,Core,Widgets,WebChannel,WebEngineWidgets,WebEngineCore
|
modules = WebEngineCore,WebEngineWidgets,WebChannel,Core,Gui,Widgets,Network
|
||||||
|
|
||||||
# qt plugins used by the application. only relevant for desktop deployment. for qt plugins used
|
# qt plugins used by the application. only relevant for desktop deployment. for qt plugins used
|
||||||
# in android application see [android][plugins]
|
# in android application see [android][plugins]
|
||||||
@@ -52,20 +52,20 @@ plugins = networkinformation,styles,networkaccess,tls
|
|||||||
[android]
|
[android]
|
||||||
|
|
||||||
# path to pyside wheel
|
# path to pyside wheel
|
||||||
wheel_pyside =
|
wheel_pyside =
|
||||||
|
|
||||||
# path to shiboken wheel
|
# path to shiboken wheel
|
||||||
wheel_shiboken =
|
wheel_shiboken =
|
||||||
|
|
||||||
# plugins to be copied to libs folder of the packaged application. comma separated
|
# plugins to be copied to libs folder of the packaged application. comma separated
|
||||||
plugins =
|
plugins =
|
||||||
|
|
||||||
[nuitka]
|
[nuitka]
|
||||||
|
|
||||||
# usage description for permissions requested by the app as found in the info.plist file
|
# usage description for permissions requested by the app as found in the info.plist file
|
||||||
# of the app bundle
|
# of the app bundle
|
||||||
# eg = extra_args = --show-modules --follow-stdlib
|
# eg = extra_args = --show-modules --follow-stdlib
|
||||||
macos.permissions =
|
macos.permissions =
|
||||||
|
|
||||||
# mode of using nuitka. accepts standalone or onefile. default is onefile.
|
# mode of using nuitka. accepts standalone or onefile. default is onefile.
|
||||||
mode = standalone
|
mode = standalone
|
||||||
@@ -81,22 +81,21 @@ extra_args = --quiet --noinclude-qt-translations --windows-console-mode=disable
|
|||||||
mode = release
|
mode = release
|
||||||
|
|
||||||
# contrains path to pyside6 and shiboken6 recipe dir
|
# contrains path to pyside6 and shiboken6 recipe dir
|
||||||
recipe_dir =
|
recipe_dir =
|
||||||
|
|
||||||
# path to extra qt android jars to be loaded by the application
|
# path to extra qt android jars to be loaded by the application
|
||||||
jars_dir =
|
jars_dir =
|
||||||
|
|
||||||
# if empty uses default ndk path downloaded by buildozer
|
# if empty uses default ndk path downloaded by buildozer
|
||||||
ndk_path =
|
ndk_path =
|
||||||
|
|
||||||
# if empty uses default sdk path downloaded by buildozer
|
# if empty uses default sdk path downloaded by buildozer
|
||||||
sdk_path =
|
sdk_path =
|
||||||
|
|
||||||
# other libraries to be loaded. comma separated.
|
# other libraries to be loaded. comma separated.
|
||||||
# loaded at app startup
|
# loaded at app startup
|
||||||
local_libs =
|
local_libs =
|
||||||
|
|
||||||
# architecture of deployed platform
|
# architecture of deployed platform
|
||||||
# possible values = ["aarch64", "armv7a", "i686", "x86_64"]
|
# possible values = ["aarch64", "armv7a", "i686", "x86_64"]
|
||||||
arch =
|
arch =
|
||||||
|
|
||||||
|
|||||||
99
pysidedeploy_linux.spec
Executable file
99
pysidedeploy_linux.spec
Executable file
@@ -0,0 +1,99 @@
|
|||||||
|
[app]
|
||||||
|
|
||||||
|
# title of your application
|
||||||
|
title = OxApp
|
||||||
|
|
||||||
|
# project directory. the general assumption is that project_dir is the parent directory
|
||||||
|
# of input_file
|
||||||
|
project_dir = /home/nell/dev/oxapp25
|
||||||
|
|
||||||
|
# source file path
|
||||||
|
input_file = /home/nell/dev/oxapp25/main.py
|
||||||
|
|
||||||
|
# directory where the executable output is generated
|
||||||
|
exec_directory = .
|
||||||
|
|
||||||
|
# path to .pyproject project file
|
||||||
|
project_file =
|
||||||
|
|
||||||
|
# application icon
|
||||||
|
icon = /home/nell/dev/oxapp25/oxpanel.ico
|
||||||
|
|
||||||
|
[python]
|
||||||
|
|
||||||
|
# python path
|
||||||
|
python_path = /home/nell/dev/oxapp25/.venv/bin/python
|
||||||
|
|
||||||
|
# python packages to install
|
||||||
|
packages = Nuitka==2.5.1
|
||||||
|
|
||||||
|
# buildozer = for deploying Android application
|
||||||
|
android_packages = buildozer==1.5.0,cython==0.29.33
|
||||||
|
|
||||||
|
[qt]
|
||||||
|
|
||||||
|
# comma separated path to qml files required
|
||||||
|
# normally all the qml files required by the project are added automatically
|
||||||
|
qml_files =
|
||||||
|
|
||||||
|
# excluded qml plugin binaries
|
||||||
|
excluded_qml_plugins =
|
||||||
|
|
||||||
|
# qt modules used. comma separated
|
||||||
|
modules = Positioning,WebChannel,Quick,QuickWidgets,QmlMeta,OpenGL,DBus,Core,QmlModels,QmlWorkerScript,Qml,Network,Widgets,Gui,WebEngineWidgets,PrintSupport,WebEngineCore
|
||||||
|
|
||||||
|
# qt plugins used by the application. only relevant for desktop deployment. for qt plugins used
|
||||||
|
# in android application see [android][plugins]
|
||||||
|
plugins = networkinformation,scenegraph,platforms/darwin,iconengines,tls,xcbglintegrations,qmltooling,position,platformthemes,imageformats,platforms,platforminputcontexts,accessiblebridge,generic,networkaccess,styles,printsupport,egldeviceintegrations
|
||||||
|
|
||||||
|
[android]
|
||||||
|
|
||||||
|
# path to pyside wheel
|
||||||
|
wheel_pyside =
|
||||||
|
|
||||||
|
# path to shiboken wheel
|
||||||
|
wheel_shiboken =
|
||||||
|
|
||||||
|
# plugins to be copied to libs folder of the packaged application. comma separated
|
||||||
|
plugins =
|
||||||
|
|
||||||
|
[nuitka]
|
||||||
|
|
||||||
|
# usage description for permissions requested by the app as found in the info.plist file
|
||||||
|
# of the app bundle
|
||||||
|
# eg = extra_args = --show-modules --follow-stdlib
|
||||||
|
macos.permissions =
|
||||||
|
|
||||||
|
# mode of using nuitka. accepts standalone or onefile. default is onefile.
|
||||||
|
mode = onefile
|
||||||
|
|
||||||
|
# (str) specify any extra nuitka arguments
|
||||||
|
extra_args = --quiet --noinclude-qt-translations --jobs=auto --lto=yes
|
||||||
|
|
||||||
|
[buildozer]
|
||||||
|
|
||||||
|
# build mode
|
||||||
|
# possible options = [release, debug]
|
||||||
|
# release creates an aab, while debug creates an apk
|
||||||
|
mode = debug
|
||||||
|
|
||||||
|
# contrains path to pyside6 and shiboken6 recipe dir
|
||||||
|
recipe_dir =
|
||||||
|
|
||||||
|
# path to extra qt android jars to be loaded by the application
|
||||||
|
jars_dir =
|
||||||
|
|
||||||
|
# if empty uses default ndk path downloaded by buildozer
|
||||||
|
ndk_path =
|
||||||
|
|
||||||
|
# if empty uses default sdk path downloaded by buildozer
|
||||||
|
sdk_path =
|
||||||
|
|
||||||
|
# other libraries to be loaded. comma separated.
|
||||||
|
# loaded at app startup
|
||||||
|
local_libs =
|
||||||
|
|
||||||
|
# architecture of deployed platform
|
||||||
|
# possible values = ["aarch64", "armv7a", "i686", "x86_64"]
|
||||||
|
arch =
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
PySide6<6.9,>=6.8.0
|
PySide6<6.9,>=6.8.0
|
||||||
qasync>=0.27.1
|
qasync>=0.27.1
|
||||||
httpx
|
httpx[http2]
|
||||||
anyio
|
anyio
|
||||||
@@ -39,11 +39,11 @@ Name: "french"; MessagesFile: "compiler:Languages\French.isl"
|
|||||||
|
|
||||||
[Tasks]
|
[Tasks]
|
||||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||||
Name: "associatetorrent"; Description: "Associer les fichiers .torrent à {#MyAppName}"; GroupDescription: "Association de fichiers:"; Flags: unchecked
|
Name: "associatetorrent"; Description: "Associer les fichiers .torrent à {#MyAppName}"; GroupDescription: "Association de fichiers:";
|
||||||
|
|
||||||
[Files]
|
[Files]
|
||||||
; Ajoutez tous les fichiers nécessaires à votre application
|
; Ajoutez tous les fichiers nécessaires à votre application
|
||||||
Source: "D:\Dev\oxapp25\dist\OxApp.dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
Source: "D:\Dev\oxapp25\OxApp.dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||||
|
|||||||
@@ -186,6 +186,7 @@ class DownloadManager(QObject):
|
|||||||
follow_redirects=True,
|
follow_redirects=True,
|
||||||
verify=False,
|
verify=False,
|
||||||
cookies=self.cookies,
|
cookies=self.cookies,
|
||||||
|
http2=True,
|
||||||
) as client:
|
) as client:
|
||||||
# requête pour le téléchargement
|
# requête pour le téléchargement
|
||||||
async with client.stream("GET", file.url, headers=headers) as response:
|
async with client.stream("GET", file.url, headers=headers) as response:
|
||||||
|
|||||||
Reference in New Issue
Block a user