Compare commits

..

2 Commits

Author SHA1 Message Date
9c08687f25 Add influx data 2023-01-08 23:10:07 -05:00
7451cf0685 Add dependencies 2023-01-08 23:09:53 -05:00
2 changed files with 34 additions and 3 deletions

View File

@ -1,9 +1,13 @@
import os import os
import imaplib import imaplib
import json import json
from dotenv import load_dotenv from time import strftime
import influxdb_client
from influxdb_client.client.write_api import SYNCHRONOUS
from dotenv import load_dotenv, dotenv_values
load_dotenv() load_dotenv()
config = dotenv_values(".env")
EMAIL_ACCOUNTS = json.loads(os.environ.get("MAIL_ACCOUNTS")) EMAIL_ACCOUNTS = json.loads(os.environ.get("MAIL_ACCOUNTS"))
EMAIL_PASSWORDS = json.loads(os.environ.get("MAIL_PASSWORDS")) EMAIL_PASSWORDS = json.loads(os.environ.get("MAIL_PASSWORDS"))
@ -11,6 +15,14 @@ EMAIL_PASSWORDS = json.loads(os.environ.get("MAIL_PASSWORDS"))
# to convert lists to dictionary # to convert lists to dictionary
accounts = dict(zip(EMAIL_ACCOUNTS, EMAIL_PASSWORDS)) accounts = dict(zip(EMAIL_ACCOUNTS, EMAIL_PASSWORDS))
print(accounts) print(accounts)
# Influx DB
client = influxdb_client.InfluxDBClient(
url=config['DB_URL'],
token=config['DB_TOKEN'],
org=config['DB_ORG']
)
################ IMAP SSL ############################## ################ IMAP SSL ##############################
for account in accounts: for account in accounts:
@ -42,4 +54,12 @@ for account in accounts:
imap_ssl.close() imap_ssl.close()
if unread_messages: if unread_messages:
message = f"{account} has {unread_messages} messages." message = f"{account} has {unread_messages} messages."
date = strftime("%Y-%m-%d")
time = strftime("%H:%M:%S")
timestamp = date + "T" + time + "Z"
write_api = client.write_api(write_options=SYNCHRONOUS)
point = influxdb_client.Point("unread_emails").time(timestamp).tag("account", account)\
.field("count", unread_messages)
write_api.write(bucket="personal_data",
org=config['DB_ORG'], record=point)
print(message) print(message)

11
gmail/requirements.txt Normal file
View File

@ -0,0 +1,11 @@
autopep8==2.0.1
certifi==2022.12.7
influxdb-client==1.35.0
pycodestyle==2.10.0
python-dateutil==2.8.2
python-dotenv==0.21.0
reactivex==4.0.4
six==1.16.0
tomli==2.0.1
typing_extensions==4.4.0
urllib3==1.26.13