tis-waptpython-black icon

waptpython black

Paquet d’installation silencieuse pour waptpython black

25.11.0-21
Development
Development

  • package: tis-waptpython-black
  • name: waptpython black
  • version: 25.11.0-21
  • categories: Development
  • maintainer: WAPT Team,Tranquil IT,Flavien SCHELFAUT
  • locale: all
  • target_os: all
  • architecture: all
  • signature_date:
  • size: 213.12 Ko
  • installed_size: 25.75 Mo
  • homepage : https://github.com/psf/black

package           : tis-waptpython-black
version           : 25.11.0-21
architecture      : all
section           : base
priority          : optional
name              : waptpython black
categories        : Development
maintainer        : WAPT Team,Tranquil IT,Flavien SCHELFAUT
description       : The uncompromising code formatter.
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : all
min_wapt_version  : 2.3
sources           : https://pypi.org/project/black/#files
installed_size    : 25752681
impacted_process  : 
description_fr    : 
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 2h
editor            : 
keywords          : waptpython,python,pip,pypi,package,black,automation,autopep8,formatter,gofmt,pyfmt,rustfmt,yapf
licence           : 
homepage          : https://github.com/psf/black
package_uuid      : 0a3c48a3-3a2e-4c20-8019-bc36621b3c03
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/psf/black/blob/main/CHANGES.md
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 3307da49dca7842503f3369c908cd625f2b16276a8690e4dd37c08a057580c44
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-12-06T17:32:43.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         : OkC5KGlqdNwn8WlXZjgIRZ/Ik1mC4ayw2YtNDSZHbEvQ/6UKbSS3znwZZ5rJe6wXJMG0WgVC8Hn0/dizSAzHMd+KTg1gpGqKLnzQW2N6br6lqsohY2p5FmVatfMwhUSWQ8++DnL7RVZcwFLxqFFLkWXZ2myfePHTK2caF3Dz8vefOV8qZUYZRbB/1DzY6ejYg/TXkBhBQMEhf6KStrtNqmlDLr8PBzqqiYIU3GF9t5J5guhK9XJpzV2KJ4lz4qdTYTpYjt3sNAyq8LTdDniocpdZAlySFfa4x8wdDGR1iChnwSXj2QnY439pwAyBXOsROCzYuBT9hWMm3JBZ+fGNrA==

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

waptpython_lib_sp_dir = sysconfig.get_paths()["purelib"]

def install():
    bin_name = glob.glob('black*.whl')[0]
    unzip(bin_name, waptpython_lib_sp_dir)

def audit():
    
    black_python_version = makepath(waptpython_lib_sp_dir, '_black_version.py')
    black_lib_folder = makepath(waptpython_lib_sp_dir, 'black')
    
    with open(black_python_version) as f:
        lines = f.readlines()
    
    version = next((line.split('=')[-1].strip(' "\n') for line in lines if 'version =' in line), None)
        
    is_latest_version = Version(version) == Version(control.get_software_version())
    
    if not (isdir(black_lib_folder) and is_latest_version):
        return "ERROR"
    
    return "OK"

def uninstall():
    
    pip_unzip_content = [
        'black', 'blackd', 'blib2to3',
        f'black-{control.get_software_version()}.dist-info',
        '_black_version.py'
    ]
    
    for file in pip_unzip_content:
        path_file = makepath(waptpython_lib_sp_dir, file)
        if isfile(path_file):
            remove_file(path_file)
        elif isdir(path_file):
            remove_tree(path_file)

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    
    name_pypi = "black"
    wanted_file = "py3-none-any.whl"
    
    api_url = f"https://pypi.org/pypi/{name_pypi}/json"

    releases_data = wgets(api_url, proxies=proxies, as_json=True)['releases']

    stable_versions = [
        v for v in releases_data
        if not any(tag in v.lower() for tag in ['dev', 'alpha', 'beta'])
    ]
    
    sorted_versions = sorted(stable_versions, key=lambda p: Version(p), reverse=True)
    
    for v in sorted_versions:
        
        candidates = [
            f for f in releases_data[v]
            if not f['yanked'] and f['url'].endswith(wanted_file)
        ]
        
        if candidates:
            file_info = candidates[0]
            download_url = file_info['url']
            sumsha256 = file_info['digests']['sha256']
            version = v
            break

    whl = download_url.split('/')[-1]
    
    wget(download_url, whl, sha256=sumsha256, proxies=proxies)

    for f in glob.glob('*.whl'):
        if f != whl:
            remove_file(f)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    control.set_software_version(version)
    control.save_control_to_wapt()

    # Validating update-package-sources
    return package_updated

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
936548f8bb0c9fe137a30c8b0120149efabb9c2a5b134f106d749e8cf60c93a8 : WAPT/control
3307da49dca7842503f3369c908cd625f2b16276a8690e4dd37c08a057580c44 : WAPT/icon.png
e3f562da087791e96cefcd9dda058380a442ab322a02e222add53736451f604b : black-25.11.0-py3-none-any.whl
a38e570defaa6f7fe64cfff38dd05ad069afd0ec1efb362ca1704ac9ac9ed62e : luti.json
1dffa41f2ba7092f057f0802944daa5e07afc2ae1ae388437df9610099191ee1 : setup.py
c2d4a29e3eb09b30c91d9e4271ed868c125fe6754fba81b1b458dcbbfc452cb1 : update_package.py