[U-Boot] PATCH 4/4] patman: Handle searching of patman config

patman shouts when it couldn't find a $(HOME)/.config/patman file. Also, it couldn't create patch files without the above config file. Handle it in a sane way by creating a new one for the user.
Signed-off-by: Vikram Narayanan vikram186@gmail.com Cc: Simon Glass sjg@chromium.org --- tools/patman/settings.py | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/tools/patman/settings.py b/tools/patman/settings.py index 049c709..ea8661b 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -61,6 +61,22 @@ def ReadGitAliases(fname):
fd.close()
+def CreatePatmanConfigFile(config_fname): + name = raw_input("Enter name: ") + email = raw_input("Enter email: ") + + try: + FILE = open(config_fname,"w") + except IOError: + print "Couldn't create patman config file\n" + + FILE.write("[alias]\nme: ") + FILE.write(name); + FILE.write(" <"); + FILE.write(email); + FILE.write(">") + FILE.close(); + def Setup(config_fname=''): """Set up the settings module by reading config files.
@@ -70,8 +86,14 @@ def Setup(config_fname=''): settings = ConfigParser.SafeConfigParser() if config_fname == '': config_fname = '%s/.config/patman' % os.getenv('HOME') - if config_fname: - settings.read(config_fname) + + exists = os.path.exists(config_fname) + + if exists == False: + print "No config file found under ~/.config/\nCreating one...\n" + CreatePatmanConfigFile(config_fname) + + settings.read(config_fname)
for name, value in settings.items('alias'): alias[name] = value.split(',')

Hi Vikram,
On Thu, Apr 26, 2012 at 3:45 AM, Vikram Narayanan vikram186@gmail.comwrote:
patman shouts when it couldn't find a $(HOME)/.config/patman file. Also, it couldn't create patch files without the above config file. Handle it in a sane way by creating a new one for the user.
The title of this patch is misisng a [.
Signed-off-by: Vikram Narayanan vikram186@gmail.com Cc: Simon Glass sjg@chromium.org
tools/patman/settings.py | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/tools/patman/settings.py b/tools/patman/settings.py index 049c709..ea8661b 100644 --- a/tools/patman/settings.py +++ b/tools/patman/settings.py @@ -61,6 +61,22 @@ def ReadGitAliases(fname):
fd.close()
+def CreatePatmanConfigFile(config_fname):
- name = raw_input("Enter name: ")
- email = raw_input("Enter email: ")
This is fine, but for bonus points I wonder if you can pick these up from ~/.gitconfig by default, and use something like this:
readline.set_startup_hook(lambda: readline.insert_text('default email'))
(you would need 'import readline' somewhere, and the function to read the bits from .gitconfig should probably go in gitutil)
Anyway that's just an idea, feel free to ignore.
- try:
FILE = open(config_fname,"w")
Low case variable please
Also please use single quote unless you need double quote (that's the code style). And space after comma.
- except IOError:
print "Couldn't create patman config file\n"
I think you should return or except in here, otherwise you fall through and get an undefined variable.
- FILE.write("[alias]\nme: ")
- FILE.write(name);
- FILE.write(" <");
- FILE.write(email);
- FILE.write(">")
How about something like:
print '[alias]\nme: %s <%email>' % (name, email)
- FILE.close();
def Setup(config_fname=''): """Set up the settings module by reading config files.
@@ -70,8 +86,14 @@ def Setup(config_fname=''): settings = ConfigParser.SafeConfigParser() if config_fname == '': config_fname = '%s/.config/patman' % os.getenv('HOME')
- if config_fname:
settings.read(config_fname)
- exists = os.path.exists(config_fname)
- if exists == False:
if not os.path.exists(config_fname):
print "No config file found under ~/.config/\nCreating one...\n"
CreatePatmanConfigFile(config_fname)
settings.read(config_fname)
for name, value in settings.items('alias'): alias[name] = value.split(',')
-- 1.7.4.1
Regards, Simon
participants (2)
-
Simon Glass
-
Vikram Narayanan