From 555a661e92338675713bf7d46ea64ae2283ded79 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Tue, 18 Sep 2018 16:14:46 -0600 Subject: [PATCH] Added connet_to_db() function to hw-diags.py * Uses new main.py variables * Only runs if non-quick drive test(s) are selected --- .bin/Scripts/functions/hw_diags.py | 32 ++++++++++++++++++++++++++---- .bin/Scripts/settings/main.py | 5 +++++ .linux_items/packages/live_add | 2 ++ 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/.bin/Scripts/functions/hw_diags.py b/.bin/Scripts/functions/hw_diags.py index 3b8bd354..cc10ae40 100644 --- a/.bin/Scripts/functions/hw_diags.py +++ b/.bin/Scripts/functions/hw_diags.py @@ -2,9 +2,14 @@ import json import time +import mysql.connector as mariadb from functions.common import * +# osTicket Database +db_connection = None +db_cursor = None + # STATIC VARIABLES ATTRIBUTES = { 'NVMe': { @@ -73,6 +78,17 @@ TESTS = { }, } +def connect_to_db(): + """Connect to osTicket database.""" + try: + db_connection = mariadb.connect( + user=DB_USER, password=DB_PASS, database=DB_NAME, host=DB_HOST) + db_cursor = db_connection.cursor() + except: + db_connection = None + db_cursor = None + raise + def generate_horizontal_graph(rates): """Generate two-line horizontal graph from rates, returns str.""" line_top = '' @@ -640,8 +656,10 @@ def run_nvme_smart(): def run_tests(tests): """Run selected hardware test(s).""" - print_log('Starting Hardware Diagnostics') - print_log('\nRunning tests: {}'.format(', '.join(tests))) + clear_screen() + print_standard('Starting Hardware Diagnostics') + print_standard(' ') + print_standard('Running tests: {}'.format(', '.join(tests))) # Enable selected tests for t in ['Prime95', 'NVMe/SMART', 'badblocks', 'iobenchmark']: TESTS[t]['Enabled'] = t in tests @@ -649,10 +667,17 @@ def run_tests(tests): # Initialize if TESTS['NVMe/SMART']['Enabled'] or TESTS['badblocks']['Enabled'] or TESTS['iobenchmark']['Enabled']: + if not TESTS['NVMe/SMART']['Quick']: + print_standard(' ') + try_and_print( + message='Connecting to osTicket database...', + function=connect_to_db, + width=40) print_standard(' ') - print_standard('Scanning disks...') scan_disks() update_progress() + pause() + exit_script() # Run mprime_aborted = False @@ -683,7 +708,6 @@ def run_tests(tests): def scan_disks(full_paths=False, only_path=None): """Scan for disks eligible for hardware testing.""" - clear_screen() # Get eligible disk list cmd = ['lsblk', '-J', '-O'] diff --git a/.bin/Scripts/settings/main.py b/.bin/Scripts/settings/main.py index c49da96e..4e6d4083 100644 --- a/.bin/Scripts/settings/main.py +++ b/.bin/Scripts/settings/main.py @@ -11,6 +11,11 @@ ARCHIVE_PASSWORD='Abracadabra' KIT_NAME_FULL='Wizard Kit' KIT_NAME_SHORT='WK' SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub' +# osTicket +DB_HOST='127.0.0.1' +DB_NAME='osticket' +DB_USER='wizardkit' +DB_PASS='Abracadabra' # Live Linux MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags ROOT_PASSWORD='Abracadabra' diff --git a/.linux_items/packages/live_add b/.linux_items/packages/live_add index ea784699..57782fe9 100644 --- a/.linux_items/packages/live_add +++ b/.linux_items/packages/live_add @@ -43,6 +43,7 @@ libinput linux-firmware lm_sensors lzip +mariadb-clients mdadm mediainfo mesa-demos @@ -62,6 +63,7 @@ p7zip papirus-icon-theme progsreiserfs python +python-mysql-connector python-psutil python-requests qemu-guest-agent