def get_dashboard_link(self,link): dashboard_links = [] """ PEGAR A PAGINA COM O WEBDRIVER """ if self.controlador == None: self.controlador = Controlador([]) self.controlador.iniciar(link) #print controlador.driver.page_source elementos = self.controlador.driver.find_elements(By.TAG_NAME,"a") cont = 0 url_dashboard = "" print "Buscando no Link: ",link for item in elementos: if "is de controle" in item.text: if url_dashboard == "": url_dashboard = item.get_attribute("href") else: #print "Olha quem eu quero: ",elementos[cont+1].get_attribute("href") url_dashboard = elementos[cont+1].get_attribute("href") break cont = cont + 1 print "RESPOSTA FINAL: ",url_dashboard #controlador.carregar_pagina(url_dashboard) return url_dashboard """ PEGAR A PAGINA COM URLLIB2
def get_links_projetos(self): Links = [] Fonte, Lista = self.get_links("http://nemo.sonarqube.org/measures/search/68?widget_id=&asc=false&c3_metric=tests&c3_op=eq&cols%5B%5D=metric%3Aalert_status&cols%5B%5D=name&cols%5B%5D=date&cols%5B%5D=metric%3Ancloc&cols%5B%5D=metric%3Aviolations&cols%5B%5D=links&display=list&page=1&pageSize=100&qualifiers%5B%5D=TRK&sort=metric%3Ancloc&id=68") Links = Links+Lista while Fonte != None: Fonte, Lista = self.get_links(Fonte) Links = Links+Lista dashboards = [] self.controlador = Controlador([]) for item in Links: url_dash = self.get_dashboard_link(item) dashboards.append(url_dash) #links_dashboard = self.get_dashboard_link(item) #print "Olha quantos links consegui: ",len(dashboards) self.controlador.encerrar() return Links
class controle_repositorio(): arquivo = None link = None controlador = None def __init__(self): #print "Controle de Repositorios construido com sucesso!" pass def baixar_arquivo(self,link): conexao = urllib2.urlopen(link) self.arquivo = conexao.read() def simplificar_arquivo(self): self.leitor_html = BeautifulSoup(self.arquivo,"html5lib") self.arquivo = self.leitor_html.find('div',{'id':'body'}) def get_total_projetos(self): self.baixar_arquivo("http://nemo.sonarqube.org/measures/search/68?widget_id=&asc=false&c3_metric=tests&c3_op=eq&cols%5B%5D=metric%3Aalert_status&cols%5B%5D=name&cols%5B%5D=date&cols%5B%5D=metric%3Ancloc&cols%5B%5D=metric%3Aviolations&cols%5B%5D=links&display=list&page=1&pageSize=100&qualifiers%5B%5D=TRK&sort=metric%3Ancloc&id=68") self.simplificar_arquivo() div = self.arquivo.findAll("div", id="measure_filter_foot_pages")[0].contents[0] div = str(div) resultado = re.search(r'^>*(\d*) results', div).group(1) print "Numero de Projetos: ",int(resultado) return int(resultado) def get_links_projetos(self): Links = [] Fonte, Lista = self.get_links("http://nemo.sonarqube.org/measures/search/68?widget_id=&asc=false&c3_metric=tests&c3_op=eq&cols%5B%5D=metric%3Aalert_status&cols%5B%5D=name&cols%5B%5D=date&cols%5B%5D=metric%3Ancloc&cols%5B%5D=metric%3Aviolations&cols%5B%5D=links&display=list&page=1&pageSize=100&qualifiers%5B%5D=TRK&sort=metric%3Ancloc&id=68") Links = Links+Lista while Fonte != None: Fonte, Lista = self.get_links(Fonte) Links = Links+Lista dashboards = [] self.controlador = Controlador([]) for item in Links: url_dash = self.get_dashboard_link(item) dashboards.append(url_dash) #links_dashboard = self.get_dashboard_link(item) #print "Olha quantos links consegui: ",len(dashboards) self.controlador.encerrar() return Links def get_links(self,Fonte): Links = [] self.baixar_arquivo(Fonte) self.simplificar_arquivo() div = self.arquivo.findAll("td",{"class":"nowrap"}) for item in div: link = item.findAll("a",href=True,title=True) if link != []: url = "http://nemo.sonarqube.org"+link[0]['href'] Links.append(url) #print "Adicionando link: ",url footer = self.arquivo.find("tfoot") list_links = footer.findAll("a",href=True) url = None for link in list_links: if "Next" in link: url = "http://nemo.sonarqube.org"+link["href"] #print "Adicionando link: ",url return url,Links def get_dashboard_link(self,link): dashboard_links = [] """ PEGAR A PAGINA COM O WEBDRIVER """ if self.controlador == None: self.controlador = Controlador([]) self.controlador.iniciar(link) #print controlador.driver.page_source elementos = self.controlador.driver.find_elements(By.TAG_NAME,"a") cont = 0 url_dashboard = "" print "Buscando no Link: ",link for item in elementos: if "is de controle" in item.text: if url_dashboard == "": url_dashboard = item.get_attribute("href") else: #print "Olha quem eu quero: ",elementos[cont+1].get_attribute("href") url_dashboard = elementos[cont+1].get_attribute("href") break cont = cont + 1 print "RESPOSTA FINAL: ",url_dashboard #controlador.carregar_pagina(url_dashboard) return url_dashboard """ PEGAR A PAGINA COM URLLIB2