# coding: utf-8 import os from time import sleep from email.header import Header from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.application import MIMEApplication from email.mime.audio import MIMEAudio from email.mime.image import MIMEImage from email.mime.text import MIMEText import yagmail from envelopes import Envelope from watchdog.events import FileSystemEventHandler from watchdog.observers import Observer from instant_op import MyOpSender w_dirs = {'andras.pakai@mzk.ro': 'f:/op/test/andras_pakai', 'endre.progli@mzk.ro': 'f:/op/test/endre_progli', 'laszlo.katona@mzk.ro': 'f:/op/test/laszlo_katona'} class MySMTP(yagmail.SMTP): def __enter__(self): pass def __exit__(self, exc_type, exc_val, exc_tb): pass yag = MySMTP(user={'levente.marton@mzk.ro': 'levente.op@mzk.ro'}, host='192.168.201.4', port=25, smtp_starttls=True, smtp_ssl=False) # print(yag.useralias) # to_addr = 'deeejas@yandex.com' # MyOpSender.set_w_path(awatchpath) observer = Observer(timeout=1) threads = [] for k, v in w_dirs.items(): MyOpSender.set_w_path(v) # to_addr = '{}@{}'.format(os.path.split(v)[1].replace('_', '.'), 'mzk.ro') # print(to_addr) class Drivehandler(FileSystemEventHandler): def on_created(self, event): print(os.path.split(os.path.abspath(event.src_path))[0]) op_sender = MyOpSender(os.path.split(os.path.abspath(event.src_path))[0]) beneficiary = op_sender.op_beneficiary() op_value = op_sender.op_value() op_date = op_sender.op_date() subject = f'OP {beneficiary} {op_date}' body = f'OP: {beneficiary}\nVALUE: {op_value}\nDATE: {op_date}' print(subject, body) to_addr = '{}@{}'.format(os.path.split(os.path.split(os.path.abspath(event.src_path))[0])[1].replace('_', '.'), 'mzk.ro') with op_sender._last_op() as last_file: # letter.add_attachment(last_file) # print(last_file, to_addr) yag.send(to=to_addr, subject=subject, contents=body, attachments=last_file, headers={'From': 'levente.op@mzk.ro'}) def on_deleted(self, event): print('file deleted') event_handler = Drivehandler() targetPath = v observer.schedule(event_handler, targetPath, recursive=True) threads.append(observer) observer.start() if __name__ == '__main__': try: while True: sleep(1) except KeyboardInterrupt: observer.stop() observer.join() # print(my_page.getText('text').split(sep='\n')[2:len(my_page.getText('text').split(sep='\n')) - 1:2]) # print(my_page.getText('text').split(sep='\n')[3:len(my_page.getText('text').split(sep='\n')):2]) # pdf_dict = {x: y for x, y in my_page.getText('text')}