tis-db-structure-diagram-wapt icon

DB Structure Diagram WAPT

Silent install package for DB Structure Diagram WAPT

2.7.0.19665-9
Utility
Utility

  • package: tis-db-structure-diagram-wapt
  • name: DB Structure Diagram WAPT
  • version: 2.7.0.19665-9
  • categories: Utility
  • maintainer: WAPT Team,Tranquil IT,Bertrand LEMOIGNE
  • editor: Tranquil IT
  • licence: wapt_public
  • target_os: all
  • architecture: all
  • signature_date:
  • size: 66.13 Ko
  • homepage : https://www.wapt.fr

package           : tis-db-structure-diagram-wapt
version           : 2.7.0.19665-9
architecture      : all
section           : base
priority          : optional
name              : DB Structure Diagram WAPT
categories        : Utility
maintainer        : WAPT Team,Tranquil IT,Bertrand LEMOIGNE
description       : Structure diagram (SVG, HTML, DOT) of the WAPT server PostgreSQL database
depends           : 
conflicts         : 
maturity          : PROD
locale            : 
target_os         : all
min_wapt_version  : 2.3
sources           : https://wapt.tranquil.it/wapt/releases/latest/
installed_size    : 
impacted_process  : 
description_fr    : Diagramme de structure (SVG, HTML, DOT) de la base de données PostgreSQL du serveur WAPT
description_pl    : Diagram struktury (SVG, HTML, DOT) bazy danych PostgreSQL serwera WAPT
description_de    : Strukturdiagramm (SVG, HTML, DOT) der PostgreSQL-Datenbank des WAPT-Servers
description_es    : Diagrama de estructura (SVG, HTML, DOT) de la base de datos PostgreSQL del servidor WAPT
description_pt    : Diagrama de estrutura (SVG, HTML, DOT) da base de dados PostgreSQL do servidor WAPT
description_it    : Diagramma della struttura (SVG, HTML, DOT) del database PostgreSQL del server WAPT
description_nl    : Structuurdiagram (SVG, HTML, DOT) van de PostgreSQL-database van de WAPT-server
description_ru    : Диаграмма структуры (SVG, HTML, DOT) базы данных PostgreSQL сервера WAPT
audit_schedule    : 
editor            : Tranquil IT
keywords          : wapt,database,postgresql,diagram,schema
licence           : wapt_public
homepage          : https://www.wapt.fr
package_uuid      : 0cf5739f-c3c8-42f3-ab06-448b6cb236f9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 3e7c51325356b282e0569bff8d9048055254a9616167b66f893703b14e6957d1
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-11-01T16:40: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         : INm5CR0vNfHNs4MPCshY+LS5uCe72EgRcoOsu5nYjH/nHH/jZ4+k8kSXuyYcg8ou3F2dA8Z6vv6WfzAmJOIXuirFci5Z/53to+wNUvxFwcwfiOHysJYB5JNphn2q1RJoyQojaQCUUKm+4TE5Mo8+IrlWGJ2381DLStgMRpYbf3ONvKHRsXpmPpHjQq77fdyvQN2Ts7Wwb0jwkg/IKmuSKUwXtkFUucPKCrHd/pXkHsAg+li4AAsmMREHlehPh8nzGKeaM3gMq8Q+i8DN3rGJ8vUlXGxZST76rIHUUWxWlV1grnt4voaUWJSE5A996uls/05VAcN1BQNVK1o8TwE0sQ==

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


def install():
    # Declaring local variables
    diagram_dir = makepath(WAPT.wapt_base_dir, "dbdiagram")

    # Installing the diagram files
    if isdir(diagram_dir):
        remove_tree(diagram_dir)
    mkdirs(diagram_dir)
    for file in glob.glob("wapt.*"):
        print(f"Copying: {file}")
        filecopyto(file, diagram_dir)


def uninstall():
    diagram_dir = makepath(WAPT.wapt_base_dir, "dbdiagram")
    if isdir(diagram_dir):
        print(f"Removing: {diagram_dir}")
        remove_tree(diagram_dir)


def audit():
    diagram_file = makepath(WAPT.wapt_base_dir, "dbdiagram", "wapt.svg")
    if isfile(diagram_file):
        print(f"Diagram file found: {diagram_file}")
        return "OK"
    else:
        print(f"Diagram file not found: {diagram_file}")
        return "ERROR"

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


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url = "https://wapt.tranquil.it/wapt/releases/latest/"

    # Getting latest version from WAPT public repository
    for entry in bs_find_all(url, "a", "href", proxies=proxies):
        lnk = entry.attrs["href"]
        if lnk.endswith(".deb") and "amd64" in lnk:
            version = lnk.split("-")[2]
            break
    short_version = ".".join(version.split(".")[:2])
    print(f"Latest WAPT version is: {version}")

    # Adding the WAPT repository
    distrib = get_distrib_linux().capitalize()
    keyring = "/usr/share/keyrings/tiswapt-pub.gpg"
    wget(f"https://wapt.tranquil.it/{distrib}/tiswapt-pub-2026.gpg", keyring, proxies=proxies)
    with open("/etc/apt/sources.list.d/wapt.list", "w") as f:
        f.write(f"deb [signed-by={keyring}] https://wapt.tranquil.it/{distrib}/wapt-{short_version}/ {get_code_name_version()} main\n")

    # Installing and post-configuring a WAPT server to get its database
    uninstall_apt("tis-waptagent")
    install_apt("tis-waptserver tis-waptsetup postgresql-autodoc graphviz")
    run(f"/opt/wapt/waptserver/scripts/postconf.sh -q --fqdn {get_hostname()}")

    # Generating the diagram
    workdir = tempfile.mkdtemp(prefix="dbdiagram-")
    run(f"chown wapt {workdir}")
    run("sudo -u wapt postgresql_autodoc -d wapt", cwd=workdir)
    run("dot -Tsvg wapt.dot -o wapt.svg", cwd=workdir)

    # Replacing the previous diagram files
    for file in glob.glob("wapt.*"):
        remove_file(file)
    for file in glob.glob(makepath(workdir, "wapt.*")):
        print(f"Copying: {os.path.basename(file)}")
        filecopyto(file, os.path.basename(file))
    remove_tree(workdir)

    # 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
a33eb0a49cbb4624ce3ba5bd110e50ccb05ec8132f8142f150b6a65836573bd8 : WAPT/control
3e7c51325356b282e0569bff8d9048055254a9616167b66f893703b14e6957d1 : WAPT/icon.png
deecb21d958248bf8927d2ee15027dff48039d6c7b3e5e5062c740279c36aa95 : luti.json
1dab8e00a6516e8558e264661761dab245e8375fba5544371872846755e3fab8 : setup.py
5058b1de452946abf02ccafed57f1543a4d6183e66612bc665b931fddb33a969 : update_package.py
35c83daa7def2b6c7c222880130a1224616f68259079a2c1a8c478824961ce67 : wapt.dia
c09bc2e086617f61f09233f453e332bfb2494ff7ee27021cb35d1bee0a223edb : wapt.dot
d692f37dd6b38f24d750d28a020c71d449be7754f276792423e74cbef50e5c4e : wapt.dot_shortfk
95dbce34187bc071926ab2865f1ca7c410809de73fb1915a9a1dd736e8c08a8b : wapt.html
98b17ccdb0fed975d0c00a13f759e977b20bb2fc81174af900f934a0e520f0d5 : wapt.neato
5f887349c8f69e1809b95a93dfaa168ef3ad1ea63bd1cce8f504a2c7e4feb7a8 : wapt.svg
12653b4d9a35567df9457add0fb32ddaaca3c515aca2f54c5867db3e36bf2fa0 : wapt.xml
b6bf27118bf7172d6b74746c00ea479ad2f62bcc247a18df470f52aadabd100b : wapt.zigzag.dia