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
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
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