Add --recurse to inputrename.
This commit is contained in:
parent
e9908fae3d
commit
8abb8dd66e
1 changed files with 11 additions and 3 deletions
|
@ -5,25 +5,33 @@ import argparse
|
|||
import os
|
||||
import sys
|
||||
|
||||
from voussoirkit import pathclass
|
||||
from voussoirkit import pipeable
|
||||
from voussoirkit import spinal
|
||||
|
||||
@pipeable.ctrlc_return1
|
||||
def inputrename_argparse(args):
|
||||
files = (file for file in os.listdir() if args.keyword in file)
|
||||
if args.recurse:
|
||||
files = (file for file in spinal.walk_generator('.') if args.keyword in file.basename)
|
||||
else:
|
||||
files = (file for file in pathclass.cwd().listdir() if args.keyword in file)
|
||||
prev = None
|
||||
for file in files:
|
||||
print(file)
|
||||
print(file.relative_path)
|
||||
this = input('> ')
|
||||
if this == '' and prev is not None:
|
||||
this = prev
|
||||
if this:
|
||||
os.rename(file, file.replace(args.keyword, this))
|
||||
new_name = file.basename.replace(args.keyword, this)
|
||||
new_name = file.parent.with_child(new_name)
|
||||
os.rename(file.absolute_path, new_name.absolute_path)
|
||||
prev = this
|
||||
|
||||
def main(argv):
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
|
||||
parser.add_argument('keyword')
|
||||
parser.add_argument('--recurse', dest='recurse', action='store_true')
|
||||
parser.set_defaults(func=inputrename_argparse)
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
|
|
Loading…
Reference in a new issue