summaryrefslogtreecommitdiff
path: root/src/sexparse/config.py
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunk@stsci.edu>2014-05-08 23:43:58 -0400
committerJoseph Hunkeler <jhunk@stsci.edu>2014-05-08 23:43:58 -0400
commit186634b8f9039f09b30b24b3714329e17e40f68b (patch)
treec4dbf144a7e139f54a7a0cd0382166d339216470 /src/sexparse/config.py
parentb1576c3c691015463eeaac73fca29dd5367a08ba (diff)
downloadsexparse-master.tar.gz
Improved type-casting, parsing, etcHEADmaster
Diffstat (limited to 'src/sexparse/config.py')
-rw-r--r--src/sexparse/config.py27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/sexparse/config.py b/src/sexparse/config.py
index c4fc2ab..200af21 100644
--- a/src/sexparse/config.py
+++ b/src/sexparse/config.py
@@ -21,13 +21,15 @@
#(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
#SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import os
-import sexparse
+from sexparse.base import SexConfigBase
+from sexparse.functions import *
__all__ = ['SexConfig']
-class SexConfig(sexparse.SexConfigBase):
+
+class SexConfig(SexConfigBase):
def __init__(self, filename):
- sexparse.SexConfigBase.__init__(self, filename)
+ SexConfigBase.__init__(self, filename)
self.read()
def read(self):
@@ -36,12 +38,23 @@ class SexConfig(sexparse.SexConfigBase):
continue
comment_position = line.find(self.comment)
line = line[0:comment_position]
- keypairs = line.split()
- if not keypairs:
+ key = line[0:line.find(' ')]
+
+ if not key:
continue
- self.pairs[keypairs[0]] = keypairs[1:]
- if not keypairs:
+
+ item = line[line.find(' '):].split(',')
+
+ if not item:
continue
+
+ item = [ x.strip(' ') for x in item ]
+ item = [ convert_type(x) for x in item ]
+
+ if len(item) == 1:
+ item = item[0]
+
+ self.pairs[key] = item
def write(self, filename=None):
if filename is None: