Exemplo n.º 1
0
def main():
    sqlIgnore = re.compile("^[--].*")
    regexNomeTabela = re.compile("CREATE TABLE ([^\s]+)")
    regexDependencia = re.compile("REFERENCES ([^\s]+)")

    try:
        estrutura = open(args.fileName, "r")

    except FileNotFoundError as err:
        print(err)

    #Lista de todas as tabelas referenciadas no arquivo de estrutura
    listaTabela = ListaTabela()

    #lista de tabelas povoadas
    tabelasPovoadas = ListaTabela()
    linha = ""
    for line in estrutura:
        if not (sqlIgnore.match(line)):
            linha = linha + line
            if (';' in line):
                #Faz com que cada bloco do código SQL seja lido em uma única linha
                linha = linha.replace('\n', ' ')

                nome = regexNomeTabela.search(linha)
                dependencias = regexDependencia.findall(linha)

                if (nome != None):
                    tabela = Tabela(nome.group(1)[1:-1])
                    listaTabela.add_tabela(tabela)

                    #Adiciona todas as referenências encontradas, retirando os limitadores (aspas)
                    tabela.add_dependencias([d[1:-1] for d in dependencias])

                    #Adiciona as tabelas sem dependencias na lista de tabelas povoadas
                    if not (dependencias): tabelasPovoadas.add_tabela(tabela)

                #Limpa a variável para a próxima iteração
                linha = ""

    while True:
        for t in listaTabela.list:
            if (len(t.dependencias) > 0
                    and not tabelasPovoadas.find_nome(t.nome)):
                flag_add_table = True
                for d in t.dependencias:
                    if not (tabelasPovoadas.find_nome(d)):
                        flag_add_table = False
                if (flag_add_table):
                    tabelasPovoadas.add_tabela(t)

        if (len(tabelasPovoadas.list) >= len(listaTabela.list)): break

    print('\n'.join([t.nome for t in tabelasPovoadas.list]))
Exemplo n.º 2
0
 def dodaj_tabelo(self, tabela=None):  # še funkcija dodaj [tabele]
     if tabela == None:
         a = True
         tabela = Tabela(None, self)
     else:
         if tabela in self.tabele:
             print(colored('POZOR!: Ista tabela je dodana večkrat v isto bazo', 'red'))
         a = False
         self.tabele.append(tabela)
         if self.tabele_imena is None:
             self.tabele_imena = []
         self.tabele_imena.append(tabela.tabela_ime)
     if a == True:
         return tabela
Exemplo n.º 3
0
 def req_tabela(self, *args):
     ids = [self.ids.tex1, self.ids.tex2]
     self.pop = Popup(title='Tabela',
                      content=Tabela(DataFrame=df, ids_list=ids),
                      size_hint=(0.5, 0.5))
     self.pop.open()
Exemplo n.º 4
0
                k = m - len(str(self.tabele_imena[i]))
                s = ' ' * k
                print(space + colored(str(self.tabele_imena[i]), 'magenta') + s + puscica + str(self.tabele[i]))

        else:
            print(space + str(None))

        print('Prebrano iz SQL:       ' + str(self.prebrano_iz_SQL))
        print('Neshranjene spremembe: ' + str(self.neshranjene_spremembe))
        print()


if __name__ == "__main__":
    b = Baza('Aladeen')
    b.izpis()
    t=Tabela('Neki')
    t.dodaj_vrstico()
    t.dodaj_vrstico()
    t.dodaj_vrstico()
    t.dodaj_vrstico()
    t.dodaj_vrstico()
    t1=Tabela('Neki druzga')
    t1.dodaj_vrstico()
    t1.dodaj_vrstico()
    t1.dodaj_vrstico()
    s1=Stolpec('neki bolšga')
    s1.izpis()
    s2=t.dodaj_podoben_stolpec(s1)
    s3=t1.dodaj_podoben_stolpec(s2)
    s1.izpis()
    s2.izpis()
Exemplo n.º 5
0
    def cb_vnos(self, text):
        self.qt.tab[self.stolpec_stevilo] = text

    def ch_vnos(self, text):
        self.qt.tab[self.stolpec_stevilo] = text


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    a = QtWidgets.QWidget()
    a.setMinimumSize(300, 300)
    b = QtWidgets.QVBoxLayout()
    c = QtFunkcije()

    t = Tabela('Stoški')
    i = Stolpec('ime', t)
    i.attribute = 'le'
    m = Stolpec('mesečni', t)
    m.attribute = 'ch'
    v = Stolpec('vrednost', t)

    k = Stolpec('kategorija', t)
    k.attribute = 'cb'

    t.tabela_ime = 'tabela'
    t.dodaj_vrstico()
    v = t.dodaj_vrstico()
    v.vrstica_vrednosti = [1, 2, 3, 4]
    t.dodaj_vrstico()