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

Side by Side 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 unified diff | Download patch
OLDNEW
(Empty)
1 #
2 # Both libxml2mod and libxsltmod have a dependancy on libxml2.so
3 # and they should share the same module, try to convince the python
4 # loader to work in that mode if feasible
5 #
6 import sys
7 if not hasattr(sys,'getdlopenflags'):
8 import libxml2mod
9 import libxsltmod
10 import libxml2
11 else:
12 try:
13 from dl import RTLD_GLOBAL, RTLD_NOW
14 except ImportError:
15 RTLD_GLOBAL = -1
16 RTLD_NOW = -1
17 try:
18 import os
19 osname = os.uname()[0]
20 if osname == 'Linux' or osname == 'SunOS':
21 RTLD_GLOBAL = 0x00100
22 RTLD_NOW = 0x00002
23 elif osname == 'Darwin':
24 RTLD_GLOBAL = 0x8
25 RTLD_NOW = 0x2
26 #
27 # is there a better method ?
28 #
29 # else:
30 # print "libxslt could not guess RTLD_GLOBAL and RTLD_NOW " + \
31 # "on this platform: %s" % (osname)
32 except:
33 pass
34 # print "libxslt could not guess RTLD_GLOBAL and RTLD_NOW " + \
35 # "on this platform: %s" % (osname)
36 except:
37 RTLD_GLOBAL = -1
38 RTLD_NOW = -1
39
40 if RTLD_GLOBAL != -1 and RTLD_NOW != -1:
41 try:
42 flags = sys.getdlopenflags()
43 sys.setdlopenflags(RTLD_GLOBAL | RTLD_NOW)
44 try:
45 import libxml2mod
46 import libxsltmod
47 import libxml2
48 finally:
49 sys.setdlopenflags(flags)
50 except:
51 import libxml2mod
52 import libxsltmod
53 import libxml2
54 else:
55 import libxml2mod
56 import libxsltmod
57 import libxml2
58
59
60 class transformCtxtBase:
61 def __init__(self, _obj=None):
62 if _obj != None:
63 self._o = _obj;
64 return
65 self._o = None
66 def __hash__(self):
67 v = libxsltmod.xsltGetTransformContextHashCode(self._o)
68 return v
69 def __eq__(self, other):
70 if other == None:
71 return 0
72 v = libxsltmod.xsltCompareTransformContextsEqual(self._o, other._o)
73 return v
74
75 class stylesheetBase:
76 def __init__(self, _obj=None):
77 if _obj != None:
78 self._o = _obj;
79 return
80 self._o = None
81 def __hash__(self):
82 v = libxsltmod.xsltGetStylesheetHashCode(self._o)
83 return v
84 def __eq__(self, other):
85 if other == None:
86 return 0
87 v = libxsltmod.xsltCompareStylesheetsEqual(self._o, other._o)
88 return v
89
90 class extensionModule:
91 def _styleInit(self, style, URI):
92 return self.styleInit(stylesheet(_obj=style), URI)
93
94 def _styleShutdown(self, style, URI, data):
95 return self.styleShutdown(stylesheet(_obj=style), URI, data)
96
97 def _ctxtInit(self, ctxt, URI):
98 return self.ctxtInit(transformCtxt(_obj=ctxt), URI)
99
100 def _ctxtShutdown(self, ctxt, URI, data):
101 return self.ctxtShutdown(transformCtxt(_obj=ctxt), URI, data)
102
103 def styleInit(self, style, URI):
104 """Callback function when used in a newly compiled stylesheet,
105 the return value is passed in subsequent calls"""
106 pass
107
108 def styleShutdown(self, style, URI, data):
109 """Callback function when a stylesheet using it is destroyed"""
110 pass
111
112 def ctxtInit(self, ctxt, URI):
113 """Callback function when used in a new transformation process,
114 the return value is passed in subsequent calls"""
115 pass
116
117 def ctxtShutdown(self, ctxt, URI, data):
118 """Callback function when a transformation using it finishes"""
119 pass
120
121 def cleanup():
122 """Cleanup all libxslt and libxml2 memory allocated"""
123 libxsltmod.xsltPythonCleanup()
124 libxml2.cleanupParser()
125
126 #
127 # Everything below this point is automatically generated
128 #
129
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698