
duckietv
Silent install package for duckietv
202509050742-1
- package: tis-duckietv
- name: duckietv
- version: 202509050742-1
- maintainer: Amel FRADJ
- licence: DuckieTV is Free (as in free beer) and Open Source, and comes with as little legal nonsense as possible.
- target_os: windows
- architecture: x64
- signature_date:
- size: 160.83 Mo
- homepage : schizoduckie.github.io/DuckieTV/
package : tis-duckietv
version : 202509050742-1
architecture : x64
section : base
priority : optional
name : duckietv
categories :
maintainer : Amel FRADJ
description : DuckieTV is an app that caters to TV show addicts by providing a personalized calendar of TV shows
depends :
conflicts :
maturity : PROD
locale :
target_os : windows
min_wapt_version :
sources :
installed_size :
impacted_process :
description_fr : DuckieTV est une application qui s'occupe des accros aux émissions télévisées en fournissant un calendrier personnalisé des émissions télévisées
description_pl : DuckieTV to aplikacja przeznaczona dla osób uzależnionych od programów telewizyjnych, która zapewnia spersonalizowany kalendarz programów telewizyjnych
description_de : DuckieTV ist eine App, die sich um TV-Show-Süchtige kümmert, indem sie einen personalisierten Kalender für TV-Shows bereitstellt
description_es : DuckieTV es una aplicación para adictos a los programas de televisión que ofrece un calendario personalizado de los mismos
description_pt : A DuckieTV é uma aplicação que se destina aos viciados em programas de televisão, fornecendo um calendário personalizado de programas de televisão
description_it : DuckieTV è un'applicazione che si rivolge agli appassionati di programmi televisivi fornendo un calendario personalizzato di spettacoli televisivi
description_nl : DuckieTV is een app voor tv-programma-verslaafden met een gepersonaliseerde kalender van tv-programma's
description_ru : DuckieTV - это приложение, предназначенное для любителей телевизионных шоу и предоставляющее персональный календарь телепередач
audit_schedule :
editor :
keywords :
licence : DuckieTV is Free (as in free beer) and Open Source, and comes with as little legal nonsense as possible.
homepage : schizoduckie.github.io/DuckieTV/
package_uuid : a89d28b7-964a-4012-a019-1e46a07d0dac
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 3e68915f17313c40cfa3a2191ea8823f8ea18c8448adcde77eba68b86f8f1507
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-09-10T00:35:31.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : Zid01WLnm/75on9jkwbXApAyJIJOVUUgYXWrekmM9ssae3q+/7bllwss0e++YlAvvdiSdbT7BgjYP2+dvZKFUMmFx4v0vMGvUovB6MDfPv3U30TfSnrhMvop3wT4T8BLCbnczKijSqUqUat5V5sSadq2K3HsDbb24VlM8Se9Hxi+LZj6dup+wBRH/Psbaf57X12RWQwgHmy0+FbdYLKjQ9IGKjo6vbUMxzL+v4VzWo/JPRHx1m5KrGV+jfKt4iFRoOcFDxxM+jzyJq5SWsOTKf90ZhAsUvmzUY6V1sZ1n+FHqd7+UZ/+XbIFiIQ4Oea8+nsMCsSxxBd8bTmlNIOd8w==
# -*- coding: utf-8 -*-
from setuphelpers import *
import glob
import re
r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()
{
"key":"DuckieTV",
"name":"DuckieTV",
"version":"",
"install_date":"",
"install_location":"",
"uninstall_string":"C:\\Users\\Administrator\\AppData\\Roaming\\DuckieTV\\uninstall.exe",
"publisher":"",
"system_component":0,
"win64":false
}
"""
def install():
# Finding the executable with the version in its name
bin_name = glob.glob('DuckieTV-*-windows-x64.exe')[0]
# Extracting version from the filename using regex
version = re.search(r'DuckieTV-([\d.]+)-windows-x64\.exe', bin_name).group(1)
# Logging the extracted version for debugging purposes
print(f"Extracted version from filename: {version}")
# Installing the software
install_exe_if_needed(
bin_name,
silentflags='/S',
key='DuckieTV',
min_version=version,
get_version=lambda _: version, # Lambda function that returns the extracted version
timeout=600,
)
# Function to set the version in the registry after installation
def get_version(app_registry_dict):
# Return the default version if not found to force installation
return app_registry_dict.get("version", "0.0.0.0")
# -*- coding: utf-8 -*-
from setuphelpers import *
import re
import zipfile
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
dict_arch = {
"x64" :"-windows-x64",
"x86" : "-windows-x32"
}
git_repo = "DuckieTV/Nightlies"
url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
# Getting latest version information from official sources
print("API used is: %s" % url_api)
json_load = json.loads(wgets(url_api, proxies=proxies))
for download in json_load["assets"]:
if download["browser_download_url"].endswith(".zip") and dict_arch[control.architecture] in download["browser_download_url"] :
url_dl = download["browser_download_url"]
version = json_load["tag_name"].split("-")[-1]
filename = download["name"]
break
if not isfile(filename):
package_updated = True
wget(url_dl,filename,proxies=proxies)
# Extract .exe from downloaded .zip
with zipfile.ZipFile(filename, 'r') as zip_ref:
zip_ref.extractall('.')
# Assuming the .exe file is extracted to the current directory, adjust as needed
extracted_files = zip_ref.namelist()
exe_file = next((f for f in extracted_files if f.endswith('.exe')), None)
if exe_file:
# Optionally move or do something with the extracted .exe file
# For example, you could move it to a specific directory
os.rename(exe_file, f'./{exe_file}')
# Clean up the downloaded .zip file
if isfile(filename):
remove_file(filename)
#nettoyer les fichiers temporaires
for f in glob.glob('*.exe'):
if f != exe_file:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
aa8ad31788b17931cd72d11e642570dcabbecfa2d47adae739fe69c50fe68054 : DuckieTV-202509050742-windows-x64.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
cd523496bdb0ce2440af652a14a1d2f2bcfe058f79d34a9718cc2e13e252a28d : WAPT/control
3e68915f17313c40cfa3a2191ea8823f8ea18c8448adcde77eba68b86f8f1507 : WAPT/icon.png
1fe3ed3e702a88899093a4c58f39885d0a1bc2fe9418acb0ba3dd813d815da39 : luti.json
225254455e74071906d7b85e4899fc295ce67e24ae1822cc36d810af3e736975 : setup.py
c41ea1fcf0ebc012ee6bb93ff6a7fa94cefd43a593c90ba2d568aa4d772c4515 : update_package.py