tis-3dslicer icon

Slicer

Paquet d’installation silencieuse pour Slicer

5.8.1-1

  • package: tis-3dslicer
  • name: Slicer
  • version: 5.8.1-1
  • categories: Drivers
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: opensource_free,wapt_public
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 242.02 Mo
  • homepage : https://www.slicer.org/

package           : tis-3dslicer
version           : 5.8.1-1
architecture      : x64
section           : base
priority          : optional
name              : Slicer
categories        : Drivers
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : 3D Slicer is an open source software platform for medical informatics, image processing and three-dimensional visualization
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : 3D Slicer est une plate-forme logicielle open source pour l'informatique médicale, le traitement d'images et la visualisation tridimensionnelle
description_pl    : 3D Slicer to platforma oprogramowania typu open source do obliczeń medycznych, przetwarzania obrazów i trójwymiarowej wizualizacji
description_de    : 3D Slicer ist eine Open-Source-Softwareplattform für medizinische Informatik, Bildverarbeitung und dreidimensionale Visualisierung
description_es    : 3D Slicer es una plataforma de software de código abierto para informática médica, procesamiento de imágenes y visualización tridimensional
description_pt    : O 3D Slicer é uma plataforma de software de fonte aberta para computação médica, processamento de imagens e visualização tridimensional
description_it    : 3D Slicer è una piattaforma software open source per il calcolo medico, l'elaborazione delle immagini e la visualizzazione tridimensionale
description_nl    : 3D Slicer is een open source softwareplatform voor medische informatica, beeldverwerking en driedimensionale visualisatie
description_ru    : 3D Slicer - это программная платформа с открытым исходным кодом для медицинских вычислений, обработки изображений и трехмерной визуализации
audit_schedule    : 
editor            : 
keywords          : 
licence           : opensource_free,wapt_public
homepage          : https://www.slicer.org/
package_uuid      : f61eb320-a2b6-486d-a4ef-976793b0922b
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : d8b0a5548796355ae47c2c3089fb5f605ca179fb9adf72b8fd1c2129da3476f6
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-04-13T11:00:27.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         : UwLGYtP0J2bfHiJ4OZ1nDErDWcAphT5ShZFIl1AhCxJE7QjJzGXdIPCiRC0ebP6Ow/JyTZGw9Xo0vYHxuJDDspotyFlH/Xi5tQqPuzh4xfpEQZVrgojAl8SbJCYM5ZTFRGkPFeoVwo9UcWFGgSu0Rb2f/KkI7DWmRwQdtfQ+UnzzhJSByl5wYOzznumdcMn7I3rxrWBehblVBo55wSd6O0BxDXaLy7l9+85jgvBuAMiewHtcybNPUiEBe0A9WqP023XMHTh5lL6oUi5B/1J4ZmA+WmAxyyvZ2n16jl16kEnZZklKFhOtNhZ0af4Rr567lw1yeV9JDPYdODiCfalTLw==

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():

    # Uninstalling older version of the software that can remains
    for to_uninstall in installed_softwares(name="Slicer"):
      if Version(to_uninstall["version"]) < Version(control.get_software_version()):
        print(f"Removing: {to_uninstall['name']} ({to_uninstall['version']})")
        killalltasks(ensure_list(control.impacted_process))
        run(uninstall_cmd(to_uninstall["key"]))
        wait_uninstallkey_absent(to_uninstall["key"])

    # Declaring local variables
    bin_name = glob.glob('Slicer-*.exe')[0]
    version = control.get_software_version()
    key_software = f'Slicer {version} (Win64)'
    # Installing the software
    
    install_exe_if_needed(bin_name,
        silentflags='/S',
        key=key_software,
        min_version=version,
    )

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    base_url_api = "https://slicer-packages.kitware.com/api/v1"

    # Slicer Folder
    url = f"{base_url_api}/folder?limit=101&offset=0&sort=name&sortdir=1&parentType=folder&parentId=5f4474d0e1d8c75dfc705482"
    folder_version = wgets(url, proxies=proxies, as_json=True)

    folder_with_version = [
        item for item in folder_version
        if any(char.isdigit() for char in item['name'])
    ]

    latest_data = max(folder_with_version, key=lambda x: Version(x['name']))
    version = latest_data['name']

    url = f"{base_url_api}/item?limit=101&offset=0&sort=name&sortdir=1&folderId={latest_data['_id']}"
    version_type = wgets(url, proxies=proxies, as_json=True)

    bin_wanted = next((i for i in version_type if 'Slicer_win_amd64' in i['name']))

    download_url = f"{base_url_api}/item/{bin_wanted['_id']}/download"
    latest_bin = requests.head(download_url, proxies=proxies).headers["Content-Disposition"].split("=")[-1].strip('"')
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]

    wget(download_url, latest_bin, proxies=proxies)

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = "Kitware, Inc."
    sign_name = waptlicences.check_exe_signing_certificate(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {sign_name} != {expected_issuer} ')

    # 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)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated


644331f2e152519abe7afeca4513dfb76c7936a68de7a661efb63689854d4401 : Slicer-5.8.1-win-amd64.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
294f677d74999fa588b36cd1f3b2c24d485ce096f280f7ece5b075c91e5bd2b8 : WAPT/control
d8b0a5548796355ae47c2c3089fb5f605ca179fb9adf72b8fd1c2129da3476f6 : WAPT/icon.png
7c980a18da13fbf83b8cd5e1cf2550456d9fc90b087db23b1d180f603dbc838b : luti.json
b14bd678f12138b168a7e9c73bb0dabf7838ed29db870c41b84e04ee49209404 : setup.py
37df62a124b861ae22650dc53891b4741aef5f9190c955e18997b87c65079a53 : update_package.py