123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- # 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_dir = None # 'c:/Extrase/op/test/andras_pakai'
- if w_dir:
- awatchpath = w_dir
- else:
- awatchpath = os.getcwd()
- class MySMTP(yagmail.SMTP):
- def __enter__(self):
- pass
- def __exit__(self, exc_type, exc_val, exc_tb):
- pass
- class HtmlEnvelope(Envelope):
- def __init__(self, msg_type='alternative'):
- self.msg_type = msg_type
- Envelope.__init__(self)
- def to_mime_message(self):
- """Returns the envelope as
- :py:class:`email.mime.multipart.MIMEMultipart`."""
- msg = MIMEMultipart(self.msg_type) # html for attachments
- msg['Subject'] = self._header(self._subject or '')
- msg['From'] = self._encoded(self._addrs_to_header([self._from]))
- msg['To'] = self._encoded(self._addrs_to_header(self._to))
- if self._cc:
- msg['CC'] = self._addrs_to_header(self._cc)
- if self._headers:
- for key, value in self._headers.items():
- msg[key] = self._header(value)
- for part in self._parts:
- type_maj, type_min = part[0].split('/')
- if type_maj == 'text' and type_min in ('html', 'plain'):
- msg.attach(MIMEText(part[1], type_min, self._charset))
- else:
- msg.attach(part[1])
- return msg
- # w_dir = os.getcwd()
- # print(pdf_files)
- # pdf_file = pdf_files[0]
- 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 = '{}@{}'.format(os.path.split(awatchpath)[1].replace('_', '.'), 'mzk.ro')
- # to_addr = 'deeejas@yandex.com'
- MyOpSender.set_w_path(awatchpath)
- class Drivehandler(FileSystemEventHandler):
- def on_created(self, event):
- op_sender = MyOpSender(awatchpath)
- 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)
- with op_sender._last_op() as last_file:
- # letter.add_attachment(last_file)
- 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')
- ev_hendler = Drivehandler()
- observer = Observer(timeout=1)
- observer.schedule(ev_hendler, awatchpath, recursive=True)
- 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')}
|