Exemplo n.º 1
0
 def check(cls, username, password):
     try:
         db = Database(app.config['WEBSTORE_SERVER'],
                       app.config.get('WEBSTORE_USER'),
                       app.config.get('WEBSTORE_DB', 'helmut'),
                       http_user=username,
                       http_password=password)
         db.tables()  # request to trigger auth
         return User(username, password)
     except WebstoreClientException:
         return None
Exemplo n.º 2
0
 def check(cls, username, password):
     try:
         db = Database(app.config['WEBSTORE_SERVER'],
                       app.config.get('WEBSTORE_USER'),
                       app.config.get('WEBSTORE_DB', 'helmut'), 
                       http_user=username, 
                       http_password=password)
         db.tables() # request to trigger auth
         return User(username, password)
     except WebstoreClientException:
         return None
Exemplo n.º 3
0
def pega_dados(url_base):
	database = Database('0.0.0.0', 'test', 'joaopessoa131', port="5000")
	html = parse(url_base).getroot()
	tabela = html.cssselect(".tabelaDetalhe")[0]
	linhas = tabela.cssselect("tr")
	tabela2 = html.cssselect(".tabelaDetalhe")[2]
	linhas2 = tabela2.cssselect("tr")
	data = {}
	data["n_empenho"] = linhas[0].cssselect("td")[1].text
	data["data_empenho"] = linhas[1].cssselect("td")[1].text
	data["tipo_empenho"] = linhas[2].cssselect("td")[1].text
	data["elemento_despesas"] = linhas[3].cssselect("td")[1].text
	data["fonte_recurso"] = linhas[4].cssselect("td")[1].text
	data["fornecedor"] = linhas[5].cssselect("td")[1].text
	data["n_processo_pagamento"] = linhas[6].cssselect("td")[1].text
	data["modalidade_n_licitacao"] = linhas[7].cssselect("td")[1].text
	data["tipo_despesa"] = linhas[8].cssselect("td")[1].text
	data["historico"] = linhas[9].cssselect("td")[1].text
	data["valores"] = []
	for linha2 in linhas2:
		valores = {}
		valores["tipo_movimento"] = linha2.cssselect("td")[0].text
		valores["data_movimento"] = linha2.cssselect("td")[1].text
		valores["parcela"] = linha2.cssselect("td")[2].text
		valores["valor"] = linha2.cssselect("td")[3].text
		data["valores"].append(valores)
	data["valores"] = json.dumps(data["valores"])
	database['empenhos_detalhe'].writerow(data, unique_columns=['n_empenho'])
Exemplo n.º 4
0
def extract(url_base, entidade, id_entidade, ano, mes):
    print "Getting " + entidade + " do mês " + str(mes) + " de " + str(ano)

    database = Database('0.0.0.0', 'test', 'joaopessoa131', port="5000")
    html = parse(url_base).getroot()
    tabela = html.cssselect(".bordatabela2")[0]
    linhas = tabela.cssselect("tr")
    linhas.pop(0)
    for linha in linhas:
        data = {}
        data["n_empenho"] = linha.cssselect("td")[0].text
        data[
            "link_empenho"] = "http://www2.joaopessoa.pb.gov.br:8080/lei131/" + linha.cssselect(
                "td")[0].get("onclick").split("'")[1]
        data["data_movimentacao"] = linha.cssselect("td")[1].text
        data["elemento"] = linha.cssselect("td")[2].text
        data["tipo"] = linha.cssselect("td")[3].text
        data["fornecedor"] = linha.cssselect("td")[4].text
        data["fonte_recurso"] = linha.cssselect("td")[5].text
        data["valor"] = linha.cssselect("td")[6].text
        data["orgao"] = entidade
        data["id_orgao"] = id_entidade
        data["ano"] = str(ano)
        data["mes"] = str(mes)
        database['empenhos'].writerow(data, unique_columns=['n_empenho'])
Exemplo n.º 5
0
 def setUp(self):
     self.server_url = 'localhost'
     self.port = 6675
     self.port = 5001
     self.database = Database(self.server_url, 'test', 'test',
             port=self.port)
     self.table = self.database['test']
     self.table.writerows(FIXTURES)
Exemplo n.º 6
0
class WebstoreClientTestCase(unittest.TestCase):
    
    def setUp(self):
        self.server_url = 'localhost'
        self.port = 6675
        self.port = 5001
        self.database = Database(self.server_url, 'test', 'test',
                port=self.port)
        self.table = self.database['test']
        self.table.writerows(FIXTURES)

    def tearDown(self):
        try:
            self.table.delete()
        except WebstoreClientException:
            pass

    def test_database_table_listing(self):
        assert 'test' in self.database.tables(), self.database.tables()
        assert 'foo' not in self.database.tables(), self.database.tables()

    def test_database_contains(self):
        assert 'test' in self.database, self.database.tables()
        assert 'foo' not in self.database, self.database.tables()
    
    def test_database_getitem(self):
        test = self.database['test']
        assert isinstance(test, Table), test

    def test_table_traverse_full(self):
        all = list(self.table)
        assert len(all)==len(FIXTURES), all

    def test_table_traverse_filter(self):
        bln = list(self.table.traverse(place='Berlin'))
        assert len(bln)==1, bln
        assert bln[0]['place']=='Berlin', bln

    def test_table_traverse_limit(self):
        two = list(self.table.traverse(_limit=2))
        assert len(two)==2, two

    def test_table_add_row(self):
        row = {'place': 'Tokyo', 'radiation': '5usv'}
        self.table.writerow(row)
        print self.table
        all = list(self.table)
        assert len(all)==len(FIXTURES)+1, all
        tok = list(self.table.traverse(place='Tokyo'))
        assert tok[0]['radiation']=='5usv', tok
    
    def test_table_update_row(self):
        row = {'place': 'Berlin', 'radiation': '5usv'}
        self.table.writerow(row, unique_columns=['place'])
        all = list(self.table)
        assert len(all)==len(FIXTURES), all
        tok = list(self.table.traverse(place='Berlin'))
        assert tok[0]['radiation']=='5usv', tok
    
    def test_table_delete(self):
        self.table.delete()
        assert not 'test' in self.database
Exemplo n.º 7
0
 def setUp(self):
     self.server_url = 'localhost:6675'
     self.database = Database(self.server_url, 'test', 'test')
     self.table = self.database['test']
     self.table.writerows(FIXTURES)