Package org.python.modules.zipimport
Class zipimporter
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.util.importer<PyObject>
-
- org.python.modules.zipimport.zipimporter
-
- All Implemented Interfaces:
java.io.Serializable
,Traverseproc
- Direct Known Subclasses:
zipimporterDerived
public class zipimporter extends importer<PyObject> implements Traverseproc
Import Python modules and packages from ZIP-format archives.- Author:
- Philip Jenvey
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description static PyString
__doc__
java.lang.String
archive
Path to the Zip archivePyObject
files
Dict with file info {path: tocEntry}java.lang.String
prefix
File prefix: "a/sub/directory/"static PyType
TYPE
-
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal
-
-
Constructor Summary
Constructors Constructor Description zipimporter()
zipimporter(java.lang.String path)
zipimporter(PyType subType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PyObject
find_module(java.lang.String fullname)
PyObject
find_module(java.lang.String fullname, java.lang.String path)
Find the module for the fully qualified name.PyObject
get_code(java.lang.String fullname)
Return the code object associated with the module.java.lang.String
get_data(java.lang.String path)
Return the uncompressed data for the file at the specified path as bytes.PyObject
get_filename(java.lang.String fullname)
java.lang.String
get_source(java.lang.String fullname)
Return the source code for the module as a string (using newline characters for line endings)PyString
getArchive()
Path to the Zip archive as FS-encodedstr
.boolean
is_package(java.lang.String fullname)
Return a boolean signifying whether the module is a package or not.PyObject
load_module(java.lang.String fullname)
Load a module for the fully qualified name.org.python.modules.zipimport.zipimporter.ZipBundle
makeBundle(java.lang.String datapath, PyObject entry)
Given a path to a compressed file in the archive, return the file's (uncompressed) data stream in a ZipBundle.boolean
refersDirectlyTo(PyObject ob)
Optional operation.java.lang.String
toString()
int
traverse(Visitproc visit, java.lang.Object arg)
Traverses all directly containedPyObject
s.-
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType
-
-
-
-
Constructor Detail
-
zipimporter
public zipimporter()
-
zipimporter
public zipimporter(PyType subType)
-
zipimporter
public zipimporter(java.lang.String path)
-
-
Method Detail
-
getArchive
public PyString getArchive()
Path to the Zip archive as FS-encodedstr
.
-
find_module
public PyObject find_module(java.lang.String fullname)
-
find_module
public PyObject find_module(java.lang.String fullname, java.lang.String path)
Find the module for the fully qualified name.- Parameters:
fullname
- the fully qualified name of the modulepath
- if not installed on the meta-path None or a module path- Returns:
- a loader instance if this importer can load the module, None otherwise
-
load_module
public PyObject load_module(java.lang.String fullname)
Load a module for the fully qualified name.- Parameters:
fullname
- the fully qualified name of the module- Returns:
- a loaded PyModule
-
get_data
public java.lang.String get_data(java.lang.String path)
Return the uncompressed data for the file at the specified path as bytes.
-
is_package
public boolean is_package(java.lang.String fullname)
Return a boolean signifying whether the module is a package or not.- Parameters:
fullname
- the fully qualified name of the module- Returns:
- a boolean describing if the module is a package
-
get_code
public PyObject get_code(java.lang.String fullname)
Return the code object associated with the module.- Parameters:
fullname
- the fully qualified name of the module- Returns:
- the module's PyCode object or None
-
get_filename
public PyObject get_filename(java.lang.String fullname)
-
get_source
public java.lang.String get_source(java.lang.String fullname)
Return the source code for the module as a string (using newline characters for line endings)- Parameters:
fullname
- the fully qualified name of the module- Returns:
- a String of the module's source code or null
-
makeBundle
public org.python.modules.zipimport.zipimporter.ZipBundle makeBundle(java.lang.String datapath, PyObject entry)
Given a path to a compressed file in the archive, return the file's (uncompressed) data stream in a ZipBundle.- Parameters:
datapath
- file's filename inside of the archive- Returns:
- a ZipBundle with an InputStream to the file's uncompressed data
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as its second parameter. IfVisitproc.visit(PyObject, Object)
returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)
must not be called with anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
-
-