def main(self):

        # Searching deliverable page
        if self.opt['page']:
            self.links = [self.opt_url]
        else:
            self.links = self.pagesearch.get_deliverable_page()

            ##################################
            if self.links[0] == -1:
                return self.links

            if self.opt['lookup_page']:
                return (1, self.links)

            if self.opt['verbose']:
                print "*" * 80
                print "Deliverable page: ", " ".join(self.links)
                print "*" * 80

        pr = RRSProject()

        #Project - Url relationship
        if not self.opt['page']:
            pr_url = RRSUrl(link=self.opt_url)
            pr_url_rel = RRSRelationshipProjectUrl()
            pr_url_rel.set_entity(pr_url)
            pr['url'] = pr_url_rel

        self.recordhandler.process_pages(self.links)

        records = self.recordhandler.get_deliverables()

        if type(records) == list:
            #create relationship Project Publication
            for r in records:
                rel = RRSRelationshipPublicationProject()
                #print unicode(r['title'])
                rel.set_entity(r)
                pr['publication'] = rel
            #create XML from RRSProject
            output = StringIO.StringIO()
            converter = Model2XMLConverter(stream=output)
            converter.convert(pr)
            out = output.getvalue()
            output.close()
            #Either return RRSProject object or XML in string or store result into a file
            if self.opt['storefile']:

                r = self._storeToFile(self.opt_url, out)
                #test if store ok
                if r[0] != 1:
                    print r[1]

            else:
                print out.encode('UTF-8')
            return pr

        else:
            return records
Beispiel #2
0
		    def main(self):
			

			# Searching deliverable page
			if self.opt.page:
			    self.links = [self.opt_url]
			else:
			    self.links = self.pagesearch.get_deliverable_page() 

			    ##################################
			    if self.links[0] == -1:
				return self.links

			    if self.opt.verbose:
				print "*"*80
				print "Deliverable page: ", " ".join(self.links)
				print "*"*80

			pr = RRSProject()

			#Project - Url relationship
			if not self.opt.page:
			   pr_url = RRSUrl(link=self.opt_url)
			   pr_url_rel = RRSRelationshipProjectUrl()
			   pr_url_rel.set_entity(pr_url)
			   pr['url'] = pr_url_rel

		       
			self.recordhandler.process_pages(self.links)

			records = self.recordhandler.get_deliverables()

			if type(records) == list:
			    #create relationship Project Publication
			    for r in records:
				rel = RRSRelationshipPublicationProject()
				#print unicode(r['title'])
				rel.set_entity(r)
				pr['publication'] = rel
			    #create XML from RRSProject
			    output    = StringIO.StringIO()
			    converter = Model2XMLConverter(stream=output)
			    converter.convert(pr)
			    out       = output.getvalue()
			    output.close()
			    #Either return RRSProject object or XML in string or store result into a file           
			    if self.opt.storefile:

				r = self._storeToFile(self.opt_url,out)
				#test if store ok
				if r[0]!=1:
				    print r[1]
			       
			    else:
				print out.encode('UTF-8')
			    return pr

			else:
			    return records
Beispiel #3
0
	def main(self):
		"""
		Method implementing actions choosen by parameters in constructor.
		"""

		# Searching deliverable page
		if not self.links:
			self.pagesearch._sigwords.extend(self.regexps)
			self.links = self.pagesearch.get_deliverable_page()
		##################################
		if self.links[0] == -1:
			return self.links

		if self.opt['verbose']:
			print "*"*80
			print "Deliverable page: ", " ".join(self.links)
			print "*"*80

		self.pr = RRSProject()

		#Project - Url relationship
		if not self.opt['page']:
			pr_url = RRSUrl(link=self.opt_url)
			pr_url_rel = RRSRelationshipProjectUrl()
			pr_url_rel.set_entity(pr_url)
			self.pr['url'] = pr_url_rel
		self.recordhandler.process_pages(self.links)

		records = self.recordhandler.get_deliverables()

		if type(records) == list:
			#create relationship Project Publication
			self.records = records
			for r in records:
				rel = RRSRelationshipPublicationProject()
				rel.set_entity(r)
				self.pr['publication'] = rel
				#create XML from RRSProject
				output = StringIO.StringIO()
				converter = Model2XMLConverter(stream=output)
				converter.convert(self.pr)
				out = output.getvalue()
				output.close()
				#Either return RRSProject object or XML in string or store result into a file  
				if self.opt['storefile']:

					r = self._storeToFile(self.opt_url,out)
					#test if store ok
					if r[0]!=1:
						print r[1]
			 
				else:
					print out.encode('UTF-8')
				return self.pr

		else:
			return records