Initial commit: Twitch VOD Manager v3.5.3
- Main application with auto-update functionality - PyInstaller spec for building standalone EXE - Inno Setup installer script with silent update support - Server version.json for update checking Features: - Download Twitch VODs - Auto-update with silent installation - Settings stored in ProgramData Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
commit
b29e50afa1
21
.gitignore
vendored
Normal file
21
.gitignore
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Build artifacts
|
||||||
|
build/
|
||||||
|
dist/
|
||||||
|
installer_output/
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Config with credentials
|
||||||
|
config.json
|
||||||
|
|
||||||
|
# Temp files
|
||||||
|
*.log
|
||||||
|
nul
|
||||||
|
download_queue.json
|
||||||
|
|
||||||
|
# IDE
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Old exe
|
||||||
|
Twitch_VOD_Manager.exe
|
||||||
49
Twitch_VOD_Manager.spec
Normal file
49
Twitch_VOD_Manager.spec
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
|
from PyInstaller.utils.hooks import collect_all
|
||||||
|
|
||||||
|
datas = []
|
||||||
|
binaries = []
|
||||||
|
hiddenimports = []
|
||||||
|
tmp_ret = collect_all('customtkinter')
|
||||||
|
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
|
||||||
|
tmp_ret = collect_all('cv2')
|
||||||
|
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
|
||||||
|
tmp_ret = collect_all('imageio_ffmpeg')
|
||||||
|
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
|
||||||
|
|
||||||
|
|
||||||
|
a = Analysis(
|
||||||
|
['Twitch_VOD_Manager_V_3.5.3.pyw'],
|
||||||
|
pathex=[],
|
||||||
|
binaries=binaries,
|
||||||
|
datas=datas,
|
||||||
|
hiddenimports=hiddenimports,
|
||||||
|
hookspath=[],
|
||||||
|
hooksconfig={},
|
||||||
|
runtime_hooks=[],
|
||||||
|
excludes=[],
|
||||||
|
noarchive=False,
|
||||||
|
optimize=0,
|
||||||
|
)
|
||||||
|
pyz = PYZ(a.pure)
|
||||||
|
|
||||||
|
exe = EXE(
|
||||||
|
pyz,
|
||||||
|
a.scripts,
|
||||||
|
a.binaries,
|
||||||
|
a.datas,
|
||||||
|
[],
|
||||||
|
name='Twitch_VOD_Manager',
|
||||||
|
debug=False,
|
||||||
|
bootloader_ignore_signals=False,
|
||||||
|
strip=False,
|
||||||
|
upx=True,
|
||||||
|
upx_exclude=[],
|
||||||
|
runtime_tmpdir=None,
|
||||||
|
console=False,
|
||||||
|
disable_windowed_traceback=False,
|
||||||
|
argv_emulation=False,
|
||||||
|
target_arch=None,
|
||||||
|
codesign_identity=None,
|
||||||
|
entitlements_file=None,
|
||||||
|
)
|
||||||
2535
Twitch_VOD_Manager_V_3.5.3.pyw
Normal file
2535
Twitch_VOD_Manager_V_3.5.3.pyw
Normal file
File diff suppressed because it is too large
Load Diff
70
installer.iss
Normal file
70
installer.iss
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
; Inno Setup Script for Twitch VOD Manager
|
||||||
|
; Version 3.3.5
|
||||||
|
|
||||||
|
#define MyAppName "Twitch VOD Manager"
|
||||||
|
#define MyAppVersion "3.5.3"
|
||||||
|
#define MyAppPublisher "Twitch VOD Manager"
|
||||||
|
#define MyAppExeName "Twitch_VOD_Manager.exe"
|
||||||
|
|
||||||
|
[Setup]
|
||||||
|
AppId={{8A7B9C0D-1E2F-3A4B-5C6D-7E8F9A0B1C2D}
|
||||||
|
AppName={#MyAppName}
|
||||||
|
AppVersion={#MyAppVersion}
|
||||||
|
AppPublisher={#MyAppPublisher}
|
||||||
|
DefaultDirName={autopf}\{#MyAppName}
|
||||||
|
DefaultGroupName={#MyAppName}
|
||||||
|
DisableProgramGroupPage=yes
|
||||||
|
OutputDir=installer_output
|
||||||
|
OutputBaseFilename=Twitch_VOD_Manager_Setup_{#MyAppVersion}
|
||||||
|
Compression=lzma2/ultra64
|
||||||
|
SolidCompression=yes
|
||||||
|
WizardStyle=modern
|
||||||
|
PrivilegesRequired=admin
|
||||||
|
|
||||||
|
[Languages]
|
||||||
|
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
|
||||||
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
||||||
|
|
||||||
|
[Tasks]
|
||||||
|
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
||||||
|
|
||||||
|
[Files]
|
||||||
|
Source: "dist\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
|
||||||
|
|
||||||
|
[Icons]
|
||||||
|
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
|
||||||
|
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
|
||||||
|
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
|
||||||
|
|
||||||
|
[Run]
|
||||||
|
; Bei normaler Installation: Checkbox "Programm starten"
|
||||||
|
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runasoriginaluser
|
||||||
|
|
||||||
|
[Code]
|
||||||
|
procedure CurStepChanged(CurStep: TSetupStep);
|
||||||
|
var
|
||||||
|
DataDir: String;
|
||||||
|
TempDir: String;
|
||||||
|
ResultCode: Integer;
|
||||||
|
begin
|
||||||
|
if CurStep = ssPostInstall then
|
||||||
|
begin
|
||||||
|
// Erstelle ProgramData Ordner fuer Settings
|
||||||
|
DataDir := ExpandConstant('{commonappdata}\Twitch_VOD_Manager');
|
||||||
|
if not DirExists(DataDir) then
|
||||||
|
CreateDir(DataDir);
|
||||||
|
|
||||||
|
// Bei Silent Install: Alte _MEI Ordner loeschen und App starten
|
||||||
|
if WizardSilent then
|
||||||
|
begin
|
||||||
|
Sleep(5000); // 5 Sekunden warten bis alte Prozesse beendet
|
||||||
|
|
||||||
|
// Alte PyInstaller _MEI Ordner loeschen
|
||||||
|
TempDir := ExpandConstant('{tmp}\..');
|
||||||
|
Exec('cmd.exe', '/c "for /d %i in ("' + TempDir + '\_MEI*") do rd /s /q "%i"" 2>nul', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||||
|
|
||||||
|
Sleep(1000); // Kurz warten nach Cleanup
|
||||||
|
Exec(ExpandConstant('{app}\{#MyAppExeName}'), '', '', SW_SHOW, ewNoWait, ResultCode);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
5
server_files/version.json
Normal file
5
server_files/version.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"version": "3.5.3",
|
||||||
|
"download_url": "http://24-music.de/Twitch_VOD_Manager_Setup.exe",
|
||||||
|
"changelog": "Silent Update (kein CMD-Fenster)"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user