Set limit on migration

This commit is contained in:
Antonio J. Delgado 2024-11-11 09:11:58 +02:00
parent a4b6c35784
commit f621440116

View file

@ -696,10 +696,12 @@ class NcPasswordClient:
'''Delete a passwords folder'''
print(json.dumps(self.nc.delete_passwords_folder(name), indent=2))
def migrate_pass(self):
def migrate_pass(self, limit=-1):
'''Migrate password store to Nextcloud pass'''
store = passpy.store.Store()
count = 0
for item in store.find(''):
if limit > -1 and limit > count:
obj = {
"label": os.path.basename(item),
}
@ -720,6 +722,7 @@ class NcPasswordClient:
if field != '' and value != '':
obj[field] = value
print(json.dumps(self.nc.create_password(obj), indent=2))
count += 1
def _init_log(self):
''' Initialize log object '''
@ -864,11 +867,12 @@ def delete_passwords_folder(ctx, name):
ctx.obj['NcPasswordClient'].delete_passwords_folder(name)
@cli.command()
@click.option('--limit', '-l', default=-1, help='Maximun number of passwords to migrate. -1 for unlimited.')
@click_config_file.configuration_option()
@click.pass_context
def migrate_pass(ctx):
def migrate_pass(ctx, limit):
'''Migrate password store passwords to Nextcloud Passwords'''
ctx.obj['NcPasswordClient'].migrate_pass()
ctx.obj['NcPasswordClient'].migrate_pass(limit)
if __name__ == "__main__":
cli(obj={})