# ****************************************************
# Name des Moduls: mod_ResultReciever
# Name des Projekts: TaxoSearch
#
# Autor(en):
#        Thorsten Beinhorn, Vesna Cvoro,
#        Khaled Dhaoui und Christian Pretzsch 
#
# Aufgaben des Moduls: siehe Code Dokumentation TaxoSearch
# 
#
# Datum der letzten Aenderung: 26.11.2003
# ****************************************************



import google
from mod_DocumentObjects import *

#Begin of class ResultReciever
class ResultReciever:
    def __init__(self):
        self.DocumentCollection=DocumentCollection()
        self.QueryString=""
        self.MAX_RESULTS=2
        self.NumResults=0
        google.LICENSE_KEY="ntbaf/BQFHLghiHAbllfB338g5T5zCBj"

    def PerformSearch(self, QueryString):
		self.QueryString=QueryString

		print "ResultReciever: google QueryString ready: ", self.QueryString
		
		try:
			for i in range(self.MAX_RESULTS):        
				self.GoogleResults=google.doGoogleSearch(self.QueryString, i*10,10,1,'',0,'lang_en')
				print "ResultReciever: search complete in", self.GoogleResults.meta.searchTime,"seconds"
				for ResultObject in self.GoogleResults.results:
					if ResultObject.URL[-3:]=="htm" or ResultObject.URL[-4:]=="html" or ResultObject.URL[-1:]=="/": 
						self.DocumentCollection.AddDocument(ResultObject.URL, ResultObject.title)
					else:
						print "ResultReciever: IGNORED RESULT: ", ResultObject.URL
				self.NumResults=self.NumResults+len(self.GoogleResults.results)
		except:
			self.NumResults=0
			print "ResultReciever: error while trying to contact google"
		return self.NumResults
#End of class ResultReciever
