diff --git a/libpkpass/commands/distribute.py b/libpkpass/commands/distribute.py index a25d369..c8ccaa4 100644 --- a/libpkpass/commands/distribute.py +++ b/libpkpass/commands/distribute.py @@ -27,15 +27,18 @@ def _run_command_execution(self): passworddb.pwdb, [self.args['identity'], 'recipients'] ) + self.recipient_list.append(str(self.args['identity'])) + self.recipient_list = list(set(self.recipient_list)) + print("The following users will receive the password:") + print(", ".join(self.recipient_list)) print("The following password files have matched:") print(*filtered_pdb.keys(), sep="\n") - correct_distribution = input("Is this list correct? (y/N) ") + correct_distribution = input("Are these lists correct? (y/N) ") if correct_distribution and correct_distribution.lower()[0] == 'y': passworddb.pwdb = filtered_pdb db_len = len(passworddb.pwdb.keys()) i = 0 self.progress_bar(i, db_len) - self.recipient_list.append(str(self.args['identity'])) for dist_pass, _ in passworddb.pwdb.items(): password = PasswordEntry() password.read_password_data(dist_pass) diff --git a/libpkpass/commands/update.py b/libpkpass/commands/update.py index 49b3d43..332bd92 100644 --- a/libpkpass/commands/update.py +++ b/libpkpass/commands/update.py @@ -59,7 +59,7 @@ def _new_distribution(self): breaker = False while not breaker: self.recipient_list = input("Please enter a comma delimited list: ") - self.recipient_list = list(set(self._convert_strings_to_list(self.recipient_list))) + self.recipient_list = list({x.strip() for x in self.recipient_list.split(",")}) print(self.recipient_list) try: self._validate_identities(self.recipient_list) diff --git a/libpkpass/connectors/connectorinterface.py b/libpkpass/connectors/connectorinterface.py index 9d5fa40..f82064b 100644 --- a/libpkpass/connectors/connectorinterface.py +++ b/libpkpass/connectors/connectorinterface.py @@ -1,9 +1,9 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """This is a base class interface for cert connectors""" from abc import ABCMeta ############################################################################## -class ConnectorInterface(object): +class ConnectorInterface(): """Simple interface for a Connector""" ############################################################################## __metaclass__ = ABCMeta diff --git a/test/passwords/gentest b/test/passwords/gentest index 352465b..bc611d2 100644 --- a/test/passwords/gentest +++ b/test/passwords/gentest @@ -12,34 +12,34 @@ recipients: encrypted_secrets: 64:E6:E2:73:E4:EE:B2:98:80:55:B4:43:10:33:FF:2B:9F:D2:E8:EF: derived_key: !!binary | - YXdlVTA3MDJVSUtxV09QZXJlWU8xVU5jMDR3N0VCM2IzaDRIeGRhREpVNmU4QXktM19BTnBfOVFG - MHgtLUxWOUhQMWlnYzdvV3RDcHNQaTBsYklfamJrNlphUzYycVRZb0JiSGRZRG9KVFdHSUh5YzFL - MzZnR0JVdXpYOEhMb2QtZUk4dmNkV25WaGljejJHa0NMd3IweEZIYTJCRFczb2tFbXZqOWNFU3JW - dFFmbUp1UWRpaGdudTZmLXlmM0pXRnB0S3hsZ280ajZqNTBENmJoc1ZXM0JhVzJwRzl3VW9XRDZh - X3RYYnF2SG5sTlptVGxjXzNkTkZLdkFGTFp4QS1vWWsxY1dyV21qem1KVmQ4MkNpTDZtNDd4Mlk3 - UG1lU1ljdTRoMmZ4NmJwcGluWW9xUC12TXhRVjVfV3ZPVFE5Uld5SFc3djNRMFprbXA2alE3a3cx - WVFIaDBwek9hUlRaNEZZYTFpOUk1QWRwN3RqSXVvdy1Qek1PYVVwSV9MaV9odl8xMGRoYWVIUkVq - TE5NV0F4SW84VjV6UGVvVmdobFh5WlhXRFpSbmRhaXByaXZoY2paZTlSVS1NNEdVMHFJMTVYcGt0 - NEFQRVpEaXhDNXprdVhDNWpONFhFVTZyUGpwOTdyUF81a2hubERhd09QajBuT05TVUFiZURsUW9L - RGJubzFRVWJCUU4tcW93b1pvdy11cDJSSHRjTjN1TWJuVG8wUUhQNTYxMEVCbEVET3cxOXRnUmpF - RGJjdGpDXzluZDhCN0xObk5PdS1WM1pzSV9lcVlaMXF6aEk3eVB0YVlid21ZejNLYmt3MWJ5RV9u - enZ0ajR4N2cwUWtueVU3bDlSc2dxVWR3RzZPVWdKYUY2VFZZUlN3UmpabnlJTEp5UHlwdkczRE09 + dU0wMFJZSzdUZHFVVnRuRWdHTXpoRjgzX2RGOTc0enpRVzlhSDJnZnptSHBudkg2dFFCdlIwd2Nh + clZjTnZzMEVQQUJ0LUN3RDIzN3RWVGFLTUV1czF5ZjNQZTJvVm9pOXFqa1FOYmp4bjhYS0xuVW5l + RW9pcTVVWXlNUm5YLUlyREhqaDd1cVRCbmJFQUo2S1dsMElTNkZSakRUanllX1J2cFFuT1RQN3lz + MlZSZHdRWVZUT2tLTGtHRlVnb0FWR1VTRWsxZXhncVdKRFl2RzRZcUVFcGNIdVZiRHdHMGlibnFD + aXhIZS1RTDd5NXIxNm5jMjBMNmk1YlVsVUkteXRnazY2Q3RGTVN5STl2M1BaTHUwZUl3YTl1Tmdx + TS10ZFhlMDJ5cUxVWE4xRDh2VEoxMm9HcnVFeVRWMkk5anhPSU5XS0VOMWEtclVjVmZIWVNLWHo5 + SUY0UUp5VFlZMFZUdDQ3VUZDWDdzc3VTMVZfSm1vNnlCeTFhYjZEYy14dUdMMHN4TkNxZHdFR1pV + VnJaNDlkM2tLMVdsQWFrWnl5aUFQSGxOdk14MlZRN0Rfbm5SaVpzdEZLRUVRMExETXVRWW5sRUsz + ajhmV21wTjhrUmZ5VnpveEMwaFM3cElfMmJ2bjg5Mmx5U2FBSHVsMkptRDV0N2NDNmt2M1dYNS11 + NjVRclJYY0RGaE1uQ0NuQ1ZTNFRmUzdybl9GNjJHNExWY2tjb2ZBR3hrNlpWWUd2UzNvNEJaWV9k + UE9nUjhxWmZ5b0oxY3MxUXcxU2ltcVp0aXc3X3NDMnU3cG1lbmNYclQ3V3RDaW01SnRLSmx3czJX + Q08tclRSRlVmLVRRYlNSeGxjTUs2bEtHQy1yc0MxN1ViakxpOWZMTnJpWVY1YUg4OFBHbV9uSmc9 encrypted_secret: !!binary | - Z0FBQUFBQmZjelVCcUx0SEFvN3RiUWRPQUJzQzJBVEp2STEyVDJMTUZxT2xzRVZsN2VackJOWnhK - RE9JbUxuODNReE01VzB1QkM0dlNSQnlVMEFDZFpISmRNTVRUSHRJUFE9PQ== + Z0FBQUFBQmZkSmN3NElENTVtVlpuRmZqblN6RXladi1JOWJtMlowQWFFQnZXbl9oZ19OakhWeVFi + SDh3bldubnRQcm43STcwVi1KZ2ppWW1vbWpvV0RiZnBLTWVlc3EwdWc9PQ== recipient_hash: b779ae6e encryption_algorithm: rsautl signature: !!binary | - eTkzb19jb0ZXU1JCcHFCdzZ2U1VPNld1YVpXZk1OY0wzMl9SSzFEdnM5Sk5iM2VxN3BiTmk3T2du - akswdF83ZUtZdW1Ia2dEN1BaaEhFRWl2NnpTbXpNQWhDcTJIZlY5Q1Jyc0ZNc1Q1M0FoWjNVUl9B - R2RzY0c5SDllS1NoZ1lvR0dGSU1RaXhkSk95a1A0bjFLX0JrMnRRRnVFSE1vRUlmSDl1d1BGMHda - NTZPMXFWbXBWZHEwa0c4dDhTMWVBdjVlUHNORWVQTm5pd0swT0xKMTBRdzlEd0VGS0hPYWxIWk5H - d0w3VlFMeHpuZEk5S1F1NEE3NFZDUGtjSG8yZlNXU1lMQWxSTUJWN043aWpfT041eVRzN0ZEaVV1 - cjlyMGdXMllKaFVRMUhPNk9faFFYRENsU1pOWVpxNDJBLThlbzZSd2djVDJ2d3ZPcnkySTY0YnB5 - eFVKaUt2TUhuSExjVmV0WVZKTmlsZGtwbU9HdW9hcTF6QUw2a3BsMER3b2RBYlVLNmt5aW9Tdml3 - WmF4UGlMcUM2blVBeXdoU3c1MlNlVjhWcFY1QXlUemRBZ3plTWRzMFhxcjljVnNzU05pZ0U3OTJM - bzh0Z3kyek52bC1xV1k1djJBczNqd1M5dDd3SDY2UnpaQ1RRaW1uV1ByakZVRW9xbGNvYkM1SHRR - cVQwUUpuT3JNQ1djay1oREZNRUNMdTg2RHgzRlI2WHVKYkdBOHluZjkydDVJTm9BMFl3U3pjS0Jk - ejgySEtrM1lkV2FJM0U1dWwyLXhhUDk5WnBCVzRpd2ViaWJuUFFIVS1SYXNiUjdnQmgxYWZ1V3NK - U2J4OGdMblNoTGZKQmNQMHZwbjl6MFVUVE9Kakdxd2VRaUVHUHRJRmx6eHdoY2tBQktfS2dJWTA9 - timestamp: '1601385729.38' + eHR4RlJLMnBJV0NadWE1enNTWXNiRU9kdUZ2MDlXNXBMa0NRU3hsV2RITEpvSmg3R0JwYkxvSGNH + enBaY3VfRHdDYTJodU9zQWszbUJjeDRvdXFwSjgxV1dqR0U1RFR5MWhaMEdLTEd2TDhiZmVEMW1y + V1ZGd25ad0k4eHVOdHBBUTFTeTg5TmkzcjRlTmk3YVZkb1RMYWllb2wwVVhOcXNUdXlZRFBrczJP + UFpTc01rVW13ZDcyOWd2UmpCcW80V0ZSLXdYWDNUdUxlOWdZdklqREltdTQyWG9uN2JEclRXcHp1 + Y1pFenlaQ0ZtZUlpM2VkTno1c01BeWVkQVBWUmV2ZThJV2xoX3kxUlBZbjQ3NEx0Q3ZrX0N1ZVlM + NjljcGVJd0pWUHg4aHJva24wallCaUVQMlh6bjkyXy15cWYxbkNQc2tYSFQzZTJJaHBKYU9RN04z + TmdIVnJKLVFTb1lKS2ktQ3p3ODRxb3ZpUVktMFFDY0JGS1BRRFg2b3Y0VXA3Z1VZZ2ZqTU5LRjJh + Ql9td3VQNndtT0hPV2dCdWFvOUF3Q1dZMV9IREE1RU1tVW10aVlualJ1ZXdWTUNGYmhLNDJYeFJF + Nk9za2VtTDBhd1c2SWJXeGFjNTRFN0lGWUF0ckluckNCVk9aQTlpZ29WNkhWQ2h0NHZrTEFaNWFk + UTdOUm1CLUlZN2dWa2xBaFRhWFdIYkhWUUhIekFaVXFXRkhsS0w3OHNSeG1vSHpwUDkzS0wyRS1R + eEFzWWI3YXVmbmgtZXRNeVVmUFpVLVJrUExLUTJJQjhvVDBZTWJRWXRKX0JPbFc0WVFNTnVWeko4 + YUNhZjJVaXZTOGphSnl4bU1XV0pNNHBZa04xRVB0UFhPQ0YxU25nMlNmQnhKREhIX05jREhyZUE9 + timestamp: '1601476400.53' diff --git a/test/passwords/test b/test/passwords/test index cf61a65..eab7555 100644 --- a/test/passwords/test +++ b/test/passwords/test @@ -12,34 +12,34 @@ recipients: encrypted_secrets: E4:9E:31:9E:53:3C:91:C5:8F:A2:27:8C:DC:77:AE:9E:91:19:0E:6B: derived_key: !!binary | - VnB0ZTNOOFFrNlBERTU5NUlITjRQbmIwdTFuSWdIWHkwcm40X25qajNoUXZhOXNSNG1KTWhRMXBq - eXRuQVpTMGFnRG5zdHAzb0t1Nm5lalZ5ZUdvRjZ2SGQ5WlBrWXFyYU45UTVXUm95VEhaXzhDMXVi - YWZBY1h1MkU3Z25fblk0WUlXcFBKNWdEMVpXOHl4QktWbU5xVl9wNnlVdGVtTVNQN2U0cnUweVA1 - UWozdk9ZVEo5SVNUdVFHUTBNRHhrS3c3U0NZT2NMY0tpXzBxMS1RdHh2bnpfaG9GM2xkVGdEelZo - S2xZY04yUC1nbFNQQWxheWQ5TmZKZ2NCdUowelpEMm5STEU0bGFjdWRPMlBYd2FyejJRczBMMHhI - LURQbkIzTi1Ic0s5cGJzRzZYWWdYY3cyNlNXdkh4Q3NEeU9yWWMyZk1XblFDa0NaeGM5SlctcXdm - aEJXc09DUXFOQmRMdENHNmN4OEJfT1gzVG5NTG9CRWN1TjF3X2JqQXdIdzJ1OVZYbUp3OWV2OURt - bWJfanZMVjBjdWY5OEVKZFdTNF9VcG0tME1hZ3Jfb2FSdkhwV0NjNWs3dzVmeE5wRWFyVjZtNnNm - Zi1nSmJqMDl3TENScXBmUlk5bHFmX0hWanhkbGxhOUJsbGxvTTQwTm8zbmxUUFpnZTRkSXhlcldF - eXlCeHJDX0MyWUlIMVRjeTF0OVc2RHl5SlVKbEUzSVQ3czQyR0NRQjJlbDdRczdwVFU1czNtNFVw - YnF4dV9xZUpmNTkzZU1TN2kyTkJzUkowV0F0cy1DamlwSjZmR2U4STdlVVJRaU1EaElzeFp5ZnFD - c3VCUDhYS2p1WlB4dFdHRlh6RjFoM0NoSHF5OTk2Wmw2YlI0UDVvLXZvNWU4U0x1TmNWcG1TWEk9 + Qm1zM2tjOXhXTlhoNWFDSmgxc0dxTVBMQWpZdjE5OS1RVS13aHpYdjVOdGplOEJUUkJsNzFvVWYy + Q05aOTlaMWVxa0dSNmFROHEyMmRxbEszZzZQVnA5VEM1Wll2ZEtzNkx3d3dnS2ZQWkl4RU1UWXJR + eGFoT2FfQ2xoekpIV3JPaFlYSlVEM0Vrc19QN25HTmNGcWVaSlY0MlpPbGE0bUFsWlhsMWFmWnVL + MDY2bzVJRnRKbTR0cW1rQlhzUjlHSEs1dmpFSVo2SXJMbFFxX044bEkzcGQtVEl5UVVzRTdTNTBl + QzFpN25xQWdtYm1RSVpSeVM1a0c0MHVtQkt1RzlWaWhBNW90cldfVHp5cHVmZ19acFpzaW53TzBi + bGczd19UQ1RfcWlpVDZaQnF3Ymt0YzVRRWNvcW5Vbmt6S1BRLU8tc3czYWFObGNySUlaWG5jUDg3 + dHRRYkh5aDMzUXlpSU5MRDMtN1BJanFaZFFuR3ZVa0pRcHRPcWNOUTlIV3g2d1BsMVowQzRfRnFy + R2QxX3N1SXRYdmJxQlpYZUJENXhwNEVwUnMtRmlIamNDVXoxSndsV2VuTThsVnduNm94bjU2ZFhu + dVZtVnV0dW44aXJrTU04elZaVkpXTVZ5SXY5VW8zRDNLMnRoeVprQUxOaDMwMHBWbGxKVGpjb1VC + NW81c1FCRXE4TlE0UVhlclo0Wmk1VmtBLUhETFlObHJod0FVZjM5RXFza2lfd2tvR1JuMUZ1MTlX + R0QtaFVaNExwWVV3OGU1T3pJWW56eUZVRjNNWk1kMFYyN2cwTGV2U01sczZGN1JIbTNpd2swWm5j + TW5BeHk2UXNLa28tNm9BVGZQa1hLUVd5SF80M3NPb2U4cC1NV3pXTkhiRm95S1lRYzBpSTJwMEE9 encrypted_secret: !!binary | - Z0FBQUFBQmZjelQtVHBGR3c3RzdSMUp3TUFUMkhGd29uZE1HRVNudTBMWHVjNi1wNEJOZjZmeFlj - a2o4ajNmcXltNmp2dlVaRENUU092QVBsRkJ3NVY0Y3dBYm5lLTh3bmc9PQ== + Z0FBQUFBQmZkSmN0NjcycDBybHhFOWlHN3JMRWFCOE9DVzlLZDdiU1l6OUt2MU9UTnIyU3ZnU3oz + c0t3ZW1vSjhnQXFOaHpqZDRIQ1I2amtOQkIwZEhYUE1UdmpIM0RlUlE9PQ== recipient_hash: 63b96030 encryption_algorithm: rsautl signature: !!binary | - VmhGaVlJZ0pNODZyR200M1ViVmdNODFVWXZ4U2g2UUdia0hyVmRMOUFqU2NvdmJwRlIwd0dRcXNS - NmZ4UVlzNm1wR2wzamJ2dFFVTTdtdFhnR2VCeDdERE9mZTNnY2tubXotRkpBa2Vmd3hOSHVyT1Jr - UXdPWFZvc3NBNUlVLWxHYXhnRk4xZGp2VW9kaTd2Wk9uZjhOWXRHeTdnUTJEQ0RlSTZzRUJ1R0Z2 - TmRhRkNOZG5CaUY5dGFKcDJ3cUxUSzZ0RHZJWXQ1MzF5OURSVEtQMmVWQW5DcGhIZDktS0g2Zmhk - clRwQXV0bEVJd09STk13Zkt3NnFucmNlOGY2ZUNaS215Qk5XdVdwWXBpZWRrZVRsYlp1MVhGSnR3 - Y2NhNXpiWnlmaW1EYkU1Q25BRnJxX0k0aWNBaXNEVWx4YVFGWHE3QTlFX3dzWUJrcXZINmUxcTFf - d0o1UXVVOWpDZFBDM0dYaXR6RXRFa25FTEN1R0FaTmdvUmt5SU9RRnEzbE14Nk80TkRFWlZaYmtq - RTlsLUpuTXdTNXp2d1JGdG5kVTY0YklVaUtXbkVKSzQ2MnpxdFRidmEyYTVhTHpWcEZtRE1IM1NX - UThtZGhFend5UnhqZ1dRNGczNEtKR2t0TXJpRHY3ZmRJQVJDbjQ1UDQ0d3lTQm9USE9hVDVkSEVF - dzA2bEp2Zmo4d3k3VlpvdjJOVkRWX3hzVjItN29MNWpnSEhDN1lLU09GNWJMMXFibkdIa2VxS2JF - V2xoZkdtejV4c1pWSFIxS2NCeHBiZ2NyZkRjVXU1X1Q4d0I1STdHTHpLYURETnFrUTRzUTZ6ZTI0 - aVFyMkQzY3dNeC1EUGgtZTF2cTdRZFZRME1wQ2x4c0lxaTYzcUdscmQ2QmtudzNBX2djVHNEbGc9 - timestamp: '1601385726.72' + VWxNRFJ0bFgzQ3NJV2JtMjRlbGNaSWdHbUl5eVQtRmlfZFlBVHB1TXBMal9KZm9FVHZxbGpyS3Ny + azlDSWdYZldnM1MzakFRcUdSeXhIMGp3aWZZRUVHVU1vclVUUWJyV3JPT1VLZS1SRTFySWIwODJs + aVBoZ1BVQmE3amxBbVpnbGNpS1oxMGRfUzVyV0hHdW9zSmpQMkNsS24yOWkwR2lZWktSOTFmdUxE + dnR6ZlNSR3FRc25ZalFTaElxNFFxcmFVZFh3MXM4SmlVRjQzRDVSYUNOdkJXMnQ0OS1RcWRBendk + SlhrSkdXTGdhYUNqdGFCM2ZkaTlHN1o0X2ZJMno2cExqSEpDS1lqTkc1Q3ZVaWphc2ZkQ1RlQW41 + RGF0eXhkcC1rWmZJbVlqRUNacnBCS2V4Xy1kWndlN1A5MldnZkl1MGE1Zlc5cExBSjVyX3BiRi1x + clZkZENVQnVaWkxrWDh4UHFaemhlZTlGai1mRU1MNkUxRjI2ajM0Ri1ZbUV3Z3o2LVUwV3E5S0lR + VklCdHZjLWYwanJzS1hRSW1vRHE3aU5USHdCMG1CeHNSZGUtYnpNbmJNc0hCTjlkNi1zYUlwVXFl + a2tlZVhNYWVGazhtaHl4YUMtVDZEVEtkaGZZeDJvNVVsaEhpNWhiQzdpLWNvNFB6ci02aWFVUWZ0 + ejd4VDVlZ05MZ2x6SFBTa2JzQWM4cXlZRlBkaEJLVXk1UW5JbWhKQlV3SUVwbkZPajl6S1JqOU1S + Ny1qS3JVWFJ3d2hxY2J2SUhWRU9rNC04Qm5Ya01RXzF6NHVsWnhKY25aaXlkb3dJSWY0S2pPcU4z + S25LcUlXck0tbzlaRHVuMXZMWTM5V1o2c0RCOGVHREJMTC1mQ1RfbVBTc01jOGtKMFpUYWxsekk9 + timestamp: '1601476398.04'