def typeAndConstraintsToNroff(column):
type = column.type.toEnglish(escapeNroffLiteral)
- constraints = column.type.constraintsToEnglish(escapeNroffLiteral)
+ constraints = column.type.constraintsToEnglish(escapeNroffLiteral,
+ textToNroff)
if constraints:
type += ", " + constraints
if column.unique:
nameNroff = "%s : %s" % (name, key)
if column.type.value:
- typeNroff = "optional %s" % column.type.value.toEnglish()
+ typeNroff = "optional %s" % column.type.value.toEnglish(
+ escapeNroffLiteral)
if (column.type.value.type == ovs.db.types.StringType and
type_.type == ovs.db.types.BooleanType):
# This is a little more explicit and helpful than
else:
typeNroff += ", containing a %s" % type_english
constraints = (
- type_.constraintsToEnglish(escapeNroffLiteral))
+ type_.constraintsToEnglish(escapeNroffLiteral,
+ textToNroff))
if constraints:
typeNroff += ", %s" % constraints
else:
-# Copyright (c) 2009, 2010, 2011 Nicira Networks
+# Copyright (c) 2009, 2010, 2011, 2012 Nicira Networks
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
else:
return self.type.to_string()
- def constraintsToEnglish(self, escapeLiteral=returnUnchanged):
+ def constraintsToEnglish(self, escapeLiteral=returnUnchanged,
+ escapeNumber=returnUnchanged):
if self.enum:
literals = [value.toEnglish(escapeLiteral)
for value in self.enum.values]
literals[-1])
elif self.min is not None and self.max is not None:
if self.type == IntegerType:
- english = 'in range %s to %s' % (commafy(self.min),
- commafy(self.max))
+ english = 'in range %s to %s' % (
+ escapeNumber(commafy(self.min)),
+ escapeNumber(commafy(self.max)))
else:
- english = 'in range %g to %g' % (self.min, self.max)
+ english = 'in range %s to %s' % (
+ escapeNumber("%g" % self.min),
+ escapeNumber("%g" % self.max))
elif self.min is not None:
if self.type == IntegerType:
- english = 'at least %s' % commafy(self.min)
+ english = 'at least %s' % escapeNumber(commafy(self.min))
else:
- english = 'at least %g' % self.min
+ english = 'at least %s' % escapeNumber("%g" % self.min)
elif self.max is not None:
if self.type == IntegerType:
- english = 'at most %s' % commafy(self.max)
+ english = 'at most %s' % escapeNumber(commafy(self.max))
else:
- english = 'at most %g' % self.max
+ english = 'at most %s' % escapeNumber("%g" % self.max)
elif self.min_length != 0 and self.max_length != sys.maxint:
if self.min_length == self.max_length:
english = ('exactly %s characters long'
plural = keyName + "s"
return "set of %s%s" % (quantity, plural)
- def constraintsToEnglish(self, escapeLiteral=returnUnchanged):
+ def constraintsToEnglish(self, escapeLiteral=returnUnchanged,
+ escapeNumber=returnUnchanged):
constraints = []
- keyConstraints = self.key.constraintsToEnglish(escapeLiteral)
+ keyConstraints = self.key.constraintsToEnglish(escapeLiteral,
+ escapeNumber)
if keyConstraints:
if self.value:
constraints.append('key %s' % keyConstraints)
constraints.append(keyConstraints)
if self.value:
- valueConstraints = self.value.constraintsToEnglish(escapeLiteral)
+ valueConstraints = self.value.constraintsToEnglish(escapeLiteral,
+ escapeNumber)
if valueConstraints:
constraints.append('value %s' % valueConstraints)