51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
|
import imessage
|
||
|
import threading
|
||
|
import sys
|
||
|
import time
|
||
|
import os
|
||
|
import logging
|
||
|
import edgarbot
|
||
|
import getpass
|
||
|
from watchdog.observers import Observer
|
||
|
from watchdog.events import FileSystemEventHandler
|
||
|
|
||
|
class MyHandler(FileSystemEventHandler):
|
||
|
sleep_time = 0.1
|
||
|
def get_Edgar(self, Edgar):
|
||
|
self.Edgar = Edgar
|
||
|
def on_modified(self, event):
|
||
|
messages = imessage.get_last_message()
|
||
|
threads = []
|
||
|
for message in messages:
|
||
|
t = threading.Thread(target=self.Edgar.read(message))
|
||
|
threads.append(t)
|
||
|
t.start()
|
||
|
|
||
|
class Listener:
|
||
|
def __init__(self):
|
||
|
self.Ed = edgarbot.Edgar()
|
||
|
|
||
|
def listen(self):
|
||
|
print ("Edgar is listening!")
|
||
|
homedir = os.environ['HOME']
|
||
|
path = homedir + "/Library/Messages/"
|
||
|
event_handler = MyHandler()
|
||
|
event_handler.get_Edgar(self.Ed)
|
||
|
observer = Observer(timeout=0.5)
|
||
|
observer.event_queue.maxsize=10
|
||
|
observer.schedule(event_handler, path, recursive=False)
|
||
|
observer.start()
|
||
|
try:
|
||
|
while True:
|
||
|
time.sleep(1)
|
||
|
except KeyboardInterrupt:
|
||
|
observer.stop()
|
||
|
observer.join()
|
||
|
|
||
|
def main():
|
||
|
l = Listener()
|
||
|
l.listen()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|