You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2010/11/11 16:59:46 UTC
svn commit: r1033975 - in /qpid/trunk/qpid/python/qpid: messaging/address.py
tests/messaging/address.py
Author: rhs
Date: Thu Nov 11 15:59:45 2010
New Revision: 1033975
URL: http://svn.apache.org/viewvc?rev=1033975&view=rev
Log:
added address parser support for None
Modified:
qpid/trunk/qpid/python/qpid/messaging/address.py
qpid/trunk/qpid/python/qpid/tests/messaging/address.py
Modified: qpid/trunk/qpid/python/qpid/messaging/address.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging/address.py?rev=1033975&r1=1033974&r2=1033975&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/messaging/address.py (original)
+++ qpid/trunk/qpid/python/qpid/messaging/address.py Thu Nov 11 15:59:45 2010
@@ -33,6 +33,7 @@ COMMA = l.define("COMMA", r",")
NUMBER = l.define("NUMBER", r'[+-]?[0-9]*\.?[0-9]+')
TRUE = l.define("TRUE", r'True')
FALSE = l.define("FALSE", r'False')
+NONE = l.define("NONE", r'None')
ID = l.define("ID", r'[a-zA-Z_](?:[a-zA-Z0-9_-]*[a-zA-Z0-9_])?')
STRING = l.define("STRING", r""""(?:[^\\"]|\\.)*"|'(?:[^\\']|\\.)*'""")
ESC = l.define("ESC", r"\\[^ux]|\\x[0-9a-fA-F][0-9a-fA-F]|\\u[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]")
@@ -65,6 +66,8 @@ def tok2obj(tok):
return True
elif tok.type == FALSE:
return False
+ elif tok.type == NONE:
+ return None
else:
return tok.value
@@ -133,7 +136,7 @@ class AddressParser(Parser):
return (key, val)
def value(self):
- if self.matches(NUMBER, STRING, ID, TRUE, FALSE):
+ if self.matches(NUMBER, STRING, ID, TRUE, FALSE, NONE):
return tok2obj(self.eat())
elif self.matches(LBRACE):
return self.map()
Modified: qpid/trunk/qpid/python/qpid/tests/messaging/address.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/tests/messaging/address.py?rev=1033975&r1=1033974&r2=1033975&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/tests/messaging/address.py (original)
+++ qpid/trunk/qpid/python/qpid/tests/messaging/address.py Thu Nov 11 15:59:45 2010
@@ -19,8 +19,8 @@
from qpid.tests import Test
-from qpid.messaging.address import lex, parse, ParseError, EOF, ID, NUMBER, SYM, WSPACE, \
- LEXER
+from qpid.messaging.address import lex, parse, ParseError, EOF, ID, NONE, \
+ NUMBER, SYM, WSPACE, LEXER
from qpid.lexer import Token
from qpid.harness import Skipped
from qpid.tests.parser import ParserBase
@@ -149,6 +149,9 @@ class AddressTests(ParserBase, Test):
def testNegativeNum(self):
self.lex("-3", NUMBER)
+ def testNone(self):
+ self.lex("None", NONE)
+
def testHash(self):
self.valid("foo/bar.#", "foo", "bar.#")
@@ -166,6 +169,10 @@ class AddressTests(ParserBase, Test):
self.valid("name/subject; {key: value,}", "name", "subject",
{"key": "value"})
+ def testOptionsNone(self):
+ self.valid("name/subject; {key: None}", "name", "subject",
+ {"key": None})
+
def testSemiSubject(self):
self.valid("foo.bar/'baz.qux;moo:arf'; {key: value}",
"foo.bar", "baz.qux;moo:arf", {"key": "value"})
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org