add logging
This commit is contained in:
parent
886d6f5a6c
commit
9bf963332c
1 changed files with 15 additions and 8 deletions
|
@ -3,9 +3,10 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import email
|
import email
|
||||||
import pathlib
|
import pathlib
|
||||||
import os
|
from os import path, listdir
|
||||||
import sys
|
import sys
|
||||||
from nio import (AsyncClient, Api, ClientConfig)
|
import logging
|
||||||
|
from nio import (AsyncClient, Api, ClientConfig, RoomSendError)
|
||||||
from inotify_simple import INotify, flags
|
from inotify_simple import INotify, flags
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,16 +23,21 @@ class Client(AsyncClient):
|
||||||
)
|
)
|
||||||
|
|
||||||
async def process_message(self, name):
|
async def process_message(self, name):
|
||||||
# delete message
|
message_path = pathlib.Path(path.abspath(path.join(self.maildir, name)))
|
||||||
path = pathlib.Path(os.path.join(self.maildir, name))
|
message = email.message_from_file(open(message_path, 'r'))
|
||||||
message = email.message_from_file(open(path, 'r'))
|
|
||||||
# send message
|
# send message
|
||||||
|
logging.info('Sending %s', message_path)
|
||||||
response = await self.send_message(message['from'], message['subject'])
|
response = await self.send_message(message['from'], message['subject'])
|
||||||
path.unlink()
|
if response is not RoomSendError:
|
||||||
|
# delete message
|
||||||
|
logging.info('Removing message at: %s', message_path)
|
||||||
|
message_path.unlink()
|
||||||
|
else:
|
||||||
|
logging.error('Failed to send a message: %s', message_path)
|
||||||
|
|
||||||
# TODO implement retry for old mails
|
# TODO implement retry for old mails
|
||||||
async def process_queued(self):
|
async def process_queued(self):
|
||||||
for name in os.listdir(self.maildir):
|
for name in listdir(self.maildir):
|
||||||
await self.process_message(name)
|
await self.process_message(name)
|
||||||
|
|
||||||
async def run(self, password=None, token=None):
|
async def run(self, password=None, token=None):
|
||||||
|
@ -81,7 +87,7 @@ def main():
|
||||||
try:
|
try:
|
||||||
password = None
|
password = None
|
||||||
token = None
|
token = None
|
||||||
if os.path.isfile(tokenfile):
|
if path.isfile(tokenfile):
|
||||||
with open(tokenfile) as f:
|
with open(tokenfile) as f:
|
||||||
token = f.readlines()[0].strip('\n')
|
token = f.readlines()[0].strip('\n')
|
||||||
else:
|
else:
|
||||||
|
@ -94,4 +100,5 @@ def main():
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
logging.basicConfig(level=logging.INFO)
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue