diff --git a/Dockerfile b/Dockerfile
index e75dcf36..02d225a6 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,7 +8,7 @@ ENV USER=pi USER_ID=1000 USER_GID=1000 TZ=Europe/London PORT=20211
RUN apt-get update \
&& apt-get install --no-install-recommends ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 nmap python-pip -y \
- && pip install requests prettytable \
+ && pip install requests \
&& apt-get clean autoclean \
&& apt-get autoremove \
&& rm -rf /var/lib/apt/lists/* \
diff --git a/back/pialert.py b/back/pialert.py
index 1562483d..85cf5360 100644
--- a/back/pialert.py
+++ b/back/pialert.py
@@ -28,7 +28,6 @@ import io
import smtplib
import csv
import requests
-from prettytable import PrettyTable
#===============================================================================
# CONFIG CONSTANTS
@@ -1201,7 +1200,6 @@ def skip_repeated_notifications ():
def email_reporting ():
global mail_text
global mail_html
-
# Reporting section
print ('\nReporting...')
openDB()
@@ -1248,7 +1246,7 @@ def email_reporting ():
mail_section_Internet = False
mail_text_Internet = ''
mail_html_Internet = ''
- text_line_template = ' {} \t{}\t{}\t{}\n'
+ text_line_template = '{}\t{}\n{}\t{}\n{}\t{}\n{}\t{}\n\n'
html_line_template = '
\n'+ \
' | {} | \n {} | \n'+ \
' {} | \n'+ \
@@ -1258,16 +1256,18 @@ def email_reporting ():
WHERE eve_PendingAlertEmail = 1 AND eve_MAC = 'Internet'
ORDER BY eve_DateTime""")
+
for eventAlert in sql :
mail_section_Internet = True
mail_text_Internet += text_line_template.format (
- eventAlert['eve_EventType'], eventAlert['eve_DateTime'],
- eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo'])
+ 'Event:', eventAlert['eve_EventType'], 'Time:', eventAlert['eve_DateTime'],
+ 'IP:', eventAlert['eve_IP'], 'More Info:', eventAlert['eve_AdditionalInfo'])
mail_html_Internet += html_line_template.format (
REPORT_DEVICE_URL, eventAlert['eve_MAC'],
eventAlert['eve_EventType'], eventAlert['eve_DateTime'],
eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo'])
+
format_report_section (mail_section_Internet, 'SECTION_INTERNET',
'TABLE_INTERNET', mail_text_Internet, mail_html_Internet)
@@ -1275,7 +1275,7 @@ def email_reporting ():
mail_section_new_devices = False
mail_text_new_devices = ''
mail_html_new_devices = ''
- text_line_template = ' {}\t{}\t{}\t{}\t{}\n'
+ text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
html_line_template = '
\n'+ \
' | {} | \n {} | \n'+\
' {} | \n {} | \n {} | \n
\n'
@@ -1284,21 +1284,17 @@ def email_reporting ():
WHERE eve_PendingAlertEmail = 1
AND eve_EventType = 'New Device'
ORDER BY eve_DateTime""")
- mail_text_table = PrettyTable()
- mail_text_table.field_names = ["MAC", "Time", "IP", "Name", "Additional Info"]
+
for eventAlert in sql :
mail_section_new_devices = True
mail_text_new_devices += text_line_template.format (
- eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
- eventAlert['eve_IP'], eventAlert['dev_Name'],
- eventAlert['eve_AdditionalInfo'])
+ 'Name:', eventAlert['dev_Name'], 'MAC:', eventAlert['eve_MAC'], 'IP:', eventAlert['eve_IP'],
+ 'Time:', eventAlert['eve_DateTime'], 'More Info:', eventAlert['eve_AdditionalInfo'])
mail_html_new_devices += html_line_template.format (
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo'])
- mail_text_table.add_row([eventAlert['eve_MAC'], eventAlert['eve_DateTime'], eventAlert['eve_IP'], eventAlert['dev_Name'],eventAlert['eve_AdditionalInfo']])
-
- mail_text_new_devices = mail_text_table
+
format_report_section (mail_section_new_devices, 'SECTION_NEW_DEVICES',
'TABLE_NEW_DEVICES', mail_text_new_devices, mail_html_new_devices)
@@ -1306,7 +1302,7 @@ def email_reporting ():
mail_section_devices_down = False
mail_text_devices_down = ''
mail_html_devices_down = ''
- text_line_template = ' {}\t{}\t{}\t{}\n'
+ text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
html_line_template = '\n'+ \
' | {} | \n {} | \n'+ \
' {} | \n {} | \n
\n'
@@ -1319,8 +1315,8 @@ def email_reporting ():
for eventAlert in sql :
mail_section_devices_down = True
mail_text_devices_down += text_line_template.format (
- eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
- eventAlert['eve_IP'], eventAlert['dev_Name'])
+ 'Name:', eventAlert['dev_Name'], 'MAC:', eventAlert['eve_MAC'],
+ 'Time:', eventAlert['eve_DateTime'],'IP:', eventAlert['eve_IP'])
mail_html_devices_down += html_line_template.format (
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
@@ -1333,7 +1329,7 @@ def email_reporting ():
mail_section_events = False
mail_text_events = ''
mail_html_events = ''
- text_line_template = ' {}\t{}\t{}\t{}\t{}\t{}\n'
+ text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
html_line_template = '\n | '+ \
' {} | \n {} | \n'+ \
' {} | \n {} | \n {} | \n'+ \
@@ -1348,9 +1344,9 @@ def email_reporting ():
for eventAlert in sql :
mail_section_events = True
mail_text_events += text_line_template.format (
- eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
- eventAlert['eve_IP'], eventAlert['eve_EventType'],
- eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo'])
+ 'Name:', eventAlert['dev_Name'], 'MAC:', eventAlert['eve_MAC'],
+ 'IP:', eventAlert['eve_IP'],'Time:', eventAlert['eve_DateTime'],
+ 'Event:', eventAlert['eve_EventType'],'More Info:', eventAlert['eve_AdditionalInfo'])
mail_html_events += html_line_template.format (
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
diff --git a/back/report_template.txt b/back/report_template.txt
index 0d777f57..0dad1294 100644
--- a/back/report_template.txt
+++ b/back/report_template.txt
@@ -1,27 +1,23 @@
-========================================
- Pi.Alert Report
-========================================
-
- Report Date:
- Scan Cycle:
- Server:
+Report Date:
+Scan Cycle:
+Server:
Internet
-----------------------------------------------------------------------
+---------------------
New Devices
-----------------------------------------------------------------------
+---------------------
Devices Down
-----------------------------------------------------------------------
+---------------------
Events
-----------------------------------------------------------------------
+---------------------
-----------------------------------------------------------------------
-(?) Puche Pi.Alert () GNU GPLv3
+---------------------
+ Puche - Pi.Alert - GNU GPLv3