Initial structure and core internal module for the libisofs python

bindings.
This commit is contained in:
Dave 2007-04-13 03:00:51 +00:00
parent 8f1201f06b
commit 00dd3a3cb1
3 changed files with 370 additions and 0 deletions

View File

@ -0,0 +1,17 @@
libisofs python bindings
========================
The Python bindings are layered on two levels. The low-level 1:1 mapping of
the C API is done through ctypes. The higher level bindings build a
pythonic API on that mapping.
The low-level API is in isofs.core. That file is autogenerated using
pyglet's ctypes code generator, which can be found at:
http://pyglet.googlecode.com/svn/trunk/tools/wraptypes/
Note that this is not a permanent solution. Right now the generated code
is committed to the repository, to facilitate development. In the longer
term, the wraptypes tool should be added to the libburnia repository and
the core binding generated by the build system.

View File

@ -0,0 +1,353 @@
'''Wrapper for isofs
Generated with:
../wraptypes/wrap.py -ocore.py -lisofs ../../../libisofs/libisofs.h
Do not modify this file.
'''
__docformat__ = 'restructuredtext'
__version__ = '$Id: wrap.py 738 2007-03-12 04:53:42Z Alex.Holkner $'
import ctypes
from ctypes import *
from ctypes.util import find_library as _find_library
_libpath = _find_library('isofs')
if not _libpath:
raise ImportError('Could not locate isofs library')
# If you are a developer, comment the above three lines and uncomment
# the following line, to hardcode the library path.
#_libpath = 'libisofs.so'
_lib = cdll.LoadLibrary(_libpath)
_int_types = (c_int16, c_int32)
if hasattr(ctypes, 'c_int64'):
# Some builds of ctypes apparently do not have c_int64
# defined; it's a pretty good bet that these builds do not
# have 64-bit pointers.
_int_types += (ctypes.c_int64,)
for t in _int_types:
if sizeof(t) == sizeof(c_size_t):
c_ptrdiff_t = t
class c_void(Structure):
# c_void_p is a buggy return type, converting to int, so
# POINTER(None) == c_void_p is actually written as
# POINTER(c_void), so it can be treated as a real pointer.
_fields_ = [('dummy', c_int)]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:45
iso_volume_new = _lib.iso_volume_new
iso_volume_new.restype = POINTER(struct_iso_volume)
iso_volume_new.argtypes = [c_char_p, c_char_p, c_char_p]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:49
iso_volume_new_with_root = _lib.iso_volume_new_with_root
iso_volume_new_with_root.restype = POINTER(struct_iso_volume)
iso_volume_new_with_root.argtypes = [c_char_p, c_char_p, c_char_p, POINTER(struct_iso_tree_node)]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:57
iso_volume_free = _lib.iso_volume_free
iso_volume_free.restype = None
iso_volume_free.argtypes = [POINTER(struct_iso_volume)]
class struct_iso_volset(Structure):
__slots__ = [
]
struct_iso_volset._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:62
iso_volset_free = _lib.iso_volset_free
iso_volset_free.restype = None
iso_volset_free.argtypes = [POINTER(struct_iso_volset)]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:67
iso_volume_get_root = _lib.iso_volume_get_root
iso_volume_get_root.restype = POINTER(struct_iso_tree_node)
iso_volume_get_root.argtypes = [POINTER(struct_iso_volume)]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:72
iso_volume_set_volume_id = _lib.iso_volume_set_volume_id
iso_volume_set_volume_id.restype = None
iso_volume_set_volume_id.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:78
iso_volume_set_publisher_id = _lib.iso_volume_set_publisher_id
iso_volume_set_publisher_id.restype = None
iso_volume_set_publisher_id.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:84
iso_volume_set_data_preparer_id = _lib.iso_volume_set_data_preparer_id
iso_volume_set_data_preparer_id.restype = None
iso_volume_set_data_preparer_id.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:96
iso_tree_volume_path_to_node = _lib.iso_tree_volume_path_to_node
iso_tree_volume_path_to_node.restype = POINTER(struct_iso_tree_node)
iso_tree_volume_path_to_node.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:107
iso_tree_volume_add_path = _lib.iso_tree_volume_add_path
iso_tree_volume_add_path.restype = POINTER(struct_iso_tree_node)
iso_tree_volume_add_path.argtypes = [POINTER(struct_iso_volume), c_char_p, c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:119
iso_tree_volume_add_new_dir = _lib.iso_tree_volume_add_new_dir
iso_tree_volume_add_new_dir.restype = POINTER(struct_iso_tree_node)
iso_tree_volume_add_new_dir.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_volset(Structure):
__slots__ = [
]
struct_iso_volset._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volume(Structure):
__slots__ = [
]
struct_iso_volume._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:128
iso_volset_new = _lib.iso_volset_new
iso_volset_new.restype = POINTER(struct_iso_volset)
iso_volset_new.argtypes = [POINTER(struct_iso_volume), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:141
iso_tree_add_node = _lib.iso_tree_add_node
iso_tree_add_node.restype = POINTER(struct_iso_tree_node)
iso_tree_add_node.argtypes = [POINTER(struct_iso_tree_node), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:157
iso_tree_radd_dir = _lib.iso_tree_radd_dir
iso_tree_radd_dir.restype = POINTER(struct_iso_tree_node)
iso_tree_radd_dir.argtypes = [POINTER(struct_iso_tree_node), c_char_p]
# ../../../libisofs/libisofs.h:166
iso_exclude_add_path = _lib.iso_exclude_add_path
iso_exclude_add_path.restype = None
iso_exclude_add_path.argtypes = [c_char_p]
# ../../../libisofs/libisofs.h:173
iso_exclude_remove_path = _lib.iso_exclude_remove_path
iso_exclude_remove_path.restype = None
iso_exclude_remove_path.argtypes = [c_char_p]
# ../../../libisofs/libisofs.h:178
iso_exclude_empty = _lib.iso_exclude_empty
iso_exclude_empty.restype = None
iso_exclude_empty.argtypes = []
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:191
iso_tree_add_new_dir = _lib.iso_tree_add_new_dir
iso_tree_add_new_dir.restype = POINTER(struct_iso_tree_node)
iso_tree_add_new_dir.argtypes = [POINTER(struct_iso_tree_node), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:197
iso_tree_node_set_name = _lib.iso_tree_node_set_name
iso_tree_node_set_name.restype = None
iso_tree_node_set_name.argtypes = [POINTER(struct_iso_tree_node), c_char_p]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:204
iso_tree_print = _lib.iso_tree_print
iso_tree_print.restype = None
iso_tree_print.argtypes = [POINTER(struct_iso_tree_node), c_int]
class struct_burn_source(Structure):
__slots__ = [
]
struct_burn_source._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volset(Structure):
__slots__ = [
]
struct_iso_volset._fields_ = [
('_opaque_struct', c_int)
]
# ../../../libisofs/libisofs.h:220
iso_source_new_ecma119 = _lib.iso_source_new_ecma119
iso_source_new_ecma119.restype = POINTER(struct_burn_source)
iso_source_new_ecma119.argtypes = [POINTER(struct_iso_volset), c_int, c_int, c_int]
__all__ = ['iso_volume_new', 'iso_volume_new_with_root', 'iso_volume_free',
'iso_volset_free', 'iso_volume_get_root', 'iso_volume_set_volume_id',
'iso_volume_set_publisher_id', 'iso_volume_set_data_preparer_id',
'iso_tree_volume_path_to_node', 'iso_tree_volume_add_path',
'iso_tree_volume_add_new_dir', 'iso_volset_new', 'iso_tree_add_node',
'iso_tree_radd_dir', 'iso_exclude_add_path', 'iso_exclude_remove_path',
'iso_exclude_empty', 'iso_tree_add_new_dir', 'iso_tree_node_set_name',
'iso_tree_print', 'iso_source_new_ecma119']