aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/config.py
diff options
context:
space:
mode:
authorGianluca Montecchi <gian@grys.it>2009-10-01 23:39:28 +0200
committerGianluca Montecchi <gian@grys.it>2009-10-01 23:39:28 +0200
commited4a943875d81732bfa3127eb252c2db2e3588f4 (patch)
tree1fa7da00b01b8807adac3f3e3231fc8a78b3a6c7 /libbe/config.py
parente42729af0efc1a4c064e8875e728f9c3c1694a1d (diff)
downloadbugseverywhere-ed4a943875d81732bfa3127eb252c2db2e3588f4.tar.gz
Merged with head branch
Diffstat (limited to 'libbe/config.py')
-rw-r--r--libbe/config.py84
1 files changed, 0 insertions, 84 deletions
diff --git a/libbe/config.py b/libbe/config.py
index 7f600a5..e69de29 100644
--- a/libbe/config.py
+++ b/libbe/config.py
@@ -1,84 +0,0 @@
-# Copyright (C) 2005-2009 Aaron Bentley and Panometrics, Inc.
-# W. Trevor King <wking@drexel.edu>
-# <abentley@panoramicfeedback.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-import ConfigParser
-import codecs
-import locale
-import os.path
-import sys
-import doctest
-
-default_encoding = sys.getfilesystemencoding() or locale.getpreferredencoding()
-
-def path():
- """Return the path to the per-user config file"""
- return os.path.expanduser("~/.bugs_everywhere")
-
-def set_val(name, value, section="DEFAULT", encoding=None):
- """Set a value in the per-user config file
-
- :param name: The name of the value to set
- :param value: The new value to set (or None to delete the value)
- :param section: The section to store the name/value in
- """
- if encoding == None:
- encoding = default_encoding
- config = ConfigParser.ConfigParser()
- if os.path.exists(path()) == False: # touch file or config
- open(path(), "w").close() # read chokes on missing file
- f = codecs.open(path(), "r", encoding)
- config.readfp(f, path())
- f.close()
- if value is not None:
- config.set(section, name, value)
- else:
- config.remove_option(section, name)
- f = codecs.open(path(), "w", encoding)
- config.write(f)
- f.close()
-
-def get_val(name, section="DEFAULT", default=None, encoding=None):
- """
- Get a value from the per-user config file
-
- :param name: The name of the value to get
- :section: The section that the name is in
- :return: The value, or None
- >>> get_val("junk") is None
- True
- >>> set_val("junk", "random")
- >>> get_val("junk")
- u'random'
- >>> set_val("junk", None)
- >>> get_val("junk") is None
- True
- """
- if os.path.exists(path()):
- if encoding == None:
- encoding = default_encoding
- config = ConfigParser.ConfigParser()
- f = codecs.open(path(), "r", encoding)
- config.readfp(f, path())
- f.close()
- try:
- return config.get(section, name)
- except ConfigParser.NoOptionError:
- return default
- else:
- return default
-
-suite = doctest.DocTestSuite()