From ca9ea501f60719b7032dfb0485fe43ef9843ecc4 Mon Sep 17 00:00:00 2001 From: wugensheng <82647680+wugensheng-code@users.noreply.github.com> Date: Wed, 2 Mar 2022 18:30:31 +0800 Subject: [PATCH 1/2] add Information statistics --- cmds/Kconfig | 7 +++++ cmds/cmd_package/cmd_package_upgrade.py | 37 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/cmds/Kconfig b/cmds/Kconfig index f8084a92..cbc7543a 100644 --- a/cmds/Kconfig +++ b/cmds/Kconfig @@ -31,5 +31,12 @@ config SYS_PKGS_DOWNLOAD_ACCELERATE bool "Use China Mainland server" default y +config SYS_PKGS_USING_STATISTICS + bool "Send usage data for improve product" + default y + help + Reads the user's mac address and returns it to the rt-thread official, + which is used to count the number of users + endmenu diff --git a/cmds/cmd_package/cmd_package_upgrade.py b/cmds/cmd_package/cmd_package_upgrade.py index c2b1ed79..c80a9adc 100644 --- a/cmds/cmd_package/cmd_package_upgrade.py +++ b/cmds/cmd_package/cmd_package_upgrade.py @@ -24,10 +24,23 @@ # import os +import uuid from vars import Import from .cmd_package_utils import git_pull_repo, get_url_from_mirror_server, find_macro_in_config from .cmd_package_update import need_using_mirror_download +try: + import requests +except ImportError: + print("****************************************\n" + "* Import requests module error.\n" + "* Please install requests module first.\n" + "* pip install step:\n" + "* $ pip install requests\n" + "* command install step:\n" + "* $ sudo apt-get install python-requests\n" + "****************************************\n") + def upgrade_packages_index(force_upgrade=False): """Update the package repository index.""" @@ -104,9 +117,33 @@ def upgrade_env_script(): git_pull_repo(env_scripts_root, env_scripts_repo) print("==============================> Env scripts upgrade done \n") +def get_mac_address(): + mac=uuid.UUID(int = uuid.getnode()).hex[-12:] + return ":".join([mac[e:e+2] for e in range(0,11,2)]) + + +def Information_statistics(): + + env_root = Import('env_root') + + # get the .config file from env + env_kconfig_path = os.path.join(env_root, 'tools\scripts\cmds') + env_config_file = os.path.join(env_kconfig_path, '.config') + + mac_addr = get_mac_address() + env_config_file = os.path.join(env_kconfig_path, '.config') + if find_macro_in_config(env_config_file, 'SYS_PKGS_USING_STATISTICS'): + print('start information statistics') + response = requests.get('https://www.rt-thread.org/studio/statistics/api/envuse?userid='+str(mac_addr)+'&username='+str(mac_addr)+'&envversion=1.0&studioversion=2.0&ip=127.0.0.1') + if response.status_code != 200: + print("Information statistics failed") + return + else: + return def package_upgrade(force_upgrade=False): """Update the package repository directory and env function scripts.""" + Information_statistics() upgrade_packages_index(force_upgrade=force_upgrade) upgrade_env_script() From cd58f92666f010bc301c9b7fce8128e71805acb8 Mon Sep 17 00:00:00 2001 From: wugensheng <82647680+wugensheng-code@users.noreply.github.com> Date: Wed, 2 Mar 2022 18:49:41 +0800 Subject: [PATCH 2/2] Remove printing --- cmds/cmd_package/cmd_package_upgrade.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/cmds/cmd_package/cmd_package_upgrade.py b/cmds/cmd_package/cmd_package_upgrade.py index c80a9adc..b8a442a1 100644 --- a/cmds/cmd_package/cmd_package_upgrade.py +++ b/cmds/cmd_package/cmd_package_upgrade.py @@ -133,10 +133,8 @@ def Information_statistics(): mac_addr = get_mac_address() env_config_file = os.path.join(env_kconfig_path, '.config') if find_macro_in_config(env_config_file, 'SYS_PKGS_USING_STATISTICS'): - print('start information statistics') response = requests.get('https://www.rt-thread.org/studio/statistics/api/envuse?userid='+str(mac_addr)+'&username='+str(mac_addr)+'&envversion=1.0&studioversion=2.0&ip=127.0.0.1') if response.status_code != 200: - print("Information statistics failed") return else: return