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
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
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
def get_secret_name(self): return validations.get_input(self.clear + 'Informe o nome da secret:')
def get_environment_token(self,name): return validations.get_input(self.clear + 'Informe o token do ambiente {} (input estará ocultado):'.format(name), hidden=True)
def get_keepass_password(self): return validations.get_input(self.clear + 'Informe a senha do KeePass (input estará ocultado):', hidden=True)