Example #1
0
    def get_keys(self,environment_name):
        i = 1
        secret_keys_pairs = {}
        
        print(""""""+self.clear+"""==============================================================\n
Informe agora os conjuntos de chaves e valores para o ambiente """ + environment_name + """\n""")

        while True:
            
            try:
                key = validations.get_input('Chave ' + str(i) + ': ', False, False)
                if key != '':
                    val = validations.get_input('Valor ' + str(i) + ': ')
                    secret_keys_pairs[key] = val
                    i = i+1
                    print('\n\nInforme a próxima chave ou, caso não haja mais chaves para cadastro, pressione ENTER\n')
                else:
                    break

            except (ValueError, NameError):
                print("[ERRO] - Valor inválido para chave/valor")
        
        if not secret_keys_pairs:
            secret_keys_pairs['1'] = '1'
        return secret_keys_pairs
Example #2
0
 def get_removed_field(self, secret):
     field_name = validations.get_input('Informe o nome do campo a ser removido:')
     if validations.get_yes_or_no('O campo ' + field_name + ' (' + secret['data'][field_name]  + ') será removido.\nConfirmar?' ):
         if field_name in secret['data']:
             secret['data'].pop(field_name, None)
         else:
             print('[INFO] - A chave informada não está presente na secret')    
     return secret
Example #3
0
    def get_field_updates(self, secret):
        print("""\n\n============================================================================================================
    Durante a atualização das chaves e valores, tanto o nome quanto o valor do campo podem ser sobrescritos
    Para inserir um par novo, informe o nome de um campo não existente na secret
=============================================================================================================\n\n""")

        new_field_name = ''
        changes = dict()
        redo = True

        while redo:
            old_field_name = validations.get_input('Informe o nome do campo a ser atualizado:')                

            if old_field_name in secret['data'] and validations.get_yes_or_no('\nDeseja alterar o nome do campo?', 'n'):    
                new_field_name = validations.get_input('\nInforme o nome novo para o campo:')
            else:
                new_field_name = old_field_name

            new_field_value = validations.get_input('\nInforme o valor novo do campo:')
            if validations.get_yes_or_no('\nConfirmar atualização?'):
                changes[old_field_name] = { 'new_name': new_field_name, 'new_value': new_field_value}
            else:
                break

            redo = validations.get_yes_or_no('\nDeseja atualizar mais alguma chave?','n')

        for old_key, key_pair in changes.items():

            if old_key in secret['data']:
                if old_key == key_pair['new_name']:
                    secret['data'][old_key] = key_pair['new_value']
                else:
                    secret['data'].pop(old_key, None)
                    secret['data'][key_pair['new_name']] = key_pair['new_value']
            else:
                secret['data'][key_pair['new_name']] = key_pair['new_value']
                    
        return secret
Example #4
0
 def get_secret_name(self):
     return validations.get_input(self.clear + 'Informe o nome da secret:')
Example #5
0
 def get_environment_token(self,name):
     return validations.get_input(self.clear + 'Informe o token do ambiente {} (input estará ocultado):'.format(name), hidden=True)
Example #6
0
 def get_keepass_password(self):
     return validations.get_input(self.clear + 'Informe a senha do KeePass (input estará ocultado):', hidden=True)