tis-thebrain icon

TheBrain

Silent install package for TheBrain

14.0.102.0-3

  • package: tis-thebrain
  • name: TheBrain
  • version: 14.0.102.0-3
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: proprietary_free,wapt_private
  • target_os: windows
  • impacted_process: TheBrain
  • architecture: x64
  • signature_date:
  • size: 63.94 Mo
  • homepage : https://www.thebrain.com/

package           : tis-thebrain
version           : 14.0.102.0-3
architecture      : x64
section           : base
priority          : optional
name              : TheBrain
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : TheBrain organizes and finds everything the way you think it is
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : windows
min_wapt_version  : 2.3
sources           : 
installed_size    : 
impacted_process  : TheBrain
description_fr    : TheBrain organisez et trouvez tout comme vous le pensez
description_pl    : TheBrain organizuje i znajduje wszystko tak, jak myślisz
description_de    : TheBrain organisieren und finden Sie alles so, wie Sie es sich vorstellen
description_es    : TheBrain organiza y encuentra todo como tú crees
description_pt    : TheBrain organiza e encontra tudo da forma como pensa que está
description_it    : TheBrain organizza e trova tutto nel modo in cui pensate che sia
description_nl    : TheBrain organiseert en vindt alles zoals jij denkt dat het is
description_ru    : TheBrain организует и находит все так, как вы думаете
audit_schedule    : 
editor            : 
keywords          : 
licence           : proprietary_free,wapt_private
homepage          : https://www.thebrain.com/
package_uuid      : 70f60d2c-797b-49e4-b8e5-d9a1045e9b4d
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 01bfc5dbbd94d46fb483b61445d5028a00f5b04e768b578bacc75f2ef422ae0a
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-11-19T12:06:32.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         : Xqbt44dQ0PzIxGnUhyU1S0dCzK0+7v8fttVNccor8m68yfills4Kc94FT79nBqTS1qvzDRegXz4B1hqiu3TZPjz8FsT4RdS6fkpI/IERKCoZlSCJuMnbf9Q2YDomrKgO5RFpriv4s05LewU0+T76t+Ft/xMsgUOJjkdP3l/lfJx9UrpOB0d7nziXgFrF0GIy5dFabLoUqSgQ6Nv3qo1VBNc92f/IRs/SIENJgROxl5WYDkZ9MMm0hWXT9s0uaOAV7ZZRZsOutlOD2oHZNkA3QqMjCnqIU6gpCF5aj6lhY5pFJgZupFb8XURCLr2gi/zNh/Uo6ZX5EUkLbnHfpM7lYQ==

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


def install():
    # Declaring local variables
    bin_name = glob.glob('TheBrain*.exe')[0]
    
    # Install the software
    install_exe_if_needed(bin_name,
        silentflags='/quiet /norestart',
        name="^TheBrain$",
        min_version=control.get_software_version(),
    )

    uninstallkey.clear()


def uninstall():
    print(f"Removing: {control.name}")
    for uninstall in installed_softwares(name="^TheBrain$"):
        killalltasks(control.get_impacted_process_list())
        run(uninstall_cmd(uninstall["key"]))
        wait_uninstallkey_absent(uninstall["key"])


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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies_from_wapt_console()
    if not proxies:
        proxies = get_proxies()
    app_name = control.name
 
    base_url = "https://www.thebrain.com/download"
    api_domain = "salesapi.thebrain.com"

    for url in bs_find_all(base_url, "a", "class", "download-button"):
        if api_domain in url.get('href', '') and control.target_os in url.text.lower():
            download_url = requests.head(url["href"], proxies=proxies).headers['Location']
            latest_bin = download_url.rsplit('/', 1)[-1].replace("%20", "_")
            latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
            version = latest_bin.split('_')[1]
            break

    # 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 = "TheBrain Technologies LP"
    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

231b8c6bad468b031bcc283c109fa8f117f4574cff0211f15c5d5fe9ca9324d6 : TheBrain_14.0.102.0_Installer.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
d3aa4b61f6ee9c1d094421286bb62ad93eb8bf7e166d6b9422535cfae24706d0 : WAPT/control
01bfc5dbbd94d46fb483b61445d5028a00f5b04e768b578bacc75f2ef422ae0a : WAPT/icon.png
fa8e35ce0cd1b630f5977f6a4ca9b63c49db79abb969b2b65fb5df5ee8098260 : luti.json
dc25a1fcd4d3264ab702578f849f492b3a849ac65fc8f2652143e21fae1e32c4 : setup.py
6b18217ae0b12930b990f1130b3e0440f9e97df2325a3d67974823c567741a77 : update_package.py