op_send2.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # coding: utf-8
  2. import os
  3. from time import sleep
  4. from email.header import Header
  5. from email.mime.base import MIMEBase
  6. from email.mime.multipart import MIMEMultipart
  7. from email.mime.application import MIMEApplication
  8. from email.mime.audio import MIMEAudio
  9. from email.mime.image import MIMEImage
  10. from email.mime.text import MIMEText
  11. import yagmail
  12. from envelopes import Envelope
  13. from watchdog.events import FileSystemEventHandler
  14. from watchdog.observers import Observer
  15. from instant_op import MyOpSender
  16. w_dirs = {'andras.pakai@mzk.ro': 'f:/op/test/andras_pakai',
  17. 'endre.progli@mzk.ro': 'f:/op/test/endre_progli',
  18. 'laszlo.katona@mzk.ro': 'f:/op/test/laszlo_katona'}
  19. class MySMTP(yagmail.SMTP):
  20. def __enter__(self):
  21. pass
  22. def __exit__(self, exc_type, exc_val, exc_tb):
  23. pass
  24. yag = MySMTP(user={'levente.marton@mzk.ro': 'levente.op@mzk.ro'}, host='192.168.201.4', port=25, smtp_starttls=True, smtp_ssl=False)
  25. # print(yag.useralias)
  26. # to_addr = 'deeejas@yandex.com'
  27. # MyOpSender.set_w_path(awatchpath)
  28. observer = Observer(timeout=1)
  29. threads = []
  30. for k, v in w_dirs.items():
  31. MyOpSender.set_w_path(v)
  32. # to_addr = '{}@{}'.format(os.path.split(v)[1].replace('_', '.'), 'mzk.ro')
  33. # print(to_addr)
  34. class Drivehandler(FileSystemEventHandler):
  35. def on_created(self, event):
  36. print(os.path.split(os.path.abspath(event.src_path))[0])
  37. op_sender = MyOpSender(os.path.split(os.path.abspath(event.src_path))[0])
  38. beneficiary = op_sender.op_beneficiary()
  39. op_value = op_sender.op_value()
  40. op_date = op_sender.op_date()
  41. subject = f'OP {beneficiary} {op_date}'
  42. body = f'OP: {beneficiary}\nVALUE: {op_value}\nDATE: {op_date}'
  43. print(subject, body)
  44. to_addr = '{}@{}'.format(os.path.split(os.path.split(os.path.abspath(event.src_path))[0])[1].replace('_', '.'), 'mzk.ro')
  45. with op_sender._last_op() as last_file:
  46. # letter.add_attachment(last_file)
  47. # print(last_file, to_addr)
  48. yag.send(to=to_addr, subject=subject, contents=body, attachments=last_file, headers={'From': 'levente.op@mzk.ro'})
  49. def on_deleted(self, event):
  50. print('file deleted')
  51. event_handler = Drivehandler()
  52. targetPath = v
  53. observer.schedule(event_handler, targetPath, recursive=True)
  54. threads.append(observer)
  55. observer.start()
  56. if __name__ == '__main__':
  57. try:
  58. while True:
  59. sleep(1)
  60. except KeyboardInterrupt:
  61. observer.stop()
  62. observer.join()
  63. # print(my_page.getText('text').split(sep='\n')[2:len(my_page.getText('text').split(sep='\n')) - 1:2])
  64. # print(my_page.getText('text').split(sep='\n')[3:len(my_page.getText('text').split(sep='\n')):2])
  65. # pdf_dict = {x: y for x, y in my_page.getText('text')}