tis-duckietv icon

duckietv

Paquet d’installation silencieuse pour duckietv

202601300451-1

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-duckietv
  • name: duckietv
  • version: 202601300451-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           : 202601300451-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          : PREPROD
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      : d5e371ef-eeeb-41de-9ad6-8dd2bdf3b771
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 3e68915f17313c40cfa3a2191ea8823f8ea18c8448adcde77eba68b86f8f1507
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-29T16:57:46.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         : I/f7w5bzwbpXtyrWRd4SsY/qr9+MLIl/3+iC86ZKJ0KEEb3WhASXM4q0jUuKKTdRa5jx98KKjX4WRSYoSB1gRCjLFZljh5WGU+59JP7Zg/hZWcot9VRSVYfKG+hJEfMzhnNtO8DQ2OPOQl1vbJ7hYKkgDN5hILu9wvEI/Byq8Aus+hJc5FOaL5xy7oGRexdBnRb6YerIFF/aCKqvBGDJNYQR83QgIIj/TIuRbhXazVcOHeRSOj8O+DKMhYE4EldVwAd32L5nNYTTiXFKDdSLXF0dKfErO0wBd7MufyFHRuvCRQSVam9UfGATgYahDblL+TsOfWRrHB5AJrP5sVnteg==

# -*- 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()

bc25767756ba02efa4438f11431eed0eacf9b8c22805fedab967d8f8bf0d6874 : DuckieTV-202601300451-windows-x64.exe
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
7ece645e8c53835dfa1335e5aa7e66bdf3c40a1125d33771a243e3a44e35fe79 : WAPT/control
3e68915f17313c40cfa3a2191ea8823f8ea18c8448adcde77eba68b86f8f1507 : WAPT/icon.png
124b6cabe472841f55ba6a20ad34076e448d12b94836743046e2218897ebc54e : luti.json
225254455e74071906d7b85e4899fc295ce67e24ae1822cc36d810af3e736975 : setup.py
c41ea1fcf0ebc012ee6bb93ff6a7fa94cefd43a593c90ba2d568aa4d772c4515 : update_package.py