Add breplace.
This commit is contained in:
parent
a41c843cb9
commit
0ec072c797
1 changed files with 46 additions and 0 deletions
|
@ -30,6 +30,44 @@ def find_photodb():
|
||||||
|
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
|
|
||||||
|
def tag_breplace_argparse(args):
|
||||||
|
photodb = find_photodb()
|
||||||
|
renames = []
|
||||||
|
tag_names = photodb.get_all_tag_names()
|
||||||
|
all_names = tag_names.union(photodb.get_all_synonyms())
|
||||||
|
for tag_name in tag_names:
|
||||||
|
if args.regex:
|
||||||
|
new_name = re.sub(args.replace_from, args.replace_to, tag_name)
|
||||||
|
else:
|
||||||
|
new_name = tag_name.replace(args.replace_from, args.replace_to)
|
||||||
|
new_name = photodb.normalize_tagname(new_name)
|
||||||
|
if new_name == tag_name:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if new_name in all_names:
|
||||||
|
raise etiquette.exceptions.TagExists(new_name)
|
||||||
|
|
||||||
|
if args.set_synonym:
|
||||||
|
printline = f'{tag_name} -> {new_name}+{tag_name}'
|
||||||
|
else:
|
||||||
|
printline = f'{tag_name} -> {new_name}'
|
||||||
|
|
||||||
|
renames.append((tag_name, new_name, printline))
|
||||||
|
|
||||||
|
if not args.autoyes:
|
||||||
|
for (tag_name, new_name, printline) in renames:
|
||||||
|
print(printline)
|
||||||
|
if not getpermission.getpermission('Ok?', must_pick=True):
|
||||||
|
return
|
||||||
|
|
||||||
|
for (tag_name, new_name, printline) in renames:
|
||||||
|
print(printline)
|
||||||
|
tag = photodb.get_tag(tag_name)
|
||||||
|
tag.rename(new_name)
|
||||||
|
if args.set_synonym:
|
||||||
|
tag.add_synonym(tag_name)
|
||||||
|
photodb.commit()
|
||||||
|
|
||||||
def digest_directory_argparse(args):
|
def digest_directory_argparse(args):
|
||||||
directory = pathclass.Path(args.directory)
|
directory = pathclass.Path(args.directory)
|
||||||
photodb = find_photodb()
|
photodb = find_photodb()
|
||||||
|
@ -102,6 +140,14 @@ def main(argv):
|
||||||
continue
|
continue
|
||||||
mode.append(arg)
|
mode.append(arg)
|
||||||
|
|
||||||
|
p_tag_breplace = subparsers.add_parser('tag_breplace')
|
||||||
|
p_tag_breplace.add_argument('replace_from')
|
||||||
|
p_tag_breplace.add_argument('replace_to')
|
||||||
|
p_tag_breplace.add_argument('--set_synonym', '--set-synonym', dest='set_synonym', action='store_true')
|
||||||
|
p_tag_breplace.add_argument('--regex', dest='regex', action='store_true')
|
||||||
|
p_tag_breplace.add_argument('--yes', dest='autoyes', action='store_true')
|
||||||
|
p_tag_breplace.set_defaults(func=tag_breplace_argparse)
|
||||||
|
|
||||||
p_digest = subparsers.add_parser('digest', aliases=['digest_directory', 'digest-directory'])
|
p_digest = subparsers.add_parser('digest', aliases=['digest_directory', 'digest-directory'])
|
||||||
p_digest.add_argument('directory')
|
p_digest.add_argument('directory')
|
||||||
p_digest.add_argument('--no_albums', '--no-albums', dest='make_albums', action='store_false', default=True)
|
p_digest.add_argument('--no_albums', '--no-albums', dest='make_albums', action='store_false', default=True)
|
||||||
|
|
Loading…
Reference in a new issue