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

Unified Diff: third_party/libxslt/python/libxsl.py

Issue 1193533007: Upgrade to libxml 2.9.2 and libxslt 1.1.28 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove suppressions, have landed in blink now Created 5 years, 6 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
Index: third_party/libxslt/python/libxsl.py
diff --git a/third_party/libxslt/python/libxsl.py b/third_party/libxslt/python/libxsl.py
new file mode 100644
index 0000000000000000000000000000000000000000..e8e86e42ac2f2dc50c076dad11706f5f7e3c0358
--- /dev/null
+++ b/third_party/libxslt/python/libxsl.py
@@ -0,0 +1,129 @@
+#
+# Both libxml2mod and libxsltmod have a dependancy on libxml2.so
+# and they should share the same module, try to convince the python
+# loader to work in that mode if feasible
+#
+import sys
+if not hasattr(sys,'getdlopenflags'):
+ import libxml2mod
+ import libxsltmod
+ import libxml2
+else:
+ try:
+ from dl import RTLD_GLOBAL, RTLD_NOW
+ except ImportError:
+ RTLD_GLOBAL = -1
+ RTLD_NOW = -1
+ try:
+ import os
+ osname = os.uname()[0]
+ if osname == 'Linux' or osname == 'SunOS':
+ RTLD_GLOBAL = 0x00100
+ RTLD_NOW = 0x00002
+ elif osname == 'Darwin':
+ RTLD_GLOBAL = 0x8
+ RTLD_NOW = 0x2
+ #
+ # is there a better method ?
+ #
+# else:
+# print "libxslt could not guess RTLD_GLOBAL and RTLD_NOW " + \
+# "on this platform: %s" % (osname)
+ except:
+ pass
+# print "libxslt could not guess RTLD_GLOBAL and RTLD_NOW " + \
+# "on this platform: %s" % (osname)
+ except:
+ RTLD_GLOBAL = -1
+ RTLD_NOW = -1
+
+ if RTLD_GLOBAL != -1 and RTLD_NOW != -1:
+ try:
+ flags = sys.getdlopenflags()
+ sys.setdlopenflags(RTLD_GLOBAL | RTLD_NOW)
+ try:
+ import libxml2mod
+ import libxsltmod
+ import libxml2
+ finally:
+ sys.setdlopenflags(flags)
+ except:
+ import libxml2mod
+ import libxsltmod
+ import libxml2
+ else:
+ import libxml2mod
+ import libxsltmod
+ import libxml2
+
+
+class transformCtxtBase:
+ def __init__(self, _obj=None):
+ if _obj != None:
+ self._o = _obj;
+ return
+ self._o = None
+ def __hash__(self):
+ v = libxsltmod.xsltGetTransformContextHashCode(self._o)
+ return v
+ def __eq__(self, other):
+ if other == None:
+ return 0
+ v = libxsltmod.xsltCompareTransformContextsEqual(self._o, other._o)
+ return v
+
+class stylesheetBase:
+ def __init__(self, _obj=None):
+ if _obj != None:
+ self._o = _obj;
+ return
+ self._o = None
+ def __hash__(self):
+ v = libxsltmod.xsltGetStylesheetHashCode(self._o)
+ return v
+ def __eq__(self, other):
+ if other == None:
+ return 0
+ v = libxsltmod.xsltCompareStylesheetsEqual(self._o, other._o)
+ return v
+
+class extensionModule:
+ def _styleInit(self, style, URI):
+ return self.styleInit(stylesheet(_obj=style), URI)
+
+ def _styleShutdown(self, style, URI, data):
+ return self.styleShutdown(stylesheet(_obj=style), URI, data)
+
+ def _ctxtInit(self, ctxt, URI):
+ return self.ctxtInit(transformCtxt(_obj=ctxt), URI)
+
+ def _ctxtShutdown(self, ctxt, URI, data):
+ return self.ctxtShutdown(transformCtxt(_obj=ctxt), URI, data)
+
+ def styleInit(self, style, URI):
+ """Callback function when used in a newly compiled stylesheet,
+ the return value is passed in subsequent calls"""
+ pass
+
+ def styleShutdown(self, style, URI, data):
+ """Callback function when a stylesheet using it is destroyed"""
+ pass
+
+ def ctxtInit(self, ctxt, URI):
+ """Callback function when used in a new transformation process,
+ the return value is passed in subsequent calls"""
+ pass
+
+ def ctxtShutdown(self, ctxt, URI, data):
+ """Callback function when a transformation using it finishes"""
+ pass
+
+def cleanup():
+ """Cleanup all libxslt and libxml2 memory allocated"""
+ libxsltmod.xsltPythonCleanup()
+ libxml2.cleanupParser()
+
+#
+# Everything below this point is automatically generated
+#
+

Powered by Google App Engine
This is Rietveld 408576698