X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=scripts%2Frm.py;h=fca4dca6dc4c2ac84689f31dea4e3ad228fdcab8;hb=dbc98b293abfbea2105efde4c066223e73ae63a6;hp=8523b4397ed3b67b9b19b5c833d7b3c761a7729c;hpb=a29e92233cdbed6237e01046c56a1d3d27ab195d;p=ppu.git diff --git a/scripts/rm.py b/scripts/rm.py index 8523b43..fca4dca 100755 --- a/scripts/rm.py +++ b/scripts/rm.py @@ -12,6 +12,8 @@ except NameError: # Python 3 if __name__ == '__main__': parser = argparse.ArgumentParser(description='Remove files/directories') + parser.add_argument('-f', '--force', action='store_true', + help='force (ignore non-existing files and errors)') parser.add_argument('-r', '--recursive', action='store_true', help='remove directories recursively') parser.add_argument('names', nargs='+', @@ -19,8 +21,10 @@ if __name__ == '__main__': args = parser.parse_args() for name in args.names: + if args.force and not os.path.exists(name): + continue is_dir = os.path.isdir(name) - if not os.access(name, os.W_OK): + if not args.force and not os.access(name, os.W_OK): if is_dir: ftype = 'directory' else: @@ -41,7 +45,7 @@ if __name__ == '__main__': continue if is_dir: if args.recursive: - shutil.rmtree(name) + shutil.rmtree(name, args.force) else: os.rmdir(name) else: