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 os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from voussoirkit import pathclass
|
||||||
from voussoirkit import pipeable
|
from voussoirkit import pipeable
|
||||||
|
from voussoirkit import spinal
|
||||||
|
|
||||||
@pipeable.ctrlc_return1
|
@pipeable.ctrlc_return1
|
||||||
def inputrename_argparse(args):
|
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
|
prev = None
|
||||||
for file in files:
|
for file in files:
|
||||||
print(file)
|
print(file.relative_path)
|
||||||
this = input('> ')
|
this = input('> ')
|
||||||
if this == '' and prev is not None:
|
if this == '' and prev is not None:
|
||||||
this = prev
|
this = prev
|
||||||
if this:
|
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
|
prev = this
|
||||||
|
|
||||||
def main(argv):
|
def main(argv):
|
||||||
parser = argparse.ArgumentParser(description=__doc__)
|
parser = argparse.ArgumentParser(description=__doc__)
|
||||||
|
|
||||||
parser.add_argument('keyword')
|
parser.add_argument('keyword')
|
||||||
|
parser.add_argument('--recurse', dest='recurse', action='store_true')
|
||||||
parser.set_defaults(func=inputrename_argparse)
|
parser.set_defaults(func=inputrename_argparse)
|
||||||
|
|
||||||
args = parser.parse_args(argv)
|
args = parser.parse_args(argv)
|
||||||
|
|
Loading…
Reference in a new issue