#Autors:_ALBERT_,arok
# mod by atrant
# version 1.1
import os,sys,appuifw,e32,sysinfo
from urllib import urlopen,urlencode
ru=lambda text:text.decode('utf-8')
sys.setdefaultencoding('utf-8')
mail,nick,comment,menu=None,None,None,[]
logfile = u"d:\\" + os.path.basename(appuifw.app.full_name()) + u"_log.txt"
def send(to,ext,k):
	fro=appuifw.query(ru('Введите ваш %s для ответа'%k),'text')
	if fro:
		appuifw.app.body.color=0x000000
		appuifw.app.body.add(ru('Подождите...\n'))
		param={'to':to,'body':(appuifw.app.body.get()[86:-14]).encode('utf-8'),'name':fro,'model':sysinfo.sw_version().split(u' ')[-2],'comment':comment}
		out=urlopen(u'http://www.romero-lab.org.ru/cgi-bin/send.'+ext,urlencode(param)).read()
		appuifw.app.body.add(ru(out)+'\n')
	else:pass
class Error:
	flag=0
        def write(self,text):
                if self.flag:
                        
                        file=open(logfile,'a+')
                        file.write(text)
                        file.close()
			appuifw.app.body.add(ru(text))
                else:
                        if mail:menu.append((ru("Отправить на email"),lambda:send(mail,'php','email')))
                        if nick:menu.append((ru("Отправить в ЛС"),lambda:send(nick,'py','nick')))
                        appuifw.app.exit_key_handler=os.abort
                        appuifw.app.menu=menu
                        appuifw.app.body=appuifw.Text(ru("        В программе произошла ошибка. Пожалуйста отошлите данный текст разработчикам.\n"))
                        f=open(logfile,'w')
                        f.close()
                        appuifw.app.body.color=0xff0000
                        self.flag=1
if appuifw.app.full_name().lower().find(u"python")==-1:
      sys.stderr=Error()