Skip to content

Commit

Permalink
Remove --recursive
Browse files Browse the repository at this point in the history
This is dangerous in combination with --hidden-files (e.g. will descend into
.git!). Like -x, its effect can be achieved with find, ag, sift etc.
  • Loading branch information
rrthomas committed Aug 4, 2019
1 parent 2f49391 commit 753e84b
Showing 1 changed file with 5 additions and 24 deletions.
29 changes: 5 additions & 24 deletions rpl
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def chain_streams(streams, buffer_size=io.DEFAULT_BUFFER_SIZE):
def warn(message):
print("\nrpl: {}".format(message), file=sys.stderr)

def get_files(filenames, recurse, verbose, hidden_files):
def get_files(filenames, verbose, hidden_files):
"""Yield (filename, permissions) pairs."""
for filename in filenames:
try:
Expand All @@ -89,24 +89,9 @@ def get_files(filenames, recurse, verbose, hidden_files):
continue

if S_ISDIR(perms.st_mode):
if recurse:
if verbose:
warn("Scanning directory: {}".format(filename))

for f in os.listdir(filename):
if not hidden_files and f.startswith('.'):
if verbose:
warn("SKIPPING: {} (hidden)".format(
os.path.join(filename, f))
)
continue

yield from get_files([os.path.join(filename, f)],
recurse, verbose, hidden_files)
else:
if verbose:
warn("SKIPPING directory {}".format(filename))
continue
if verbose:
warn("SKIPPING directory {}".format(filename))
continue
elif S_ISREG(perms.st_mode):
yield filename, perms
else:
Expand Down Expand Up @@ -222,10 +207,6 @@ parser.add_argument("-s", "--dry-run",
action="store_true",
help="simulation mode")

parser.add_argument("-R", "--recursive",
action="store_true",
help="recurse into subdirectories")

parser.add_argument("-e", "--escape",
action="store_true",
help="expand escapes in old_string and new_string")
Expand Down Expand Up @@ -299,7 +280,7 @@ regex = re.compile(r"(" + regex_str + r")", re.I if args.ignore_case else 0)

total_files = 0
total_matches = 0
files = get_files(files, args.recursive, args.verbose, args.hidden_files)
files = get_files(files, args.verbose, args.hidden_files)
for filename, perms in files:
total_files += 1

Expand Down

0 comments on commit 753e84b

Please sign in to comment.