Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/lxml/etree.h
811 views
1
/* Generated by Cython 0.29.21 */
2
3
#ifndef __PYX_HAVE__lxml__etree
4
#define __PYX_HAVE__lxml__etree
5
6
#include "Python.h"
7
struct LxmlDocument;
8
struct LxmlElement;
9
struct LxmlElementTree;
10
struct LxmlElementTagMatcher;
11
struct LxmlElementIterator;
12
struct LxmlElementBase;
13
struct LxmlElementClassLookup;
14
struct LxmlFallbackElementClassLookup;
15
16
/* "lxml/etree.pyx":322
17
*
18
* # type of a function that steps from node to node
19
* ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<<
20
*
21
*
22
*/
23
typedef xmlNode *(*_node_to_node_function)(xmlNode *);
24
25
/* "lxml/etree.pyx":338
26
* @cython.final
27
* @cython.freelist(8)
28
* cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: # <<<<<<<<<<<<<<
29
* u"""Internal base class to reference a libxml document.
30
*
31
*/
32
struct LxmlDocument {
33
PyObject_HEAD
34
struct __pyx_vtabstruct_4lxml_5etree__Document *__pyx_vtab;
35
int _ns_counter;
36
PyObject *_prefix_tail;
37
xmlDoc *_c_doc;
38
struct __pyx_obj_4lxml_5etree__BaseParser *_parser;
39
};
40
41
/* "lxml/etree.pyx":687
42
*
43
* @cython.no_gc_clear
44
* cdef public class _Element [ type LxmlElementType, object LxmlElement ]: # <<<<<<<<<<<<<<
45
* u"""Element class.
46
*
47
*/
48
struct LxmlElement {
49
PyObject_HEAD
50
struct LxmlDocument *_doc;
51
xmlNode *_c_node;
52
PyObject *_tag;
53
};
54
55
/* "lxml/etree.pyx":1854
56
*
57
*
58
* cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<<
59
* object LxmlElementTree ]:
60
* cdef _Document _doc
61
*/
62
struct LxmlElementTree {
63
PyObject_HEAD
64
struct __pyx_vtabstruct_4lxml_5etree__ElementTree *__pyx_vtab;
65
struct LxmlDocument *_doc;
66
struct LxmlElement *_context_node;
67
};
68
69
/* "lxml/etree.pyx":2598
70
*
71
*
72
* cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<<
73
* type LxmlElementTagMatcherType ]:
74
* """
75
*/
76
struct LxmlElementTagMatcher {
77
PyObject_HEAD
78
struct __pyx_vtabstruct_4lxml_5etree__ElementTagMatcher *__pyx_vtab;
79
PyObject *_pystrings;
80
int _node_type;
81
char *_href;
82
char *_name;
83
};
84
85
/* "lxml/etree.pyx":2629
86
* self._name = NULL
87
*
88
* cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<<
89
* object LxmlElementIterator, type LxmlElementIteratorType ]:
90
* """
91
*/
92
struct LxmlElementIterator {
93
struct LxmlElementTagMatcher __pyx_base;
94
struct LxmlElement *_node;
95
_node_to_node_function _next_element;
96
};
97
98
/* "src/lxml/classlookup.pxi":6
99
* # Custom Element classes
100
*
101
* cdef public class ElementBase(_Element) [ type LxmlElementBaseType, # <<<<<<<<<<<<<<
102
* object LxmlElementBase ]:
103
* u"""ElementBase(*children, attrib=None, nsmap=None, **_extra)
104
*/
105
struct LxmlElementBase {
106
struct LxmlElement __pyx_base;
107
};
108
109
/* "src/lxml/classlookup.pxi":210
110
* # Element class lookup
111
*
112
* ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) # <<<<<<<<<<<<<<
113
*
114
* # class to store element class lookup functions
115
*/
116
typedef PyObject *(*_element_class_lookup_function)(PyObject *, struct LxmlDocument *, xmlNode *);
117
118
/* "src/lxml/classlookup.pxi":213
119
*
120
* # class to store element class lookup functions
121
* cdef public class ElementClassLookup [ type LxmlElementClassLookupType, # <<<<<<<<<<<<<<
122
* object LxmlElementClassLookup ]:
123
* u"""ElementClassLookup(self)
124
*/
125
struct LxmlElementClassLookup {
126
PyObject_HEAD
127
_element_class_lookup_function _lookup_function;
128
};
129
130
/* "src/lxml/classlookup.pxi":221
131
*
132
*
133
* cdef public class FallbackElementClassLookup(ElementClassLookup) \ # <<<<<<<<<<<<<<
134
* [ type LxmlFallbackElementClassLookupType,
135
* object LxmlFallbackElementClassLookup ]:
136
*/
137
struct LxmlFallbackElementClassLookup {
138
struct LxmlElementClassLookup __pyx_base;
139
struct __pyx_vtabstruct_4lxml_5etree_FallbackElementClassLookup *__pyx_vtab;
140
struct LxmlElementClassLookup *fallback;
141
_element_class_lookup_function _fallback_function;
142
};
143
144
#ifndef __PYX_HAVE_API__lxml__etree
145
146
#ifndef __PYX_EXTERN_C
147
#ifdef __cplusplus
148
#define __PYX_EXTERN_C extern "C"
149
#else
150
#define __PYX_EXTERN_C extern
151
#endif
152
#endif
153
154
#ifndef DL_IMPORT
155
#define DL_IMPORT(_T) _T
156
#endif
157
158
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlDocumentType;
159
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementType;
160
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTreeType;
161
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTagMatcherType;
162
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementIteratorType;
163
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementBaseType;
164
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementClassLookupType;
165
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlFallbackElementClassLookupType;
166
167
__PYX_EXTERN_C struct LxmlElement *deepcopyNodeToDocument(struct LxmlDocument *, xmlNode *);
168
__PYX_EXTERN_C struct LxmlElementTree *elementTreeFactory(struct LxmlElement *);
169
__PYX_EXTERN_C struct LxmlElementTree *newElementTree(struct LxmlElement *, PyObject *);
170
__PYX_EXTERN_C struct LxmlElementTree *adoptExternalDocument(xmlDoc *, PyObject *, int);
171
__PYX_EXTERN_C struct LxmlElement *elementFactory(struct LxmlDocument *, xmlNode *);
172
__PYX_EXTERN_C struct LxmlElement *makeElement(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
173
__PYX_EXTERN_C struct LxmlElement *makeSubElement(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
174
__PYX_EXTERN_C void setElementClassLookupFunction(_element_class_lookup_function, PyObject *);
175
__PYX_EXTERN_C PyObject *lookupDefaultElementClass(PyObject *, PyObject *, xmlNode *);
176
__PYX_EXTERN_C PyObject *lookupNamespaceElementClass(PyObject *, PyObject *, xmlNode *);
177
__PYX_EXTERN_C PyObject *callLookupFallback(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *);
178
__PYX_EXTERN_C int tagMatches(xmlNode *, const xmlChar *, const xmlChar *);
179
__PYX_EXTERN_C struct LxmlDocument *documentOrRaise(PyObject *);
180
__PYX_EXTERN_C struct LxmlElement *rootNodeOrRaise(PyObject *);
181
__PYX_EXTERN_C int hasText(xmlNode *);
182
__PYX_EXTERN_C int hasTail(xmlNode *);
183
__PYX_EXTERN_C PyObject *textOf(xmlNode *);
184
__PYX_EXTERN_C PyObject *tailOf(xmlNode *);
185
__PYX_EXTERN_C int setNodeText(xmlNode *, PyObject *);
186
__PYX_EXTERN_C int setTailText(xmlNode *, PyObject *);
187
__PYX_EXTERN_C PyObject *attributeValue(xmlNode *, xmlAttr *);
188
__PYX_EXTERN_C PyObject *attributeValueFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
189
__PYX_EXTERN_C PyObject *getAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
190
__PYX_EXTERN_C PyObject *iterattributes(struct LxmlElement *, int);
191
__PYX_EXTERN_C PyObject *collectAttributes(xmlNode *, int);
192
__PYX_EXTERN_C int setAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
193
__PYX_EXTERN_C int delAttribute(struct LxmlElement *, PyObject *);
194
__PYX_EXTERN_C int delAttributeFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
195
__PYX_EXTERN_C int hasChild(xmlNode *);
196
__PYX_EXTERN_C xmlNode *findChild(xmlNode *, Py_ssize_t);
197
__PYX_EXTERN_C xmlNode *findChildForwards(xmlNode *, Py_ssize_t);
198
__PYX_EXTERN_C xmlNode *findChildBackwards(xmlNode *, Py_ssize_t);
199
__PYX_EXTERN_C xmlNode *nextElement(xmlNode *);
200
__PYX_EXTERN_C xmlNode *previousElement(xmlNode *);
201
__PYX_EXTERN_C void appendChild(struct LxmlElement *, struct LxmlElement *);
202
__PYX_EXTERN_C int appendChildToElement(struct LxmlElement *, struct LxmlElement *);
203
__PYX_EXTERN_C PyObject *pyunicode(const xmlChar *);
204
__PYX_EXTERN_C PyObject *utf8(PyObject *);
205
__PYX_EXTERN_C PyObject *getNsTag(PyObject *);
206
__PYX_EXTERN_C PyObject *getNsTagWithEmptyNs(PyObject *);
207
__PYX_EXTERN_C PyObject *namespacedName(xmlNode *);
208
__PYX_EXTERN_C PyObject *namespacedNameFromNsName(const xmlChar *, const xmlChar *);
209
__PYX_EXTERN_C void iteratorStoreNext(struct LxmlElementIterator *, struct LxmlElement *);
210
__PYX_EXTERN_C void initTagMatch(struct LxmlElementTagMatcher *, PyObject *);
211
__PYX_EXTERN_C xmlNs *findOrBuildNodeNsPrefix(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *);
212
213
#endif /* !__PYX_HAVE_API__lxml__etree */
214
215
/* WARNING: the interface of the module init function changed in CPython 3.5. */
216
/* It now returns a PyModuleDef instance instead of a PyModule instance. */
217
218
#if PY_MAJOR_VERSION < 3
219
PyMODINIT_FUNC initetree(void);
220
#else
221
PyMODINIT_FUNC PyInit_etree(void);
222
#endif
223
224
#endif /* !__PYX_HAVE__lxml__etree */
225
226