def get_item(krname, item): return gk.item_get_info_full_sync(krname, item, gk.ItemInfoFlags.SECRET)
def main(args): cache_file = os.path.join(BaseDirectory.save_cache_path('password_reset'), 'old-passwords.gpg') old_password = getpass.getpass("Enter the password we are looking for: ") new_password = getpass.getpass("Enter the new password: "******"Failed to fetch keyrings") return 1 update_count = 0 for keyring in keyrings: result, items = GnomeKeyring.list_item_ids_sync(keyring) # Read contents of the keyring if result != GnomeKeyring.Result.OK: print("Failed to fetch keyring items from {}".format(keyring)) continue # Iterate over all keys for itemid in items: result, info = GnomeKeyring.item_get_info_full_sync( keyring, itemid, GnomeKeyring.ItemInfoFlags.SECRET) if result != GnomeKeyring.Result.OK: print("Failed to get item {} from keyring {}".format( itemid, keyring)) continue if check_password(info, passwords, new_password=new_password): result = GnomeKeyring.item_set_info_sync(keyring, itemid, info) if result != GnomeKeyring.Result.OK: print("Failed to save item {} in keyring {}".format( info.get_display_name(), keyring)) else: update_count += 1 print("Updated {} keys".format(update_count))