purge: use opts.get()
Most commands use opts.get() to retrieve values for options
that may not be explicitly passed. purge wasn't.
This makes it easier to call purge() from 3rd party extensions.
--- a/hgext/purge.py Wed May 11 15:20:25 2016 +0000
+++ b/hgext/purge.py Mon May 16 14:21:39 2016 -0700
@@ -84,13 +84,13 @@
list of files that this program would delete, use the --print
option.
'''
- act = not opts['print']
+ act = not opts.get('print')
eol = '\n'
- if opts['print0']:
+ if opts.get('print0'):
eol = '\0'
act = False # --print0 implies --print
- removefiles = opts['files']
- removedirs = opts['dirs']
+ removefiles = opts.get('files')
+ removedirs = opts.get('dirs')
if not removefiles and not removedirs:
removefiles = True
removedirs = True
@@ -101,7 +101,7 @@
remove_func(repo.wjoin(name))
except OSError:
m = _('%s cannot be removed') % name
- if opts['abort_on_err']:
+ if opts.get('abort_on_err'):
raise error.Abort(m)
ui.warn(_('warning: %s\n') % m)
else:
@@ -111,7 +111,7 @@
if removedirs:
directories = []
match.explicitdir = match.traversedir = directories.append
- status = repo.status(match=match, ignored=opts['all'], unknown=True)
+ status = repo.status(match=match, ignored=opts.get('all'), unknown=True)
if removefiles:
for f in sorted(status.unknown + status.ignored):