From 7f5d57a704dd05682fb2e6c2840f021ca13bff34 Mon Sep 17 00:00:00 2001 From: Vitor Lopes Date: Thu, 23 Nov 2023 10:24:35 +0000 Subject: [PATCH] add install report --- settings.conf | 1 + src/modules/installreport/installreport.conf | 4 +++ src/modules/installreport/installreport.yaml | 10 ++++++ src/modules/installreport/main.py | 33 ++++++++++++++++++++ src/modules/installreport/module.desc | 7 +++++ 5 files changed, 55 insertions(+) create mode 100644 src/modules/installreport/installreport.conf create mode 100644 src/modules/installreport/installreport.yaml create mode 100644 src/modules/installreport/main.py create mode 100644 src/modules/installreport/module.desc diff --git a/settings.conf b/settings.conf index 5012df2a6..265e449f5 100644 --- a/settings.conf +++ b/settings.conf @@ -149,6 +149,7 @@ sequence: - bootloader - postcfg - umount + - install-count - show: - finished diff --git a/src/modules/installreport/installreport.conf b/src/modules/installreport/installreport.conf new file mode 100644 index 000000000..d10df4d85 --- /dev/null +++ b/src/modules/installreport/installreport.conf @@ -0,0 +1,4 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 + +skip_if_no_internet: true diff --git a/src/modules/installreport/installreport.yaml b/src/modules/installreport/installreport.yaml new file mode 100644 index 000000000..5979d10e1 --- /dev/null +++ b/src/modules/installreport/installreport.yaml @@ -0,0 +1,10 @@ +# SPDX-FileCopyrightText: 2020 Adriaan de Groot +# SPDX-License-Identifier: GPL-3.0-or-later +--- +$schema: https://json-schema.org/schema# +$id: https://calamares.io/schemas/install-count +additionalProperties: false +type: object +properties: + skip_if_no_internet: { type: boolean, default: true } + diff --git a/src/modules/installreport/main.py b/src/modules/installreport/main.py new file mode 100644 index 000000000..cc065db4d --- /dev/null +++ b/src/modules/installreport/main.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import subprocess +import requests +import libcalamares + +def proc(cmd): + return subprocess.run(cmd, capture_output=True, text=True).stdout.replace("\n", "") + +def get_chassis(): + return proc(['hostnamectl', '|', 'grep', 'Chassis']).replace("Chassis:\t", "") + +def pretty_name(): + ## TODO + return "unknown" + +def get_cala_version(): + return "" + +def run(): + libcalamares.job.setprogress(1.0) + version = get_cala_version() + headers = {'user-agent': f"Calamares/{version}"} + host = "https://ping.manjaro.org/calamares" + + if "vm" in get_chassis(): + host = f"{host}vm" + + try: + requests.get(host, headers=headers, timeout=3) + return "New installation successful" + except Exception as e: + return str(e) diff --git a/src/modules/installreport/module.desc b/src/modules/installreport/module.desc new file mode 100644 index 000000000..a0aa720a5 --- /dev/null +++ b/src/modules/installreport/module.desc @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +--- +type: "job" +name: "installreport" +interface: "python" +script: "main.py"