#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PyQt4 import QtCore, QtGui
import sys, re, urllib

class sozluk:
	def __init__(self, ui):
		self.ui = ui
	
	def sifirla(self):
		self.ui.yazi.clear()
		
	def abqt(self):
		QtGui.QApplication.aboutQt()
		
	def hakkinda(self):
		self.metin = "Martı Sözlük\n\nAhmet Eren Başak tarafından hazırlanmıştır.\n\nBilgiler SesliSozluk.Com adresinden alınmaktadır. \n\nE-Posta: <aamederen at gmail.com>"
		QtGui.QMessageBox.about(self.ui.mw, 
		QtGui.QApplication.translate("MainWindow", "Martı Hakkında", None, QtGui.QApplication.UnicodeUTF8),
		QtGui.QApplication.translate("MainWindow", self.metin, None, QtGui.QApplication.UnicodeUTF8))

	def bul_ve_yaz(self):
		if not len(self.ui.cubuk.text())==0:
			self.url=unicode(urllib.urlopen("http://www.seslisozluk.com/?word="+str(self.ui.cubuk.text())).read(), 'iso-8859-9')
			self.url=self.url.replace("\n ", "")
			self.sozcuk2=""
			self.sozcuk1=""
			try:
				self.sozcuk1 = re.search('<b><img src="/tr.gif" alt="Turkish/T.rkisch/T.rk.e" width="16" height="11" border="0"> T.rk.e Anlam.</b></td>.*?</td>', self.url).group(0)
			except AttributeError: 
				self.sozcuk1 = ""
				
			try:
				self.ingreklam = re.search('<span style="float:right;font-face:arial;margin:3px">', self.url)
				if self.ingreklam:
					self.sozcuk2 = re.search('<b><img src="/en.gif" alt="English/Englisch/ingilizce" width="16" height="11" border="0">.*?<span style="float:right;font-face:arial;margin:3px">', self.url).group()
					self.sozcuk2=self.sozcuk2.replace(self.ingreklam.group(), "")
					self.sozcuk2+=re.search('<b>1.</b>.*?</td>', self.url[self.ingreklam.end():]).group()
					
				else:
					self.sozcuk2 = re.search('<b><img src="/en.gif" alt="English/Englisch/ingilizce" width="16" height="11" border="0"> .ngilizce Anlam.</b></td>.*?</td>', self.url).group()
				
			except AttributeError:
				self.sozcuk2 = ""
			self.sozcuk = QtGui.QApplication.translate("MainWindow", self.sozcuk1+"<br>"+self.sozcuk2, None, QtGui.QApplication.UnicodeUTF8)
			
		else:
			self.sozcuk = QtGui.QApplication.translate("MainWindow", "Sözcük Girmediniz", None, QtGui.QApplication.UnicodeUTF8)
		
		for i in re.findall('<img src="/play_button.gif" alt="Sesli dinlemek i.in giri. yap.n.z" width="37" height="37" border="0">', self.url):
			self.sozcuk=self.sozcuk.replace(i, "")
		self.sozcuk=self.sozcuk.replace('/en.gif', '/usr/share/marti/en.gif').replace('/tr.gif', '/usr/share/marti/tr.gif')
		if self.sozcuk=='<br>': self.sozcuk=QtGui.QApplication.translate("MainWindow", "Sözcük Bulunamadı", None, QtGui.QApplication.UnicodeUTF8)

		self.ui.yazi.setText(self.sozcuk)
		self.ui.cubuk.setFocus()
		self.ui.cubuk.clear()


class Ui_MainWindow(object):

    def setupUi(self, MainWindow):	
	self.mw = MainWindow
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(416,303)
        MainWindow.setMinimumSize(QtCore.QSize(416,303))
        MainWindow.setMaximumSize(QtCore.QSize(416,303))
	MainWindow.setWindowIcon(QtGui.QIcon('/usr/share/pixmaps/marti.png'))
        
	self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setGeometry(QtCore.QRect(0,30,429,373))
        self.centralwidget.setMinimumSize(QtCore.QSize(429,373))
        self.centralwidget.setMaximumSize(QtCore.QSize(429,320))
        self.centralwidget.setObjectName("centralwidget")
        
	self.tus = QtGui.QPushButton(self.centralwidget)
        self.tus.setGeometry(QtCore.QRect(310,10,81,24))
        self.tus.setObjectName("tus")
        
	self.cubuk = QtGui.QLineEdit(self.centralwidget)
        self.cubuk.setGeometry(QtCore.QRect(20,10,260,24))
	self.cubuk.setObjectName("cubuk")
	self.cubuk.setFocus()
        
	self.yazi = QtGui.QTextEdit(self.centralwidget)
        self.yazi.setGeometry(QtCore.QRect(20,50,371,201))
        self.yazi.setObjectName("yazi")
	self.yazi.setReadOnly(1)
        
	self.label = QtGui.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20,250,171,18))
        self.label.setObjectName("label")
        
	MainWindow.setCentralWidget(self.centralwidget)
        
	self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0,0,416,30))
        self.menubar.setObjectName("menubar")
        
	self.menuDosya = QtGui.QMenu(self.menubar)
        self.menuDosya.setObjectName("menuDosya")
        
	self.menuHakk_nda = QtGui.QMenu(self.menubar)
        self.menuHakk_nda.setObjectName("menuHakk_nda")
        
	MainWindow.setMenuBar(self.menubar)
        
	self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setGeometry(QtCore.QRect(0,280,416,23))
        self.statusbar.setObjectName("statusbar")
        
	MainWindow.setStatusBar(self.statusbar)
        
	self.actionTemizle = QtGui.QAction(MainWindow)
        self.actionTemizle.setObjectName("actionTemizle")
        
	self.action_k = QtGui.QAction(MainWindow)
        self.action_k.setObjectName("action_k")
        
	self.actionMart_Hakk_nda = QtGui.QAction(MainWindow)
        self.actionMart_Hakk_nda.setObjectName("actionMart_Hakk_nda")
	
	self.actionabqt = QtGui.QAction(MainWindow)
        self.actionabqt.setObjectName("actionabqt")
        
	self.menuDosya.addAction(self.actionTemizle)
        self.menuDosya.addAction(self.action_k)
        
	self.menuHakk_nda.addAction(self.actionMart_Hakk_nda)
	self.menuHakk_nda.addAction(self.actionabqt)
        
	self.menubar.addAction(self.menuDosya.menuAction())
        self.menubar.addAction(self.menuHakk_nda.menuAction())

        #self.simge=QtGui.QSystemTrayIcon()
	#self.menu=QtGui.QMenu()
	#self.cikis=QtGui.QAction(u"Çıkış", None)
	#self.menu.addAction(self.cikis)	
	#self.simge.setContextMenu(self.menu)
	#self.simge.setIcon(QtGui.QIcon("/usr/share/pixmaps/marti1.png"))
	#self.simge.show()
	self.retranslateUi(MainWindow)
	self.islemler = sozluk(self)
        
	QtCore.QObject.connect(self.cubuk,QtCore.SIGNAL("returnPressed()"),self.tus.animateClick)
        QtCore.QObject.connect(self.tus,QtCore.SIGNAL("clicked()"),self.islemler.bul_ve_yaz)
	QtCore.QObject.connect(self.action_k,QtCore.SIGNAL("triggered()"),MainWindow.close)
	QtCore.QObject.connect(self.actionMart_Hakk_nda,QtCore.SIGNAL("triggered()"),self.islemler.hakkinda)
	QtCore.QObject.connect(self.actionabqt,QtCore.SIGNAL("triggered()"),self.islemler.abqt)
	QtCore.QObject.connect(self.actionTemizle,QtCore.SIGNAL("triggered()"),self.islemler.sifirla)
	#QtCore.QObject.connect(self.cikis, QtCore.SIGNAL("triggered()"), MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
	

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Martı", None, QtGui.QApplication.UnicodeUTF8))
        self.centralwidget.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Martı", None, QtGui.QApplication.UnicodeUTF8))
        self.tus.setText(QtGui.QApplication.translate("MainWindow", "Ara", None, QtGui.QApplication.UnicodeUTF8))
        self.label.setText(QtGui.QApplication.translate("MainWindow", "Martı", None, QtGui.QApplication.UnicodeUTF8))
        self.menuDosya.setTitle(QtGui.QApplication.translate("MainWindow", "Dosya", None, QtGui.QApplication.UnicodeUTF8))
        self.menuHakk_nda.setTitle(QtGui.QApplication.translate("MainWindow", "Hakkında", None, QtGui.QApplication.UnicodeUTF8))
        self.actionTemizle.setText(QtGui.QApplication.translate("MainWindow", "Temizle", None, QtGui.QApplication.UnicodeUTF8))
        self.action_k.setText(QtGui.QApplication.translate("MainWindow", "Çık", None, QtGui.QApplication.UnicodeUTF8))
        self.actionMart_Hakk_nda.setText(QtGui.QApplication.translate("MainWindow", "Martı Hakkında", None, QtGui.QApplication.UnicodeUTF8))
	self.actionabqt.setText(QtGui.QApplication.translate("MainWindow", "QT Hakkında", None, QtGui.QApplication.UnicodeUTF8))
	

app = QtGui.QApplication(sys.argv)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
