Optimize init, code clenup
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
|
# 📧 SMTP guides
|
||||||
|
|
||||||
## Use the GMX SMTP server
|
## Use the GMX SMTP server
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ SMTP_PASS='<your Application-specific password>'
|
|||||||
SMTP_SKIP_TLS=True
|
SMTP_SKIP_TLS=True
|
||||||
SMTP_FORCE_SSL=True
|
SMTP_FORCE_SSL=True
|
||||||
SMTP_SKIP_LOGIN=False
|
SMTP_SKIP_LOGIN=False
|
||||||
REPORT_FROM='gmx_email@gmx.com'
|
REPORT_FROM='gmx_email@gmx.com' # this has to be the same email as in SMTP_USER
|
||||||
REPORT_TO='some_target_email@gmail.com'
|
REPORT_TO='some_target_email@gmail.com'
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -30,10 +30,12 @@ REPORT_TO='some_target_email@gmail.com'
|
|||||||
2. Specify the following settings:
|
2. Specify the following settings:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
REPORT_MAIL=True
|
||||||
SMTP_SKIP_TLS=True
|
SMTP_SKIP_TLS=True
|
||||||
SMTP_FORCE_SSL=True
|
SMTP_FORCE_SSL=True
|
||||||
SMTP_PORT=465
|
SMTP_PORT=465
|
||||||
SMTP_SERVER='smtp.gmail.com'
|
SMTP_SERVER='smtp.gmail.com'
|
||||||
SMTP_PASS='16-digit passcode from google'
|
SMTP_PASS='16-digit passcode from google'
|
||||||
|
REPORT_TO='some_target_email@gmail.com'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
0
front/plugins/unifi_import/config.json
Normal file → Executable file
0
front/plugins/unifi_import/config.json
Normal file → Executable file
0
front/plugins/unifi_import/script.py
Normal file → Executable file
0
front/plugins/unifi_import/script.py
Normal file → Executable file
@@ -165,71 +165,6 @@ def create_new_devices (db):
|
|||||||
|
|
||||||
sql.execute (sqlQuery, (startTime, startTime) )
|
sql.execute (sqlQuery, (startTime, startTime) )
|
||||||
|
|
||||||
# Pi-hole - Insert events for new devices
|
|
||||||
# NOT STRICYLY NECESARY (Devices can be created through CurrentScan)
|
|
||||||
# Bugfix #2 - Pi-hole devices w/o IP
|
|
||||||
# mylog('debug','[New Devices] 3 Pi-hole Events')
|
|
||||||
# sql.execute ("""INSERT INTO Events (eve_MAC, eve_IP, eve_DateTime,
|
|
||||||
# eve_EventType, eve_AdditionalInfo,
|
|
||||||
# eve_PendingAlertEmail)
|
|
||||||
# SELECT PH_MAC, IFNULL (PH_IP,'-'), ?, 'New Device',
|
|
||||||
# '(Pi-Hole) ' || PH_Vendor, 1
|
|
||||||
# FROM PiHole_Network
|
|
||||||
# WHERE NOT EXISTS (SELECT 1 FROM Devices
|
|
||||||
# WHERE dev_MAC = PH_MAC) """,
|
|
||||||
# (startTime, ) )
|
|
||||||
|
|
||||||
# # Pi-hole - Create New Devices
|
|
||||||
# # Bugfix #2 - Pi-hole devices w/o IP
|
|
||||||
# mylog('debug','[New Devices] 4 Pi-hole Create devices')
|
|
||||||
|
|
||||||
# sqlQuery = f"""INSERT INTO Devices (dev_MAC, dev_name, dev_Vendor,
|
|
||||||
# dev_LastIP, dev_FirstConnection, dev_LastConnection,
|
|
||||||
# {newDevColumns})
|
|
||||||
# SELECT PH_MAC, PH_Name, PH_Vendor, IFNULL (PH_IP,'-'),
|
|
||||||
# ?, ?,
|
|
||||||
# {newDevDefaults}
|
|
||||||
# FROM PiHole_Network
|
|
||||||
# WHERE NOT EXISTS (SELECT 1 FROM Devices
|
|
||||||
# WHERE dev_MAC = PH_MAC) """
|
|
||||||
|
|
||||||
# mylog('debug',f'[New Devices] 4 Create devices SQL: {sqlQuery}')
|
|
||||||
|
|
||||||
# sql.execute (sqlQuery, (startTime, startTime) )
|
|
||||||
|
|
||||||
# # DHCP Leases - Insert events for new devices
|
|
||||||
# mylog('debug','[New Devices] 5 DHCP Leases Events')
|
|
||||||
|
|
||||||
# sql.execute (f"""INSERT INTO Events (eve_MAC, eve_IP, eve_DateTime,
|
|
||||||
# eve_EventType, eve_AdditionalInfo,
|
|
||||||
# eve_PendingAlertEmail)
|
|
||||||
# SELECT DHCP_MAC, DHCP_IP, '{startTime}', 'New Device', '(DHCP lease)',1
|
|
||||||
# FROM DHCP_Leases
|
|
||||||
# WHERE NOT EXISTS (SELECT 1 FROM Devices
|
|
||||||
# WHERE dev_MAC = DHCP_MAC) """)
|
|
||||||
|
|
||||||
# # DHCP Leases - Create New Devices
|
|
||||||
# mylog('debug','[New Devices] 6 DHCP Leases Create devices')
|
|
||||||
|
|
||||||
# sqlQuery = f"""INSERT INTO Devices (dev_MAC, dev_name, dev_LastIP,
|
|
||||||
# dev_Vendor, dev_FirstConnection, dev_LastConnection,
|
|
||||||
# {newDevColumns})
|
|
||||||
# SELECT DISTINCT DHCP_MAC,
|
|
||||||
# (SELECT DHCP_Name FROM DHCP_Leases AS D2
|
|
||||||
# WHERE D2.DHCP_MAC = D1.DHCP_MAC
|
|
||||||
# ORDER BY DHCP_DateTime DESC LIMIT 1),
|
|
||||||
# (SELECT DHCP_IP FROM DHCP_Leases AS D2
|
|
||||||
# WHERE D2.DHCP_MAC = D1.DHCP_MAC
|
|
||||||
# ORDER BY DHCP_DateTime DESC LIMIT 1),
|
|
||||||
# '(unknown)', ?, ?,
|
|
||||||
# {newDevDefaults}
|
|
||||||
# FROM DHCP_Leases AS D1
|
|
||||||
# WHERE NOT EXISTS (SELECT 1 FROM Devices
|
|
||||||
# WHERE dev_MAC = DHCP_MAC) """
|
|
||||||
|
|
||||||
# mylog('debug',f'[New Devices] 6 Create devices SQL: {sqlQuery}')
|
|
||||||
|
|
||||||
# sql.execute (sqlQuery, (startTime, startTime) )
|
|
||||||
|
|
||||||
mylog('debug','[New Devices] New Devices end')
|
mylog('debug','[New Devices] New Devices end')
|
||||||
db.commitDB()
|
db.commitDB()
|
||||||
|
|||||||
@@ -159,11 +159,18 @@ def if_byte_then_to_str(input):
|
|||||||
return input
|
return input
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
def collect_lang_strings(db, json, pref):
|
def collect_lang_strings(db, json, pref, stringSqlParams):
|
||||||
|
|
||||||
for prop in json["localized"]:
|
for prop in json["localized"]:
|
||||||
for language_string in json[prop]:
|
for language_string in json[prop]:
|
||||||
import_language_string(db, language_string["language_code"], pref + "_" + prop, language_string["string"])
|
# db.sql.execute ("""INSERT INTO Plugins_Language_Strings ("Language_Code", "String_Key", "String_Value", "Extra") VALUES (?, ?, ?, ?)""",
|
||||||
|
|
||||||
|
stringSqlParams.append((str(language_string["language_code"]), str(pref + "_" + prop), str(language_string["string"]), ""))
|
||||||
|
|
||||||
|
# db.commitDB()
|
||||||
|
# sqlParams = import_language_string(db, language_string["language_code"], pref + "_" + prop, language_string["string"])
|
||||||
|
|
||||||
|
return stringSqlParams
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
@@ -179,13 +186,6 @@ def row_to_json(names, row):
|
|||||||
|
|
||||||
return rowEntry
|
return rowEntry
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
|
||||||
def import_language_string(db, code, key, value, extra = ""):
|
|
||||||
|
|
||||||
db.sql.execute ("""INSERT INTO Plugins_Language_Strings ("Language_Code", "String_Key", "String_Value", "Extra") VALUES (?, ?, ?, ?)""", (str(code), str(key), str(value), str(extra)))
|
|
||||||
|
|
||||||
db.commitDB()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import json
|
|||||||
|
|
||||||
import conf
|
import conf
|
||||||
from const import fullConfPath
|
from const import fullConfPath
|
||||||
from helper import collect_lang_strings, updateSubnets, initOrSetParam, isJsonObject
|
from helper import collect_lang_strings, updateSubnets, initOrSetParam, isJsonObject, updateState
|
||||||
from logger import mylog
|
from logger import mylog
|
||||||
from api import update_api
|
from api import update_api
|
||||||
from scheduler import schedule_class
|
from scheduler import schedule_class
|
||||||
@@ -73,6 +73,9 @@ def importConfigs (db):
|
|||||||
mylog('debug', ['[Import Config] skipping config file import'])
|
mylog('debug', ['[Import Config] skipping config file import'])
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Header
|
||||||
|
updateState(db,"Import config")
|
||||||
|
|
||||||
mylog('debug', ['[Import Config] importing config file'])
|
mylog('debug', ['[Import Config] importing config file'])
|
||||||
conf.mySettings = [] # reset settings
|
conf.mySettings = [] # reset settings
|
||||||
conf.mySettingsSQLsafe = [] # same as above but safe to be passed into a SQL query
|
conf.mySettingsSQLsafe = [] # same as above but safe to be passed into a SQL query
|
||||||
@@ -198,8 +201,10 @@ def importConfigs (db):
|
|||||||
|
|
||||||
# if plugin["enabled"] == 'true':
|
# if plugin["enabled"] == 'true':
|
||||||
|
|
||||||
|
stringSqlParams = []
|
||||||
|
|
||||||
# collect plugin level language strings
|
# collect plugin level language strings
|
||||||
collect_lang_strings(db, plugin, pref)
|
stringSqlParams = collect_lang_strings(db, plugin, pref, stringSqlParams)
|
||||||
|
|
||||||
for set in plugin["settings"]:
|
for set in plugin["settings"]:
|
||||||
setFunction = set["function"]
|
setFunction = set["function"]
|
||||||
@@ -230,12 +235,19 @@ def importConfigs (db):
|
|||||||
|
|
||||||
# Collect settings related language strings
|
# Collect settings related language strings
|
||||||
# Creates an entry with key, for example ARPSCAN_CMD_name
|
# Creates an entry with key, for example ARPSCAN_CMD_name
|
||||||
collect_lang_strings(db, set, pref + "_" + set["function"])
|
stringSqlParams = collect_lang_strings(db, set, pref + "_" + set["function"], stringSqlParams)
|
||||||
|
|
||||||
# Collect column related language strings
|
# Collect column related language strings
|
||||||
for clmn in plugin.get('database_column_definitions', []):
|
for clmn in plugin.get('database_column_definitions', []):
|
||||||
# Creates an entry with key, for example ARPSCAN_Object_PrimaryID_name
|
# Creates an entry with key, for example ARPSCAN_Object_PrimaryID_name
|
||||||
collect_lang_strings(db, clmn, pref + "_" + clmn.get("column", ""))
|
stringSqlParams = collect_lang_strings(db, clmn, pref + "_" + clmn.get("column", ""), stringSqlParams)
|
||||||
|
|
||||||
|
# bulk-import language strings
|
||||||
|
sql.executemany ("""INSERT INTO Plugins_Language_Strings ("Language_Code", "String_Key", "String_Value", "Extra") VALUES (?, ?, ?, ?)""", stringSqlParams )
|
||||||
|
|
||||||
|
db.commitDB()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user