Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Unified Diff: third_party/tlslite/tlslite/utils/xmltools.py

Issue 210323002: Update tlslite to 0.4.6. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Executable bit and --similarity=80 Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/tlslite/tlslite/utils/win32prng.c ('k') | third_party/tlslite/tlslite/verifierdb.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/tlslite/tlslite/utils/xmltools.py
diff --git a/third_party/tlslite/tlslite/utils/xmltools.py b/third_party/tlslite/tlslite/utils/xmltools.py
deleted file mode 100644
index 06f2e43071c64a1adbeeea29454dd8f5f29d620e..0000000000000000000000000000000000000000
--- a/third_party/tlslite/tlslite/utils/xmltools.py
+++ /dev/null
@@ -1,201 +0,0 @@
-"""Helper functions for XML.
-
-This module has misc. helper functions for working with XML DOM nodes."""
-
-import re
-from compat import *
-
-import os
-if os.name != "java":
- from xml.dom import minidom
- from xml.sax import saxutils
-
- def parseDocument(s):
- return minidom.parseString(s)
-else:
- from javax.xml.parsers import *
- import java
-
- builder = DocumentBuilderFactory.newInstance().newDocumentBuilder()
-
- def parseDocument(s):
- stream = java.io.ByteArrayInputStream(java.lang.String(s).getBytes())
- return builder.parse(stream)
-
-def parseAndStripWhitespace(s):
- try:
- element = parseDocument(s).documentElement
- except BaseException, e:
- raise SyntaxError(str(e))
- stripWhitespace(element)
- return element
-
-#Goes through a DOM tree and removes whitespace besides child elements,
-#as long as this whitespace is correctly tab-ified
-def stripWhitespace(element, tab=0):
- element.normalize()
-
- lastSpacer = "\n" + ("\t"*tab)
- spacer = lastSpacer + "\t"
-
- #Zero children aren't allowed (i.e. <empty/>)
- #This makes writing output simpler, and matches Canonical XML
- if element.childNodes.length==0: #DON'T DO len(element.childNodes) - doesn't work in Jython
- raise SyntaxError("Empty XML elements not allowed")
-
- #If there's a single child, it must be text context
- if element.childNodes.length==1:
- if element.firstChild.nodeType == element.firstChild.TEXT_NODE:
- #If it's an empty element, remove
- if element.firstChild.data == lastSpacer:
- element.removeChild(element.firstChild)
- return
- #If not text content, give an error
- elif element.firstChild.nodeType == element.firstChild.ELEMENT_NODE:
- raise SyntaxError("Bad whitespace under '%s'" % element.tagName)
- else:
- raise SyntaxError("Unexpected node type in XML document")
-
- #Otherwise there's multiple child element
- child = element.firstChild
- while child:
- if child.nodeType == child.ELEMENT_NODE:
- stripWhitespace(child, tab+1)
- child = child.nextSibling
- elif child.nodeType == child.TEXT_NODE:
- if child == element.lastChild:
- if child.data != lastSpacer:
- raise SyntaxError("Bad whitespace under '%s'" % element.tagName)
- elif child.data != spacer:
- raise SyntaxError("Bad whitespace under '%s'" % element.tagName)
- next = child.nextSibling
- element.removeChild(child)
- child = next
- else:
- raise SyntaxError("Unexpected node type in XML document")
-
-
-def checkName(element, name):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Missing element: '%s'" % name)
-
- if name == None:
- return
-
- if element.tagName != name:
- raise SyntaxError("Wrong element name: should be '%s', is '%s'" % (name, element.tagName))
-
-def getChild(element, index, name=None):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in getChild()")
-
- child = element.childNodes.item(index)
- if child == None:
- raise SyntaxError("Missing child: '%s'" % name)
- checkName(child, name)
- return child
-
-def getChildIter(element, index):
- class ChildIter:
- def __init__(self, element, index):
- self.element = element
- self.index = index
-
- def next(self):
- if self.index < len(self.element.childNodes):
- retVal = self.element.childNodes.item(self.index)
- self.index += 1
- else:
- retVal = None
- return retVal
-
- def checkEnd(self):
- if self.index != len(self.element.childNodes):
- raise SyntaxError("Too many elements under: '%s'" % self.element.tagName)
- return ChildIter(element, index)
-
-def getChildOrNone(element, index):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in getChild()")
- child = element.childNodes.item(index)
- return child
-
-def getLastChild(element, index, name=None):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in getLastChild()")
-
- child = element.childNodes.item(index)
- if child == None:
- raise SyntaxError("Missing child: '%s'" % name)
- if child != element.lastChild:
- raise SyntaxError("Too many elements under: '%s'" % element.tagName)
- checkName(child, name)
- return child
-
-#Regular expressions for syntax-checking attribute and element content
-nsRegEx = "http://trevp.net/cryptoID\Z"
-cryptoIDRegEx = "([a-km-z3-9]{5}\.){3}[a-km-z3-9]{5}\Z"
-urlRegEx = "http(s)?://.{1,100}\Z"
-sha1Base64RegEx = "[A-Za-z0-9+/]{27}=\Z"
-base64RegEx = "[A-Za-z0-9+/]+={0,4}\Z"
-certsListRegEx = "(0)?(1)?(2)?(3)?(4)?(5)?(6)?(7)?(8)?(9)?\Z"
-keyRegEx = "[A-Z]\Z"
-keysListRegEx = "(A)?(B)?(C)?(D)?(E)?(F)?(G)?(H)?(I)?(J)?(K)?(L)?(M)?(N)?(O)?(P)?(Q)?(R)?(S)?(T)?(U)?(V)?(W)?(X)?(Y)?(Z)?\Z"
-dateTimeRegEx = "\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\dZ\Z"
-shortStringRegEx = ".{1,100}\Z"
-exprRegEx = "[a-zA-Z0-9 ,()]{1,200}\Z"
-notAfterDeltaRegEx = "0|([1-9][0-9]{0,8})\Z" #A number from 0 to (1 billion)-1
-booleanRegEx = "(true)|(false)"
-
-def getReqAttribute(element, attrName, regEx=""):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in getReqAttribute()")
-
- value = element.getAttribute(attrName)
- if not value:
- raise SyntaxError("Missing Attribute: " + attrName)
- if not re.match(regEx, value):
- raise SyntaxError("Bad Attribute Value for '%s': '%s' " % (attrName, value))
- element.removeAttribute(attrName)
- return str(value) #de-unicode it; this is needed for bsddb, for example
-
-def getAttribute(element, attrName, regEx=""):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in getAttribute()")
-
- value = element.getAttribute(attrName)
- if value:
- if not re.match(regEx, value):
- raise SyntaxError("Bad Attribute Value for '%s': '%s' " % (attrName, value))
- element.removeAttribute(attrName)
- return str(value) #de-unicode it; this is needed for bsddb, for example
-
-def checkNoMoreAttributes(element):
- if element.nodeType != element.ELEMENT_NODE:
- raise SyntaxError("Wrong node type in checkNoMoreAttributes()")
-
- if element.attributes.length!=0:
- raise SyntaxError("Extra attributes on '%s'" % element.tagName)
-
-def getText(element, regEx=""):
- textNode = element.firstChild
- if textNode == None:
- raise SyntaxError("Empty element '%s'" % element.tagName)
- if textNode.nodeType != textNode.TEXT_NODE:
- raise SyntaxError("Non-text node: '%s'" % element.tagName)
- if not re.match(regEx, textNode.data):
- raise SyntaxError("Bad Text Value for '%s': '%s' " % (element.tagName, textNode.data))
- return str(textNode.data) #de-unicode it; this is needed for bsddb, for example
-
-#Function for adding tabs to a string
-def indent(s, steps, ch="\t"):
- tabs = ch*steps
- if s[-1] != "\n":
- s = tabs + s.replace("\n", "\n"+tabs)
- else:
- s = tabs + s.replace("\n", "\n"+tabs)
- s = s[ : -len(tabs)]
- return s
-
-def escape(s):
- return saxutils.escape(s)
« no previous file with comments | « third_party/tlslite/tlslite/utils/win32prng.c ('k') | third_party/tlslite/tlslite/verifierdb.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698