Compare commits
2 Commits
23cd165d2d
...
9c08687f25
Author | SHA1 | Date | |
---|---|---|---|
9c08687f25 | |||
7451cf0685 |
@ -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
11
gmail/requirements.txt
Normal 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
|
Loading…
Reference in New Issue
Block a user