Exemple #1
0
def definirDia():
    intencao = "negar"
    contador = 0
    perguntaPadrao = " para qual dia gostaria marcar?"
    pergunta = perguntaPadrao
    while intencao == "negar" and contador < 10:
        frase = input(pergunta)
        dia = ""
        if frase is None or len(frase) == 0:
            continue
        if (Entidades.contemDiaSemana(frase)):
            dif = Entidades.getDiferencaSemana(frase, semana)
            dia = int(diaHoje) + dif
        else:
            dia = Entidades.descobreDia(frase)

        if dia is None:
            pergunta = "Não intendi direito, para qual dia voce gostaria de marcar?"
            continue

        if agenda.disponibilidadeDia(int(mesHoje), int(dia)) is not True:
            pergunta = "Esse dia esta cheio, por favor poderia escolher outro dia?"
            continue

        frase = input("para o dia " + str(dia) +
                      " temos horario gostaria de marcar para esse dia?")
        intencao = classificador.getIntencao(frase)
        if (intencao == "negar"):
            pergunta = "Qual o outro dia que gostaria de marcar então?"
            contador = contador + 1

    return dia
Exemple #2
0
    def updateColunasEntidadesBycAppl(self):
        altEntidades = 0
        altColunas = 0
        returnEntidades = Entidades.Entidades(
            self.db, cAppl=self.cAppl).selectEntidadesBycodigoAplicacao()
        if not returnEntidades[0]:
            return [0, "CE - Não existem Entidades para esta Aplicação."]
        entidades = returnEntidades[1]
        for entidade in entidades:
            processaEntidade = self.processaEntidade(entidade)
            if not processaEntidade[0]:
                return [
                    0, "CE - Ocorreu um erro no processamento da Entidade.",
                    processaEntidade[1]
                ]
            altEntidades += 1
            altColunas = altColunas + processaEntidade[1]

        ckListCE = self.checkList.updateCheckListColunasEntidades()
        if not ckListCE[0]:
            return ckListCE

        self.db.commit()
        return [
            1,
            ('Colunas das Entidades Atualizadas>>>' + '\n' + ' Entidades = ' +
             str(altEntidades) + '\n' + ' Colunas   = ' + str(altColunas) +
             '\n')
        ]
Exemple #3
0
    def loadDB(self, model):

        colunas = Colunas.Colunas(self.db, cAppl=self.cAppl, model=model)
        returnCode = colunas.insertColunas()

        if returnCode[0]:
            self.retCode.append(returnCode[1])
            entidades = Entidades.Entidades(self.db,
                                            cAppl=self.cAppl,
                                            iderwin=self.iderwin,
                                            model=model)
            returnCode = entidades.insertEntidades()
            if returnCode[0]:
                self.retCode.append(returnCode[1])
                colunasEntidades = ColunasEntidades.ColunasEntidades(
                    self.db, cAppl=self.cAppl, model=model)
                returnCode = colunasEntidades.insertColunasEntidades()
                if returnCode[0]:
                    self.retCode.append(returnCode[1])
                    primaryKeys = PrimaryKeys.PrimaryKeys(self.db,
                                                          cAppl=self.cAppl,
                                                          model=model)
                    returnCode = primaryKeys.insertPrimaryKeys()
                    if returnCode[0]:
                        self.retCode.append(returnCode[1])
                        foreignKeys = ForeignKeys.ForeignKeys(self.db,
                                                              cAppl=self.cAppl,
                                                              model=model)
                        returnCode = foreignKeys.insertForeignKeys()
                        if returnCode[0]:
                            self.retCode.append(returnCode[1])
                            return [1, self.retCode]

        return returnCode
Exemple #4
0
    def insertPrimaryKeys(self):
        lidos       = 0
        gravados    = 0

        entidades   = Entidades.Entidades(self.db, cAppl=self.cAppl)
        colunas     = Colunas.Colunas(self.db, cAppl=self.cAppl)
        orca        = OrigemColunasAplicacao.OrigemColunasAplicacao(self.db)
        lisAuto     = Datatypes.Datatypes(self.db).getDatatypesNumerics()
        lisAuto.append('TIMESTAMP')
        generate    = lambda ent: ent['Do_Not_Generate']==False
        nomeFisico  = lambda line: line['User_Formatted_Physical_Name']
        isPk        = lambda line: line['pk']==True
        isFk        = lambda line: line['fk']<>[]
        isAuto      = lambda line: line['dataType'].split('(')[0] in lisAuto
        isTimestamp = lambda line: line['dataType'].split('(')[0] == 'TIMESTAMP'

        for nomeFisicoEntidade in map(nomeFisico, filter(generate, self.model.getEntidades(''))):
            returnEntidade       = entidades.selectEntidadesByNomeFisico(nomeFisicoEntidade)
            if  not returnEntidade[0]:
                return [0,"CE - CodigoEntidade de %s nao encontrado na Tabela Entidades." % (nomeFisicoEntidade)]
            entidade             = returnEntidade[1][0]

            lisCols = self.model.getEntidadeColunas(nomeFisicoEntidade)
            pks     = filter(isPk, lisCols)
            lenPk   = len(pks)
            qtdPk   = 0
            for pk in pks:
                lidos += 1
                qtdPk += 1
                columnName         = pk['nomeFisico']
                returnCodigoColuna = colunas.selectColunasByColumnName(columnName)
                if  not returnCodigoColuna[0]:
                    return [0,"PK - CodigoColuna de %s nao encontrado na Tabela Colunas." % columnName \
                           , returnCodigoColuna[1]]
                coluna             = returnCodigoColuna[1][0]

                codigoInsercao = 1
                if  not isFk(pk) and qtdPk == lenPk and isAuto(pk):
                    codigoInsercao = 3
                    if  isTimestamp(pk):
                        orca.insertOrigemColunasAplicacao(self.cAppl, coluna.id)
                try:
                    self.primarykeys.insert(codigoAplicacao = self.cAppl
                                           ,codigoEntidade  = entidade.id
                                           ,codigoColuna    = coluna.id
                                           ,codigoInsercao  = codigoInsercao)
                    gravados = gravados +1

                except:
                   return [0,"PK - Ocorreu um erro no Insert da Tabela PrimaryKeys.", sys.exc_info()[1]]
        self.db.commit()
        return [1,('Primary Keys >>>'
               + '\n' + ' Lidos    = ' + str(lidos)
               + '\n' + ' Gravados = ' + str(gravados)
               + '\n')]
Exemple #5
0
def definirHorario(dia):
    perguntaPadrao = "Em que horario gostaria de marcar?"
    pergunta = perguntaPadrao
    intencao = "negar"
    while intencao == "negar":
        frase = input(pergunta)
        if Entidades.possuiPeriodo(frase):
            listaPeriodo = Entidades.getListaPeriodo(frase)
            pergunta = agenda.montarHorasPorPeriodo(listaPeriodo, dia, mesHoje)
            continue
        else:
            pergunta = "Não temos horario nesse período "
            listaPeriodo = Entidades.getListaPeriodo(frase)
            pergunta = agenda.getPeriodoForaDaLista(listaPeriodo, dia, mesHoje)

        if Entidades.temHora(frase):
            horas = Entidades.getHoras(frase)
            if len(horas) == 1:

                if agenda.verificaData(
                        str(mesHoje) + ":" + str(dia) + ":" + str(horas[0])):
                    frase = input("voce gostaria de marcar as " +
                                  str(horas[0]) + " horas?")
                    intencao = classificador.getIntencao(frase)
                    if intencao == "confirmar":
                        return horas[0]
                else:
                    pergunta = "Não temos disponibilidade para esse horario"
                    continue

            else:
                pergunta = "em que horario voce gostaria de marcar? "
                for hora in horas:
                    pergunta += str(hora) + "h "

        else:
            pergunta = "Não intendi direito, por favor me diga um horario que gostaria de marcar"
            continue
Exemple #6
0
 def __init__(self, db, cAppl=0, model=None):
     self.db = db
     self.cAppl = cAppl
     self.model = model
     self.entidades = Entidades.Entidades(self.db, cAppl=self.cAppl)
     self.coluna = Colunas.Colunas(self.db, cAppl=self.cAppl)
     self.primaryKeys = PrimaryKeys.PrimaryKeys(self.db)
     self.OrigemColunasAplicacao = OrigemColunasAplicacao.OrigemColunasAplicacao(
         self.db)
     self.regra = Regras.Regras(self.db).getRegras(1)
     self.checkList = CheckList.CheckList(self.db, cAppl=self.cAppl)
     self.colunasEntidades = self.db.colunasEntidades
     self.datatypes = self.db.datatypes
     self.colunas = self.db.colunas
Exemple #7
0
 def updateColunasEntidadesByCodigoEntidade(self, codigoEntidade):
     altEntidades = 0
     altColunas = 0
     returnEntidades = Entidades.Entidades(
         self.db).selectEntidadesByEntidadeId(codigoEntidade)
     if not returnEntidades[0]:
         return [0, "CE - Não existem Entidades para esta Aplicação."]
     entidade = returnEntidades[1][0]
     procEntidade = self.processaEntidade(entidade)
     if not procEntidade[0]:
         return [
             0, "CE - Ocorreu um erro no processamento da Entidade.",
             procEntidade[1]
         ]
     altEntidades += 1
     altColunas = altColunas + procEntidade[1]
     self.db.commit()
     return [
         1,
         ('updateColunasEntidades >>>' + '\n' + 'Entidades = ' +
          str(altEntidades) + '\n' + 'Colunas   = ' + str(altColunas) +
          '\n')
     ]
 def __init__(self
             , db
             , cAppl=None
             , entidadeId=None
             , objetivo=None
             , pgmid=None
             , servico=None
             , tppgm=None
             , userName=None
             ):
     self.cAppl          = cAppl or 0
     self.entidadeId     = entidadeId or 0
     self.objetivo       = objetivo or 'OBJETIVO'
     self.pgmid          = pgmid.upper() or 'XXX'
     self.servico        = servico.upper() or 'SERVICO'
     self.tppgm          = tppgm or 0
     self.userName       = userName.upper() or 'USER ADMIN'
     self.aplicacao      = Aplicacao(db, self.cAppl)
     self.empresa        = Empresa(db, self.aplicacao.getEmpresaId())
     self.Entidade       = Entidades(db, cAppl=self.cAppl)
     self.entidade       = self.Entidade.selectEntidadesByEntidadeId(self.entidadeId)[1][0]
     self.parametros     = db.parametros
     self.parms          = db(self.parametros).select()[0]
Exemple #9
0
    def insertForeignKeys(self):
        lidos = 0
        gravados = 0
        entidades = Entidades.Entidades(self.db, cAppl=self.cAppl)
        colunas = Colunas.Colunas(self.db, cAppl=self.cAppl)
        generate = lambda ent: ent['Do_Not_Generate'] == False
        nomeFisico = lambda line: line['User_Formatted_Physical_Name']
        isFk = lambda line: line['fk'] <> []

        nomeFisicoEntidades = map(
            nomeFisico, filter(generate, self.model.getEntidades('')))
        for nomeFisicoEntidade in nomeFisicoEntidades:
            returnEntidade = entidades.selectEntidadesByNomeFisico(
                nomeFisicoEntidade)
            if not returnEntidade[0]:
                return [
                    0,
                    "CE - CodigoEntidade de %s nao encontrado na Tabela Entidades."
                    % (nomeFisicoEntidade)
                ]
            codigoEntidade = returnEntidade[1][0].id

            lisCols = self.model.getEntidadeColunas(nomeFisicoEntidade)
            fks = filter(isFk, lisCols)

            for fk in fks:
                lidos = lidos + 1
                colunaForeignKey = fk['nomeFisico']
                colunaReferenciada = fk['fk'][0][0]
                nomeFisicoEntRef = fk['fk'][0][1]
                if not nomeFisicoEntRef in nomeFisicoEntidades:
                    continue
                else:
                    returnEntidadeReferenciada = entidades.selectEntidadesByNomeFisico(
                        nomeFisicoEntRef)
                    if not returnEntidadeReferenciada[0]:
                        return [0,"CodigoEntidade de " + nomeFisico + " nao encontrado na Tabela Entidades." \
                                 , returnEntidadeReferenciada[1]]
                    codigoEntidadeReferenciada = returnEntidadeReferenciada[1][
                        0].id

                    returnColuna = colunas.selectColunasByColumnName(
                        colunaForeignKey)
                    if not returnColuna[0]:
                        return [0,"FK1 - CodigoColuna de " + colunaForeignKey + "  nao encontrado na Tabela Colunas." \
                               , returnColuna[1]]
                    codigoColuna = returnColuna[1][0].id

                    if colunaForeignKey == colunaReferenciada:
                        codigoColunaReferenciada = codigoColuna
                    else:
                        returnColunaReferenciada = colunas.selectColunasByColumnName(
                            colunaReferenciada)
                        if not returnColunaReferenciada[0]:
                            return [0,"FK2 - CodigoColuna de " + colunaReferenciada + "  nao encontrado na Tabela Colunas." \
                                   , returnColunaReferenciada[1]]
                        codigoColunaReferenciada = returnColunaReferenciada[1][
                            0].id

                    try:
                        self.foreignkeys.insert(
                            codigoEntidade=codigoEntidade,
                            codigoColuna=codigoColuna,
                            codigoEntidadeReferenciada=
                            codigoEntidadeReferenciada,
                            codigoColunaReferenciada=codigoColunaReferenciada,
                            ativo=True)
                        gravados = gravados + 1
                    except:
                        return [
                            0,
                            "Ocorreu um erro no Insert da Tabela ForeignKeys.",
                            sys.exc_info()[1]
                        ]
        self.db.commit()
        return [
            1,
            ('Foreign Keys >>>' + '\n' + ' Lidos    = ' + str(lidos) + '\n' +
             ' Gravados = ' + str(gravados) + '\n')
        ]
Exemple #10
0
                if erro > 2:
                    print("Perdeu suas chances:")
                    print("Resposta: \n", answer)
                    terminarPartida = True  #terminar partida após 3 erros
                    break
                print("\n\n ----------- Errado-------------")
                tocar(answer)
                attempt = list(input("tente novamente: "))

            if terminarPartida == True:  #terminar partida após 3 erros
                break
            print("\n\n ---------------Acertou!!-------------")
            lista = answer
            limpar_tela()  ## limpar tela após acertar
    pontuacao = ((len(lista)) - 1) * 10
    jogador = Entidades.jogadores(nome, pais, pontuacao)
    ranking.insert(jogador)
    print("Dados da partida:")
    print(jogador)
    asr = input("\n Quer outra partida?   sim / nao \n")

# FIM DA RODADA E MOSTRA DO RESULTADOS
print("__________RANKING________")

ranking.emOrdem(ranking.getRoot())

print("\n---------VENCEDOR DA RODADA-----------")

vencedor = ranking.maxx(ranking.getRoot())  #FOLHA A DIREITA
print(vencedor)
print("---- PARABENS------")
Exemple #11
0
]

stationFields = ['station_id', 'install_dockcount']

trip = pd.read_csv('data/trip.csv', sep=',',
                   names=tripFields)  # read data trips

# startTimes = [ utils.strToDatetime(date_str).timestamp() for date_str in  trip[:25000].starttime.values ]
# utils.plotHistogram(startTimes,'Tempos de chegada')
# tripDurations = [ float(milisec.replace('.','')) for milisec in  trip[:25000].tripduration.values ] # get 25000 tripduration in milisec
# utils.plotHistogram(tripDurations,'Tempo de viagens')

# simulation
env = simpy.Environment()

e1 = Entidades.Estacao(env, 'CBD-06', simpy.Resource(env, capacity=5))

cont = 0
usuarios = list()
for registry in trip[:7].values:
    cont += 1
    nomeUsuario = 'Usuario' + str(cont)
    tempoChegada = utils.strToDatetime(registry[0]).timestamp()
    tempoViagem = utils.strSecToMilisec(registry[3])

    print(nomeUsuario, tempoChegada, tempoViagem, sep=',')
    usuarios.append(
        Entidades.Usuario(env, nomeUsuario, tempoChegada, tempoViagem))

for usuario in usuarios:
    env.process(e1.emprestaBicicleta(usuario))
Exemple #12
0
class cabecalhoPGM(object):

    def __init__(self
                , db
                , cAppl=None
                , entidadeId=None
                , objetivo=None
                , pgmid=None
                , servico=None
                , tppgm=None
                , userName=None
                ):
        self.cAppl          = cAppl or 0
        self.entidadeId     = entidadeId or 0
        self.objetivo       = objetivo or 'OBJETIVO'
        self.pgmid          = pgmid.upper() or 'XXX'
        self.servico        = servico.upper() or 'SERVICO'
        self.tppgm          = tppgm or 0
        self.userName       = userName.upper() or 'USER ADMIN'
        self.aplicacao      = Aplicacao(db, self.cAppl)
        self.empresa        = Empresa(db, self.aplicacao.getEmpresaId())
        self.Entidade       = Entidades(db, cAppl=self.cAppl)
        self.entidade       = self.Entidade.selectEntidadesByEntidadeId(self.entidadeId)[1][0]
        self.parametros     = db.parametros
        self.parms          = db(self.parametros).select()[0]


    def montaCabecalho(self):
        dic                 = {}
        dic['@ANALISTA']    = utl.remover_acentos(self.aplicacao.getAnalista()
                                                 + '/' + self.empresa.getNome()).upper()
        dic['@APPLID']      = self.aplicacao.getApplId().upper()
        dic['@APPLNAME']    = utl.remover_acentos(self.aplicacao.getApplName()).upper()
        dic['@AUTHOR']      = utl.remover_acentos(self.userName
                                                 + '/' + self.aplicacao.getContratante()).upper()
        dic['@DATE']        = date.today().strftime('%d/%m/%Y')
        dic['@EMPRESA']     = utl.remover_acentos(self.empresa.getDescricao()).upper()
        dic['@ENTIDADE0']   = self.entidade.nomeExterno + ' - ' + self.entidade.nomeFisico
        dic['@ENTIDADE1']   = self.entidade.nomeAmigavel.upper()[:45]
        dic['@ENTIDADE2']   = self.entidade.nomeAmigavel.upper()[45:]
        dic['@GRUPO']       = self.aplicacao.getGrupo()
        dic['@OBJETIVO']    = self.objetivo.upper()
        dic['@PGMID']       = str(self.pgmid)
        dic['@SERVICO']     = self.servico.upper()
        dic['@TPPGM']       = str(self.tppgm)

        query = db((db.tools.ferramenta == 'ADS_IDMS')
                 & (db.parametros.tool  == db.tools.id)).select()[0]

        template            = os.path.join(query.parametros.drive + ':'
                                          ,os.sep
                                          ,query.parametros.web2py
                                          ,'applications'
                                          ,query.parametros.application
                                          ,'Templates'
                                          ,query.tools.ferramenta
                                          ,'cabecPgm.CBL')

        with open(template) as f:
            templ=str(f.read())

        return utl.change(dic, templ)
Exemple #13
0
def index():
    if request.vars:
        idaplicacao = int(request.vars.aplicacao_id or 0)
    else:
        idaplicacao = int(session.aplicacao_id or 0)
    if session.aplicacao_id <> idaplicacao:
        session.aplicacao_id = idaplicacao
        redirect(URL('index'))
    else:
        cl = db(db[checkList].codigoAplicacao == idaplicacao).select()
        if cl:
            idcheckList = cl[0].id
        else:
            idcheckList = 0
        form = SQLFORM(checkList, idcheckList, hidden=dict(codigoAplicacao=\
                    idaplicacao))
        form.vars.usuarioConfirmacao = auth.user.id
        form.vars.dataConfirmacao = datetime.datetime.today()
        if form.accepts(request.vars, session):
            if  request.vars.has_key('delete_this_record') and \
                    request.vars.delete_this_record == 'on':
                session.flash = 'CheckList Excluido'
                redirect(URL('index'))
            else:
                if idcheckList:
                    if  request.vars.aplicacao     and not \
                        request.vars.entidades     and not \
                        request.vars.colunas       and not \
                        request.vars.regrasColunas and not \
                        request.vars.origemColunas:
                        ents = Entidades.Entidades(db, cAppl=idaplicacao)
                        rets = ents.updateEntidadesXprogramas()
                        msgerrors = {}
                        idx = 0
                        for line in rets[1].split('\n'):
                            if line:
                                idx += 1
                                msgerrors[idx] = line
                        session.labelErrors = \
                                      'Atualização dos:'
                        session.msgsErrors = msgerrors
                    session.flash = 'CheckList Alterado'
                    redirect(URL('index', args=(idcheckList)))
                else:
                    response.flash = 'CheckList Incluído'
    if session.flash:
        response.flash = session.flash
        session.flash = None
    if session.labelErrors:
        form.labelErrors = session.labelErrors
        session.labelErrors = None
    if session.msgsErrors:
        form.errors = session.msgsErrors
        session.msgsErrors = None
    query = db[checkList].codigoAplicacao<0 if not idcheckList else \
                db[checkList].codigoAplicacao==idaplicacao
    return dict(listdetail.index(['CheckList',
                                  '<br/>Aplicacao:',
                                  str(utl.Select(db,
                                           name='aplicacao_id',
                                           table='aplicacoes',
                                           fields=['id','descricao'],
                                           filtro='' if (auth.user) and \
                                                        (auth.has_membership(1,\
                                                         auth.user.id, \
                                                        'Administrador')) \
                                                     else db['aplicacoes'].\
                                                         empresa==auth.user.\
                                                                     empresa, \
                                           value=session.aplicacao_id or 0))],
                                 'checkList', checkList,
                                 query,
                                 form, fields=[],
                                 noDetail=['codigoAplicacao'],
                                 scroll=[],
                                 width_label='45%',
                                 width_field='55%',
                                 optionDelete=False,
                                 buttonClear=False,
                                 buttonSubmit=True))