• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 PyDoc_STRVAR(zipimport_zipimporter___init____doc__,
6 "zipimporter(archivepath, /)\n"
7 "--\n"
8 "\n"
9 "Create a new zipimporter instance.\n"
10 "\n"
11 "  archivepath\n"
12 "    A path-like object to a zipfile, or to a specific path inside\n"
13 "    a zipfile.\n"
14 "\n"
15 "\'archivepath\' must be a path-like object to a zipfile, or to a specific path\n"
16 "inside a zipfile. For example, it can be \'/tmp/myimport.zip\', or\n"
17 "\'/tmp/myimport.zip/mydirectory\', if mydirectory is a valid directory inside\n"
18 "the archive.\n"
19 "\n"
20 "\'ZipImportError\' is raised if \'archivepath\' doesn\'t point to a valid Zip\n"
21 "archive.\n"
22 "\n"
23 "The \'archive\' attribute of the zipimporter object contains the name of the\n"
24 "zipfile targeted.");
25 
26 static int
27 zipimport_zipimporter___init___impl(ZipImporter *self, PyObject *path);
28 
29 static int
zipimport_zipimporter___init__(PyObject * self,PyObject * args,PyObject * kwargs)30 zipimport_zipimporter___init__(PyObject *self, PyObject *args, PyObject *kwargs)
31 {
32     int return_value = -1;
33     PyObject *path;
34 
35     if ((Py_TYPE(self) == &ZipImporter_Type) &&
36         !_PyArg_NoKeywords("zipimporter", kwargs)) {
37         goto exit;
38     }
39     if (!PyArg_ParseTuple(args, "O&:zipimporter",
40         PyUnicode_FSDecoder, &path)) {
41         goto exit;
42     }
43     return_value = zipimport_zipimporter___init___impl((ZipImporter *)self, path);
44 
45 exit:
46     return return_value;
47 }
48 
49 PyDoc_STRVAR(zipimport_zipimporter_find_module__doc__,
50 "find_module($self, fullname, path=None, /)\n"
51 "--\n"
52 "\n"
53 "Search for a module specified by \'fullname\'.\n"
54 "\n"
55 "\'fullname\' must be the fully qualified (dotted) module name. It returns the\n"
56 "zipimporter instance itself if the module was found, or None if it wasn\'t.\n"
57 "The optional \'path\' argument is ignored -- it\'s there for compatibility\n"
58 "with the importer protocol.");
59 
60 #define ZIPIMPORT_ZIPIMPORTER_FIND_MODULE_METHODDEF    \
61     {"find_module", (PyCFunction)zipimport_zipimporter_find_module, METH_FASTCALL, zipimport_zipimporter_find_module__doc__},
62 
63 static PyObject *
64 zipimport_zipimporter_find_module_impl(ZipImporter *self, PyObject *fullname,
65                                        PyObject *path);
66 
67 static PyObject *
zipimport_zipimporter_find_module(ZipImporter * self,PyObject * const * args,Py_ssize_t nargs)68 zipimport_zipimporter_find_module(ZipImporter *self, PyObject *const *args, Py_ssize_t nargs)
69 {
70     PyObject *return_value = NULL;
71     PyObject *fullname;
72     PyObject *path = Py_None;
73 
74     if (!_PyArg_ParseStack(args, nargs, "U|O:find_module",
75         &fullname, &path)) {
76         goto exit;
77     }
78     return_value = zipimport_zipimporter_find_module_impl(self, fullname, path);
79 
80 exit:
81     return return_value;
82 }
83 
84 PyDoc_STRVAR(zipimport_zipimporter_find_loader__doc__,
85 "find_loader($self, fullname, path=None, /)\n"
86 "--\n"
87 "\n"
88 "Search for a module specified by \'fullname\'.\n"
89 "\n"
90 "\'fullname\' must be the fully qualified (dotted) module name. It returns the\n"
91 "zipimporter instance itself if the module was found, a string containing the\n"
92 "full path name if it\'s possibly a portion of a namespace package,\n"
93 "or None otherwise. The optional \'path\' argument is ignored -- it\'s\n"
94 "there for compatibility with the importer protocol.");
95 
96 #define ZIPIMPORT_ZIPIMPORTER_FIND_LOADER_METHODDEF    \
97     {"find_loader", (PyCFunction)zipimport_zipimporter_find_loader, METH_FASTCALL, zipimport_zipimporter_find_loader__doc__},
98 
99 static PyObject *
100 zipimport_zipimporter_find_loader_impl(ZipImporter *self, PyObject *fullname,
101                                        PyObject *path);
102 
103 static PyObject *
zipimport_zipimporter_find_loader(ZipImporter * self,PyObject * const * args,Py_ssize_t nargs)104 zipimport_zipimporter_find_loader(ZipImporter *self, PyObject *const *args, Py_ssize_t nargs)
105 {
106     PyObject *return_value = NULL;
107     PyObject *fullname;
108     PyObject *path = Py_None;
109 
110     if (!_PyArg_ParseStack(args, nargs, "U|O:find_loader",
111         &fullname, &path)) {
112         goto exit;
113     }
114     return_value = zipimport_zipimporter_find_loader_impl(self, fullname, path);
115 
116 exit:
117     return return_value;
118 }
119 
120 PyDoc_STRVAR(zipimport_zipimporter_load_module__doc__,
121 "load_module($self, fullname, /)\n"
122 "--\n"
123 "\n"
124 "Load the module specified by \'fullname\'.\n"
125 "\n"
126 "\'fullname\' must be the fully qualified (dotted) module name. It returns the\n"
127 "imported module, or raises ZipImportError if it wasn\'t found.");
128 
129 #define ZIPIMPORT_ZIPIMPORTER_LOAD_MODULE_METHODDEF    \
130     {"load_module", (PyCFunction)zipimport_zipimporter_load_module, METH_O, zipimport_zipimporter_load_module__doc__},
131 
132 static PyObject *
133 zipimport_zipimporter_load_module_impl(ZipImporter *self, PyObject *fullname);
134 
135 static PyObject *
zipimport_zipimporter_load_module(ZipImporter * self,PyObject * arg)136 zipimport_zipimporter_load_module(ZipImporter *self, PyObject *arg)
137 {
138     PyObject *return_value = NULL;
139     PyObject *fullname;
140 
141     if (!PyArg_Parse(arg, "U:load_module", &fullname)) {
142         goto exit;
143     }
144     return_value = zipimport_zipimporter_load_module_impl(self, fullname);
145 
146 exit:
147     return return_value;
148 }
149 
150 PyDoc_STRVAR(zipimport_zipimporter_get_filename__doc__,
151 "get_filename($self, fullname, /)\n"
152 "--\n"
153 "\n"
154 "Return the filename for the specified module.");
155 
156 #define ZIPIMPORT_ZIPIMPORTER_GET_FILENAME_METHODDEF    \
157     {"get_filename", (PyCFunction)zipimport_zipimporter_get_filename, METH_O, zipimport_zipimporter_get_filename__doc__},
158 
159 static PyObject *
160 zipimport_zipimporter_get_filename_impl(ZipImporter *self,
161                                         PyObject *fullname);
162 
163 static PyObject *
zipimport_zipimporter_get_filename(ZipImporter * self,PyObject * arg)164 zipimport_zipimporter_get_filename(ZipImporter *self, PyObject *arg)
165 {
166     PyObject *return_value = NULL;
167     PyObject *fullname;
168 
169     if (!PyArg_Parse(arg, "U:get_filename", &fullname)) {
170         goto exit;
171     }
172     return_value = zipimport_zipimporter_get_filename_impl(self, fullname);
173 
174 exit:
175     return return_value;
176 }
177 
178 PyDoc_STRVAR(zipimport_zipimporter_is_package__doc__,
179 "is_package($self, fullname, /)\n"
180 "--\n"
181 "\n"
182 "Return True if the module specified by fullname is a package.\n"
183 "\n"
184 "Raise ZipImportError if the module couldn\'t be found.");
185 
186 #define ZIPIMPORT_ZIPIMPORTER_IS_PACKAGE_METHODDEF    \
187     {"is_package", (PyCFunction)zipimport_zipimporter_is_package, METH_O, zipimport_zipimporter_is_package__doc__},
188 
189 static PyObject *
190 zipimport_zipimporter_is_package_impl(ZipImporter *self, PyObject *fullname);
191 
192 static PyObject *
zipimport_zipimporter_is_package(ZipImporter * self,PyObject * arg)193 zipimport_zipimporter_is_package(ZipImporter *self, PyObject *arg)
194 {
195     PyObject *return_value = NULL;
196     PyObject *fullname;
197 
198     if (!PyArg_Parse(arg, "U:is_package", &fullname)) {
199         goto exit;
200     }
201     return_value = zipimport_zipimporter_is_package_impl(self, fullname);
202 
203 exit:
204     return return_value;
205 }
206 
207 PyDoc_STRVAR(zipimport_zipimporter_get_data__doc__,
208 "get_data($self, pathname, /)\n"
209 "--\n"
210 "\n"
211 "Return the data associated with \'pathname\'.\n"
212 "\n"
213 "Raise OSError if the file was not found.");
214 
215 #define ZIPIMPORT_ZIPIMPORTER_GET_DATA_METHODDEF    \
216     {"get_data", (PyCFunction)zipimport_zipimporter_get_data, METH_O, zipimport_zipimporter_get_data__doc__},
217 
218 static PyObject *
219 zipimport_zipimporter_get_data_impl(ZipImporter *self, PyObject *path);
220 
221 static PyObject *
zipimport_zipimporter_get_data(ZipImporter * self,PyObject * arg)222 zipimport_zipimporter_get_data(ZipImporter *self, PyObject *arg)
223 {
224     PyObject *return_value = NULL;
225     PyObject *path;
226 
227     if (!PyArg_Parse(arg, "U:get_data", &path)) {
228         goto exit;
229     }
230     return_value = zipimport_zipimporter_get_data_impl(self, path);
231 
232 exit:
233     return return_value;
234 }
235 
236 PyDoc_STRVAR(zipimport_zipimporter_get_code__doc__,
237 "get_code($self, fullname, /)\n"
238 "--\n"
239 "\n"
240 "Return the code object for the specified module.\n"
241 "\n"
242 "Raise ZipImportError if the module couldn\'t be found.");
243 
244 #define ZIPIMPORT_ZIPIMPORTER_GET_CODE_METHODDEF    \
245     {"get_code", (PyCFunction)zipimport_zipimporter_get_code, METH_O, zipimport_zipimporter_get_code__doc__},
246 
247 static PyObject *
248 zipimport_zipimporter_get_code_impl(ZipImporter *self, PyObject *fullname);
249 
250 static PyObject *
zipimport_zipimporter_get_code(ZipImporter * self,PyObject * arg)251 zipimport_zipimporter_get_code(ZipImporter *self, PyObject *arg)
252 {
253     PyObject *return_value = NULL;
254     PyObject *fullname;
255 
256     if (!PyArg_Parse(arg, "U:get_code", &fullname)) {
257         goto exit;
258     }
259     return_value = zipimport_zipimporter_get_code_impl(self, fullname);
260 
261 exit:
262     return return_value;
263 }
264 
265 PyDoc_STRVAR(zipimport_zipimporter_get_source__doc__,
266 "get_source($self, fullname, /)\n"
267 "--\n"
268 "\n"
269 "Return the source code for the specified module.\n"
270 "\n"
271 "Raise ZipImportError if the module couldn\'t be found, return None if the\n"
272 "archive does contain the module, but has no source for it.");
273 
274 #define ZIPIMPORT_ZIPIMPORTER_GET_SOURCE_METHODDEF    \
275     {"get_source", (PyCFunction)zipimport_zipimporter_get_source, METH_O, zipimport_zipimporter_get_source__doc__},
276 
277 static PyObject *
278 zipimport_zipimporter_get_source_impl(ZipImporter *self, PyObject *fullname);
279 
280 static PyObject *
zipimport_zipimporter_get_source(ZipImporter * self,PyObject * arg)281 zipimport_zipimporter_get_source(ZipImporter *self, PyObject *arg)
282 {
283     PyObject *return_value = NULL;
284     PyObject *fullname;
285 
286     if (!PyArg_Parse(arg, "U:get_source", &fullname)) {
287         goto exit;
288     }
289     return_value = zipimport_zipimporter_get_source_impl(self, fullname);
290 
291 exit:
292     return return_value;
293 }
294 
295 PyDoc_STRVAR(zipimport_zipimporter_get_resource_reader__doc__,
296 "get_resource_reader($self, fullname, /)\n"
297 "--\n"
298 "\n"
299 "Return the ResourceReader for a package in a zip file.\n"
300 "\n"
301 "If \'fullname\' is a package within the zip file, return the \'ResourceReader\'\n"
302 "object for the package.  Otherwise return None.");
303 
304 #define ZIPIMPORT_ZIPIMPORTER_GET_RESOURCE_READER_METHODDEF    \
305     {"get_resource_reader", (PyCFunction)zipimport_zipimporter_get_resource_reader, METH_O, zipimport_zipimporter_get_resource_reader__doc__},
306 
307 static PyObject *
308 zipimport_zipimporter_get_resource_reader_impl(ZipImporter *self,
309                                                PyObject *fullname);
310 
311 static PyObject *
zipimport_zipimporter_get_resource_reader(ZipImporter * self,PyObject * arg)312 zipimport_zipimporter_get_resource_reader(ZipImporter *self, PyObject *arg)
313 {
314     PyObject *return_value = NULL;
315     PyObject *fullname;
316 
317     if (!PyArg_Parse(arg, "U:get_resource_reader", &fullname)) {
318         goto exit;
319     }
320     return_value = zipimport_zipimporter_get_resource_reader_impl(self, fullname);
321 
322 exit:
323     return return_value;
324 }
325 /*[clinic end generated code: output=0b57adfe21373512 input=a9049054013a1b77]*/
326