aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Daniel Harding <dharding@gmail.com> 2012-06-05 21:34:05 +0100
committerGravatar Daniel Harding <dharding@gmail.com> 2012-06-05 21:34:05 +0100
commit63b6aae46eded35ea027105045bfa2ffcbca3738 (patch)
treef7b902827cc2471b8e84239b2d143ef08a3a45a5
parent3c3eb788fea256f6cb0f07eabab9cf94f427e2c1 (diff)
downloaddotfiles-63b6aae46eded35ea027105045bfa2ffcbca3738.tar.gz
dotfiles-63b6aae46eded35ea027105045bfa2ffcbca3738.tar.bz2
dotfiles-63b6aae46eded35ea027105045bfa2ffcbca3738.zip
More Python 3 fixes
cli.py was not Python 3-compatible. Added code to handle the ConfigParser -> configparser rename, as well as print becoming a function.
-rw-r--r--dotfiles/cli.py33
1 files changed, 18 insertions, 15 deletions
diff --git a/dotfiles/cli.py b/dotfiles/cli.py
index c14c0e8..00baf99 100644
--- a/dotfiles/cli.py
+++ b/dotfiles/cli.py
@@ -10,7 +10,10 @@ from __future__ import absolute_import
import os
from . import core
-import ConfigParser
+try:
+ import ConfigParser as configparser
+except ImportError:
+ import configparser
from optparse import OptionParser, OptionGroup
defaults = {
@@ -31,7 +34,7 @@ settings = {
def missing_default_repo():
"""Print a helpful message when the default repository is missing."""
- print """
+ print("""
If this is your first time running dotfiles, you must first create
a repository. By default, dotfiles will look for '{0}'.
Something like:
@@ -49,7 +52,7 @@ would look like:
repository = {0}
Type 'dotfiles -h' to see detailed usage information.""".format(
- defaults['repository'])
+ defaults['repository']))
def add_global_flags(parser):
@@ -122,12 +125,12 @@ def parse_args():
(opts, args) = parser.parse_args()
if opts.show_version:
- print 'dotfiles v%s' % core.__version__
+ print('dotfiles v%s' % core.__version__)
exit(0)
if not opts.action:
- print "Error: An action is required. Type 'dotfiles -h' to see " \
- "detailed usage information."
+ print("Error: An action is required. Type 'dotfiles -h' to see " \
+ "detailed usage information.")
exit(-1)
return (opts, args)
@@ -135,7 +138,7 @@ def parse_args():
def parse_config(config_file):
- parser = ConfigParser.SafeConfigParser()
+ parser = configparser.SafeConfigParser()
parser.read(config_file)
opts = {'repository': None,
@@ -146,17 +149,17 @@ def parse_config(config_file):
for entry in ('repository', 'prefix'):
try:
opts[entry] = parser.get('dotfiles', entry)
- except ConfigParser.NoOptionError:
+ except configparser.NoOptionError:
pass
- except ConfigParser.NoSectionError:
+ except configparser.NoSectionError:
break
for entry in ('ignore', 'externals'):
try:
opts[entry] = eval(parser.get('dotfiles', entry))
- except ConfigParser.NoOptionError:
+ except configparser.NoOptionError:
pass
- except ConfigParser.NoSectionError:
+ except configparser.NoSectionError:
break
return opts
@@ -171,11 +174,11 @@ def dispatch(dotfiles, action, force, args):
dotfiles.sync(force)
elif action == 'move':
if len(args) > 1:
- print "Error: Move cannot handle multiple targets."
+ print("Error: Move cannot handle multiple targets.")
exit(-1)
dotfiles.move(args[0])
else:
- print "Error: Something truly terrible has happened."
+ print("Error: Something truly terrible has happened.")
exit(-1)
@@ -190,8 +193,8 @@ def realpath(path):
def check_repository_exists():
if not os.path.exists(settings['repository']):
- print 'Error: Could not find dotfiles repository \"%s\"' % (
- settings['repository'])
+ print('Error: Could not find dotfiles repository \"%s\"' % (
+ settings['repository']))
if compare_path(settings['repository'], defaults['repository']):
missing_default_repo()
exit(-1)