summaryrefslogtreecommitdiff
path: root/trunk/src/examples/configParse.py
diff options
context:
space:
mode:
authorptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b>2016-08-09 21:50:19 +0000
committerptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b>2016-08-09 21:50:19 +0000
commit0b19bb71ba5a4afa84e673a8239935426fa0db23 (patch)
treee9abae9c616fdfdfebd9a8a0931d8f21824f30d2 /trunk/src/examples/configParse.py
parentb2c3ade75384efe76b8774b607e17fe98fab92ef (diff)
downloadpyparsing_2.1.6.tar.gz
Remove incorrect tag directorypyparsing_2.1.6
git-svn-id: svn://svn.code.sf.net/p/pyparsing/code/tags/pyparsing_2.1.6@405 9bf210a0-9d2d-494c-87cf-cfb32e7dff7b
Diffstat (limited to 'trunk/src/examples/configParse.py')
-rw-r--r--trunk/src/examples/configParse.py72
1 files changed, 0 insertions, 72 deletions
diff --git a/trunk/src/examples/configParse.py b/trunk/src/examples/configParse.py
deleted file mode 100644
index 769249c..0000000
--- a/trunk/src/examples/configParse.py
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# configparse.py
-#
-# an example of using the parsing module to be able to process a .INI configuration file
-#
-# Copyright (c) 2003, Paul McGuire
-#
-
-from pyparsing import \
- Literal, Word, ZeroOrMore, Group, Dict, Optional, \
- printables, ParseException, restOfLine, empty
-import pprint
-
-
-inibnf = None
-def inifile_BNF():
- global inibnf
-
- if not inibnf:
-
- # punctuation
- lbrack = Literal("[").suppress()
- rbrack = Literal("]").suppress()
- equals = Literal("=").suppress()
- semi = Literal(";")
-
- comment = semi + Optional( restOfLine )
-
- nonrbrack = "".join( [ c for c in printables if c != "]" ] ) + " \t"
- nonequals = "".join( [ c for c in printables if c != "=" ] ) + " \t"
-
- sectionDef = lbrack + Word( nonrbrack ) + rbrack
- keyDef = ~lbrack + Word( nonequals ) + equals + empty + restOfLine
- # strip any leading or trailing blanks from key
- def stripKey(tokens):
- tokens[0] = tokens[0].strip()
- keyDef.setParseAction(stripKey)
-
- # using Dict will allow retrieval of named data fields as attributes of the parsed results
- inibnf = Dict( ZeroOrMore( Group( sectionDef + Dict( ZeroOrMore( Group( keyDef ) ) ) ) ) )
-
- inibnf.ignore( comment )
-
- return inibnf
-
-
-pp = pprint.PrettyPrinter(2)
-
-def test( strng ):
- print(strng)
- try:
- iniFile = open(strng)
- iniData = "".join( iniFile.readlines() )
- bnf = inifile_BNF()
- tokens = bnf.parseString( iniData )
- pp.pprint( tokens.asList() )
-
- except ParseException as err:
- print(err.line)
- print(" "*(err.column-1) + "^")
- print(err)
-
- iniFile.close()
- print()
- return tokens
-
-if __name__ == "__main__":
- ini = test("setup.ini")
- print("ini['Startup']['modemid'] =", ini['Startup']['modemid'])
- print("ini.Startup =", ini.Startup)
- print("ini.Startup.modemid =", ini.Startup.modemid)
-