tis-josm icon

Josm

Silent install package for Josm

19481-1

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-josm
  • name: Josm
  • version: 19481-1
  • maintainer: Administrator
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 85.01 Mo

package           : tis-josm
version           : 19481-1
architecture      : x64
section           : base
priority          : optional
name              : Josm
categories        : 
maintainer        : Administrator
description       : JOSM is an extensible editor for OpenStreetMap (OSM) for Java 8+. JOSM is open source and licensed under GPL
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : windows
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : JOSM est un éditeur extensible pour OpenStreetMap (OSM) pour Java 8+. JOSM est open source et sous licence GPL
description_pl    : JOSM to rozszerzalny edytor dla OpenStreetMap (OSM) dla Java 8+. JOSM jest oprogramowaniem open source na licencji GPL
description_de    : JOSM ist ein erweiterbarer Editor für OpenStreetMap (OSM) für Java 8+. JOSM ist Open Source und lizenziert unter GPL
description_es    : JOSM es un editor extensible para OpenStreetMap (OSM) para Java 8+. JOSM es de código abierto y licenciado bajo GPL
description_pt    : O JOSM é um editor extensível para o OpenStreetMap (OSM) para Java 8+. O JOSM é de código aberto e licenciado sob a GPL
description_it    : JOSM è un editor estensibile per OpenStreetMap (OSM) per Java 8+. JOSM è open source e ha una licenza GPL
description_nl    : JOSM is een uitbreidbare editor voor OpenStreetMap (OSM) voor Java 8+. JOSM is open source en gelicentieerd onder GPL
description_ru    : JOSM - это расширяемый редактор для OpenStreetMap (OSM) для Java 8+. JOSM имеет открытый исходный код и лицензию GPL
audit_schedule    : 
editor            : 
keywords          : 
licence           : 
homepage          : 
package_uuid      : 1815c815-6c19-4e96-9095-0482e72a23f7
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : f61fc2a800f385f6d0eb5f4f23d18f0c9ec9bb8571a7067b0b36d0f3cb2a58ef
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-02-01T12:00:58.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         : Y22AFlQBlCQ5OI0A3pGmnz7dh2v9CDJ27i56JgDDF3XNfMRrE2vgUqEK5FSJfnFrg6mirdn7gJqBioRIyY4hbQ4pe9oZM6PfukE/P2JpVdq/Zxbn8MOvHTLsAj4dI/SDXeLU6UtS0qGk9DjGMMYUL88+xDgMtsT7B9+ttowVecbLuQZsViO96FiXHudVBSjvNpDMhxVMpg1N6m1vTcrs+CiJdKk0UkTMOIzTrCNbsl25u6NnLe9rXsrniygF5pQdqw34PHlm2GdMMGDKQqp22feCb52b5N3D9ZWaHapsT63Z1EL4gQnnP3jh8eY+c/S7eAuqXs9wQdwveN7I4dpMkg==

# -*- 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():
    # Declaring local variables
    bin_name = glob.glob('josm-windows-*.msi')[0]
    # Installing the software
    
    install_msi_if_needed(bin_name)



from setuphelpers import *
import requests
import re
import json

def update_package():
    # Déclarer les variables locales
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    git_repo = "JOSM/josm"
    url_api = f"https://api.github.com/repos/{git_repo}/releases/latest"
    
    bin_ends = ".msi"
    bin_contains = "JOSM-Windows-java"

    # Obtenir la dernière version à partir des sources officielles
    print("API used is: %s" % url_api)
    json_load = json.loads(wgets(url_api, proxies=proxies))

    assets = json_load.get('assets', [])
    version = json_load.get('tag_name').split('-')[0]  # Extraire la version de JOSM

    latest_java_version = -1
    latest_asset = None

    # Utiliser une regex pour extraire la version de Java du nom de fichier
    java_version_pattern = re.compile(r'JOSM-Windows-java(\d+)-\d+\.msi')

    for asset in assets:
        if bin_contains in asset['name'] and bin_ends in asset['name']:
            match = java_version_pattern.match(asset['name'])
            if match:
                java_version = int(match.group(1))
                if java_version > latest_java_version:
                    latest_java_version = java_version
                    latest_asset = asset

    if latest_asset:
        filename = latest_asset['name']
        download_url = latest_asset['browser_download_url']

        if not isfile(filename):
            package_updated = True
            wget(download_url, filename, proxies=proxies)

        # Nettoyer les fichiers temporaires
        for f in glob.glob('*.exe'):
            if f != filename:
                remove_file(f)

        version = get_version_from_binary(filename).split(".")[-1]

        control.set_software_version(version)
        control.save_control_to_wapt()

4d6f4f036f606b91957f85879a9f743c7c43cc0d99f49d724bb2a793895edc4d : JOSM-Windows-java24-19481.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
23918a95454752abd55a8d5464a590d7e34d8efc67caffc7a13a220626528385 : WAPT/control
f61fc2a800f385f6d0eb5f4f23d18f0c9ec9bb8571a7067b0b36d0f3cb2a58ef : WAPT/icon.png
904942bc7f5038a84e56f1644a73fb6be3ffe554c795d6ff8b11be92a2906664 : luti.json
95b6ff51c5a6413f598b5159ba3b24d3e89bacef2ed6f66d8f281bacacbd8369 : setup.py
555ca9a6586df69aa8d8e3f7233c9dbbc98de714bd1bb118ed15fbf1fb49d77a : update_package.py