diff options
author | hut <hut@lavabit.com> | 2010-10-12 17:14:47 +0200 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-10-12 17:14:47 +0200 |
commit | 21152271e74d00a458349e05278833a0bd077c2a (patch) | |
tree | 371fac8f3816ae3738b2541e11233612292935ff /ranger | |
parent | b1b7864c75069456730bf1ca51975e8aa95afce8 (diff) | |
download | ranger-21152271e74d00a458349e05278833a0bd077c2a.tar.gz |
core.main: extended --copy-config option
Diffstat (limited to 'ranger')
-rw-r--r-- | ranger/core/fm.py | 20 | ||||
-rw-r--r-- | ranger/core/helper.py | 5 | ||||
-rw-r--r-- | ranger/core/main.py | 4 | ||||
-rw-r--r-- | ranger/help/invocation.py | 1 |
4 files changed, 20 insertions, 10 deletions
diff --git a/ranger/core/fm.py b/ranger/core/fm.py index fce6b3b2..37f79554 100644 --- a/ranger/core/fm.py +++ b/ranger/core/fm.py @@ -122,7 +122,7 @@ class FM(Actions, SignalDispatcher): self.input_blocked = False return self.input_blocked - def copy_config_files(self): + def copy_config_files(self, which): if ranger.arg.clean: sys.stderr.write("refusing to copy config files in clean mode\n") return @@ -136,11 +136,19 @@ class FM(Actions, SignalDispatcher): shutil.copy(self.relpath(_from), self.confpath(to)) except Exception as e: sys.stderr.write(" ERROR: %s\n" % str(e)) - copy('defaults/apps.py', 'apps.py') - copy('defaults/commands.py', 'commands.py') - copy('defaults/keys.py', 'keys.py') - copy('defaults/options.py', 'options.py') - copy('data/scope.sh', 'scope.sh') + if which == 'apps' or which == 'all': + copy('defaults/apps.py', 'apps.py') + if which == 'commands' or which == 'all': + copy('defaults/commands.py', 'commands.py') + if which == 'keys' or which == 'all': + copy('defaults/keys.py', 'keys.py') + if which == 'options' or which == 'all': + copy('defaults/options.py', 'options.py') + if which == 'scope' or which == 'all': + copy('data/scope.sh', 'scope.sh') + if which not in \ + ('all', 'apps', 'scope', 'commands', 'keys', 'options'): + sys.stderr.write("Unknown config file `%s'\n" % which) def confpath(self, *paths): """returns the path relative to rangers configuration directory""" diff --git a/ranger/core/helper.py b/ranger/core/helper.py index aa55b25b..3c018192 100644 --- a/ranger/core/helper.py +++ b/ranger/core/helper.py @@ -51,8 +51,9 @@ def parse_arguments(): help="don't touch/require any config files. ") parser.add_option('--fail-if-run', action='store_true', # COMPAT help=SUPPRESS_HELP) - parser.add_option('--copy-config', action='store_true', # COMPAT - help="copy the default configs to the local config directory") + parser.add_option('--copy-config', type='string', metavar='which', + help="copy the default configs to the local config directory. " + "Possible values: all, apps, commands, keys, options, scope") parser.add_option('--fail-unless-cd', action='store_true', help="experimental: return the exit code 1 if ranger is" \ "used to run a file (with `ranger filename`)") diff --git a/ranger/core/main.py b/ranger/core/main.py index f5aba47e..36067a5d 100644 --- a/ranger/core/main.py +++ b/ranger/core/main.py @@ -42,9 +42,9 @@ def main(): os.environ['SHELL'] = 'bash' ranger.arg = arg = parse_arguments() - if arg.copy_config: + if arg.copy_config is not None: fm = FM() - fm.copy_config_files() + fm.copy_config_files(arg.copy_config) return 0 SettingsAware._setup(clean=arg.clean) diff --git a/ranger/help/invocation.py b/ranger/help/invocation.py index cad2a2b2..688308f1 100644 --- a/ranger/help/invocation.py +++ b/ranger/help/invocation.py @@ -47,6 +47,7 @@ command line. --copy-config Create copies of the default configuration files in your local configuration directory. Existing ones will not be overwritten. + Possible values: all, apps, commands, keys, options, scope. --fail-unless-cd Return the exit code 1 if ranger is used to run a file, for example |