Added connet_to_db() function to hw-diags.py

* Uses new main.py variables
* Only runs if non-quick drive test(s) are selected
This commit is contained in:
2Shirt 2018-09-18 16:14:46 -06:00
parent 73367d2cde
commit 555a661e92
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
3 changed files with 35 additions and 4 deletions

View file

@ -2,9 +2,14 @@
import json import json
import time import time
import mysql.connector as mariadb
from functions.common import * from functions.common import *
# osTicket Database
db_connection = None
db_cursor = None
# STATIC VARIABLES # STATIC VARIABLES
ATTRIBUTES = { ATTRIBUTES = {
'NVMe': { '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): def generate_horizontal_graph(rates):
"""Generate two-line horizontal graph from rates, returns str.""" """Generate two-line horizontal graph from rates, returns str."""
line_top = '' line_top = ''
@ -640,8 +656,10 @@ def run_nvme_smart():
def run_tests(tests): def run_tests(tests):
"""Run selected hardware test(s).""" """Run selected hardware test(s)."""
print_log('Starting Hardware Diagnostics') clear_screen()
print_log('\nRunning tests: {}'.format(', '.join(tests))) print_standard('Starting Hardware Diagnostics')
print_standard(' ')
print_standard('Running tests: {}'.format(', '.join(tests)))
# Enable selected tests # Enable selected tests
for t in ['Prime95', 'NVMe/SMART', 'badblocks', 'iobenchmark']: for t in ['Prime95', 'NVMe/SMART', 'badblocks', 'iobenchmark']:
TESTS[t]['Enabled'] = t in tests TESTS[t]['Enabled'] = t in tests
@ -649,10 +667,17 @@ def run_tests(tests):
# Initialize # Initialize
if TESTS['NVMe/SMART']['Enabled'] or TESTS['badblocks']['Enabled'] or TESTS['iobenchmark']['Enabled']: 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(' ')
print_standard('Scanning disks...')
scan_disks() scan_disks()
update_progress() update_progress()
pause()
exit_script()
# Run # Run
mprime_aborted = False mprime_aborted = False
@ -683,7 +708,6 @@ def run_tests(tests):
def scan_disks(full_paths=False, only_path=None): def scan_disks(full_paths=False, only_path=None):
"""Scan for disks eligible for hardware testing.""" """Scan for disks eligible for hardware testing."""
clear_screen()
# Get eligible disk list # Get eligible disk list
cmd = ['lsblk', '-J', '-O'] cmd = ['lsblk', '-J', '-O']

View file

@ -11,6 +11,11 @@ ARCHIVE_PASSWORD='Abracadabra'
KIT_NAME_FULL='Wizard Kit' KIT_NAME_FULL='Wizard Kit'
KIT_NAME_SHORT='WK' KIT_NAME_SHORT='WK'
SUPPORT_MESSAGE='Please let 2Shirt know by opening an issue on GitHub' 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 # Live Linux
MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags MPRIME_LIMIT='7' # of minutes to run Prime95 during hw-diags
ROOT_PASSWORD='Abracadabra' ROOT_PASSWORD='Abracadabra'

View file

@ -43,6 +43,7 @@ libinput
linux-firmware linux-firmware
lm_sensors lm_sensors
lzip lzip
mariadb-clients
mdadm mdadm
mediainfo mediainfo
mesa-demos mesa-demos
@ -62,6 +63,7 @@ p7zip
papirus-icon-theme papirus-icon-theme
progsreiserfs progsreiserfs
python python
python-mysql-connector
python-psutil python-psutil
python-requests python-requests
qemu-guest-agent qemu-guest-agent