PortfolioPerformance
Paquet d’installation silencieuse pour PortfolioPerformance
0.81.3-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-portfolio-portable
- name: PortfolioPerformance
- version: 0.81.3-1
- maintainer: WAPT Team,Tranquil IT,Amel FRADJ
- licence: opensource_free,wapt_public
- target_os: windows
- architecture: x64
- signature_date:
- size: 65.88 Mo
- homepage : http://www.portfolio-performance.info/portfolio/
package : tis-portfolio-portable
version : 0.81.3-1
architecture : x64
section : base
priority : optional
name : PortfolioPerformance
categories :
maintainer : WAPT Team,Tranquil IT,Amel FRADJ
description : A simple tool for calculating the overall performance of an investment portfolio
depends :
conflicts :
maturity : PREPROD
locale :
target_os : windows
min_wapt_version : 2.3
sources :
installed_size :
impacted_process :
description_fr : Un outil simple pour calculer la performance globale d'un portefeuille d'investissement
description_pl : Proste narzędzie do obliczania ogólnej wydajności portfela inwestycyjnego
description_de : Ein einfaches Instrument zur Berechnung der Gesamtleistung eines Investitionsportfolios
description_es : Una herramienta sencilla para calcular el rendimiento global de una cartera de inversión
description_pt : Uma ferramenta simples para calcular o desempenho global de uma carteira de investimentos
description_it : Uno strumento semplice per calcolare la performance complessiva di un portafoglio d'investimento
description_nl : Een eenvoudig hulpmiddel om de totale prestatie van een beleggingsportefeuille te berekenen
description_ru : Простой инструмент для расчета общей эффективности инвестиционного портфеля
audit_schedule :
editor :
keywords :
licence : opensource_free,wapt_public
homepage : http://www.portfolio-performance.info/portfolio/
package_uuid : 8ece7e32-09d8-4904-a445-c472e502d051
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : 1d5beafb81f362727e6dec18dea0aa939ff76728d6f8fa986dc23848b8c5503e
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-01-25T10:56:09.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 : clfSAOz8u7npJYOVoJld/9X5iWdkqHmy0u3HDu6ewZ9IZqncRSwsKEAfrvU0j+zZ2yM8wbWjkM5lRY0bWZ+x5/wG0MTOiQMP/EzyuOjltuEUuOQjvFPu/M7zZrgiivYI5jWRKRpKIBcWi75ylC9kCLKXaiKUMXOce9vXHXkm0yZidRSUzWS8YfqnKQ+rE17FLUOqUGYguBNxSkKSqUBWuT5nVr2aaWBvZAvlBSj+3R32UqqfyVf/ZPkEHl6MqBeBWfsmpQJS3ll5eqUihVQlCsbMk7qOMMHQTV1jyYN4Y09UpnOqWoCrDgpfkfyAro/vl+NzZOXerU6SA8snbxdu5A==
# -*- coding: utf-8 -*-
from setuphelpers import *
"""
"""
app_name = "Portfolio"
editor_dir = makepath(programfiles, "Portfolio")
app_dir = makepath(editor_dir, "Portfolio")
app_path = makepath(app_dir,"Portfolio", "PortfolioPerformance.exe")
#icon_path = makepath(app_dir, "resources", "app", "build", "crushee.ico") #tis-crushee\windows\crushee\resources\resources\build
audit_version = False
def get_installed_version(app_path):
return get_file_properties(app_path).get("FileVersion", "")
def install():
# Declaring local variables
zip_name = glob.glob(f"Portfolio*.zip")[0]
unzipped_dir = "Portfolio"
# Installing software
killalltasks(ensure_list(control.impacted_process))
if isdir(app_dir) and force:
remove_tree(app_dir)
mkdirs(app_dir)
print("Extracting: %s to: %s" % (zip_name, unzipped_dir))
unzip(zip_name, unzipped_dir)
print('Copy Portfolio to %s' % app_dir)
copytree2(unzipped_dir, app_dir, onreplace=default_overwrite)
# Creating custom shortcuts
create_desktop_shortcut(app_name, target=app_path)
create_programs_menu_shortcut(app_name, target=app_path)
def audit():
# Auditing software
audit_status = "OK"
installed_version = get_installed_version(app_path)
if Version(installed_version) < Version(control.get_software_version()) and audit_version:
print("%s is installed in version (%s) instead of (%s)" % (app_name, installed_version, control.get_software_version()))
audit_status = "WARNING"
elif isdir(app_dir) and not dir_is_empty(app_dir):
print("%s (%s) is installed" % (app_name, installed_version))
audit_status = "OK"
else:
print("%s is not installed" % app_name)
audit_status = "ERROR"
return audit_status
def uninstall():
# Uninstalling software
killalltasks(ensure_list(control.impacted_process))
if isdir(app_dir):
remove_tree(app_dir)
if dir_is_empty(editor_dir):
remove_tree(editor_dir)
# Removing shortcuts
remove_desktop_shortcut(app_name)
remove_programs_menu_shortcut(app_name)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import json
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
def update_package():
result = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
git_repo = "portfolio-performance/portfolio"
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') :
url_dl = download["browser_download_url"]
version = json_load["tag_name"].replace("v","")
filename = download["name"]
break
if not isfile(filename):
package_updated = True
wget(url_dl,filename,proxies=proxies)
#nettoyer les fichiers temporaires
for f in glob.glob('*.zip'):
if f != filename:
remove_file(f)
control.set_software_version(version)
control.save_control_to_wapt()
ea15b4816144486503914dc06a0944884b863b112a92d97e3a03e62f86d65f30 : PortfolioPerformance-0.81.3-win32.win32.aarch64.zip
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
b3e993493ff74782539212abaa46bfabf3aa4b93b0bd06ed7e217093e05f7075 : WAPT/control
1d5beafb81f362727e6dec18dea0aa939ff76728d6f8fa986dc23848b8c5503e : WAPT/icon.png
3a169d45df50fd7000ee68617aaeb7650f22d5f28d2ab03c99edc2235ea3213b : luti.json
27077a94700893d8317f78174dcd8c17a592b02c3c609794bdac886e04aa888e : setup.py
187f76b158fb269a005fdb852d92e132c762965496f56ac240cd795d9b43a2c3 : update_package.py