tis-edupython icon

EduPython

Paquet d’installation silencieuse pour EduPython

3.14-20
Development
Education
Development
Education

  • package: tis-edupython
  • name: EduPython
  • version: 3.14-20
  • categories: Development,Education
  • maintainer: WAPT Team,Tranquil IT,Clément BAZIRET,Jimmy PELÉ
  • editor: Vincent MAILLE partnership Amienspython
  • licence: proprietary_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: EduPython
  • architecture: all
  • signature_date:
  • size: 467.81 Mo
  • installed_size: 2.44 Go
  • homepage : https://edupython.tuxfamily.org/

package           : tis-edupython
version           : 3.14-20
architecture      : all
section           : base
priority          : optional
name              : EduPython
categories        : Development,Education
maintainer        : WAPT Team,Tranquil IT,Clément BAZIRET,Jimmy PELÉ
description       : EduPython is a free, easy-to-use Python development environment that simplifies Python programming for students and beginners
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://edupython.tuxfamily.org/#téléchargement
installed_size    : 2444741081
impacted_process  : EduPython
description_fr    : EduPython est un environnement de développement Python gratuit permettant une prise en main rapide, qui simplifier la programmation en Python pour les élèves et les débutants
description_pl    : EduPython to darmowe, łatwe w użyciu środowisko programistyczne Python, które upraszcza programowanie w Pythonie dla studentów i początkujących
description_de    : EduPython ist eine kostenlose Python-Entwicklungsumgebung, die einen schnellen Einstieg ermöglicht und die Programmierung in Python für Schüler und Anfänger vereinfacht
description_es    : EduPython es un entorno de desarrollo Python gratuito y fácil de usar que simplifica la programación en Python a estudiantes y principiantes
description_pt    : O EduPython é um ambiente de desenvolvimento Python gratuito e fácil de utilizar que simplifica a programação Python para estudantes e principiantes
description_it    : EduPython è un ambiente di sviluppo Python gratuito e facile da usare che semplifica la programmazione Python per studenti e principianti
description_nl    : EduPython is een gratis, gebruiksvriendelijke Python-ontwikkelomgeving die Python-programmeren voor studenten en beginners vereenvoudigt
description_ru    : EduPython - это бесплатная, простая в использовании среда разработки на языке Python, которая упрощает программирование на Python для студентов и начинающих
audit_schedule    : 
editor            : Vincent MAILLE partnership Amienspython
keywords          : python,development,programmation,programming
licence           : proprietary_free,wapt_public
homepage          : https://edupython.tuxfamily.org/
package_uuid      : d8169e99-1cad-4806-a60c-d2479c6cb9a9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10
max_os_version    : 
icon_sha256sum    : 2ceece4a56de7f142476c47ea0c8a150264502967c05ef8dffbc3a7818acf752
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-10-20T16:00: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         : KzoEo1EicFSyxxjZKIIAGnpW9P7dcRtyv4q8KqMLp5MbJ/ZsjT6vg7+1LvXK819xdEMeGmb4EGBmQzIGnT4rODUMdfeQ3UMpRVT59lTUKVR0i5cjcN4aphQnZMLtTc32z3qy/oNPdJX/Esj50sEugAVqXOACka1pvbgwNgfZ8u2vHBFFrws77kfwl6P+6wBneGAixG5Dr/rMVqvf9svb4FF/z96G7stQZ/KZ0IUmH1ROYa5skfggYDglr6nw514b5bTVTHzqiay4+UVxY7Msc4hmd4DCHiRbUH35j/RuA3PNf3NV3UyZZWeyWI1oiJe/j/EwTg0gUHglFnGRIV4VMw==

# -*- coding: utf-8 -*-
from setuphelpers import *
import time

"""
{
    "key": "EduPython_3.14_is1",
    "name": "EduPython 3.14",
    "version": "3.14",
    "install_date": "2024-04-18 00:00:00",
    "install_location": "C:\\Program Files\\EduPython\\",
    "uninstall_string": '"C:\\Program Files\\EduPython\\unins000.exe"',
    "publisher": "V. MAILLE",
    "system_component": 0,
    "win64": false,
}
{
    "key": "EduPython_3.14_is1",
    "name": "EduPython 3.14",
    "version": "3.14",
    "install_date": "2024-04-18 00:00:00",
    "install_location": "C:\\EduPython\\",
    "uninstall_string": '"C:\\EduPython\\unins000.exe"',
    "publisher": "V. MAILLE",
    "system_component": 0,
    "win64": false,
}


List of setup parameters:
https://jrsoftware.org/ishelp/index.php?topic=setupcmdline

List of uninstall parameters:
https://jrsoftware.org/ishelp/index.php?topic=uninstcmdline

"""
# app_dir = makepath(programfiles32, "EduPython")  # user may encounter right issues
app_dir = makepath(systemdrive, "EduPython")


def install():
    bin_name = glob.glob("Setup_EP*.exe")[0]

    # Uninstall other versions of the software if not installed in app_dir
    for to_uninstall in installed_softwares("EduPython_"):
        install_app_dir = makepath(to_uninstall["install_location"], os.sep)
        if makepath(to_uninstall["install_location"], os.sep) != makepath(app_dir, os.sep) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])
            if isdir(to_uninstall["install_location"]):
                remove_tree(to_uninstall["install_location"])

    # Installing the software
    install_exe_if_needed(
        bin_name,
        silentflags=f'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS /DIR="{app_dir}"',
        key="EduPython_%s_is1" % control.get_software_version(),
        min_version=control.get_software_version(),
        timeout=900,
    )


def uninstall():
    if isdir(app_dir):
        killalltasks(ensure_list(control.impacted_process))
        remove_tree(app_dir)

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()
    url = "https://edupython.tuxfamily.org/#téléchargement"

    # Getting latest version from official sources
    print("URL used is: %s" % url)
    for bs_search in bs_find_all(url, "a", proxies=proxies):
        if bs_search.get("href", "").split("/")[-1].endswith(".exe"):
            download_url = bs_search["href"]
            latest_bin = download_url.split("/")[-1]
            version = bs_search.text.split(": ")[1]
            break

    # Downloading latest binaries
    print("Latest %s version is: %s" % (control.name, version))
    print("Download URL is: %s" % download_url)
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print("Binary is present: %s" % latest_bin)

    # Deleting outdated binaries
    remove_outdated_binaries(latest_bin)
    # arch_list = ensure_list(control.architecture)
    # remove_outdated_binaries(version, filename_contains=("x64" if "x64" in arch_list else "x86" if "x86" in arch_list else []))

    # Checking version from file
    if get_os_name() == "Windows" and "windows" in control.target_os.lower():
        version_from_file = get_version_from_binary(latest_bin)
        if Version(version_from_file, 4) == Version(version, 4):
            print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
        else:
            error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})")

    # Changing version of the package
    if Version(version, 4) > Version(control.get_software_version(), 4):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        package_updated = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating or not update-package-sources
    return package_updated

    # # Changing version of the package and validating update-package-sources
    # return complete_control_version(control, version)

128530940d5c6b43c1bbf40def94145dea9052d1881445da63099d5c9bdf00cf : Setup_EP314.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
423bbd42abd45e65ab7c35907cfdc5a56a5298ff5c3381926c68d3ecae55dc85 : WAPT/control
2ceece4a56de7f142476c47ea0c8a150264502967c05ef8dffbc3a7818acf752 : WAPT/icon.png
f3d3fec0246696eb615d3aaaf4e38b0d13493f3630132133ea4840a930c9fad0 : luti.json
15f8ee340fc19b3931eb7ccf2360e676510d7011b43705c63ed8ac25c4d0fc90 : setup.py
0a0b80cb9e94dd06b3b3ba5693d7ba9cd0bdf653d8cf0947f687f89768156358 : update_package.py