From 7ea76d34d7fd162d47632305b96191d1043a3084 Mon Sep 17 00:00:00 2001 From: Dave Date: Fri, 13 Apr 2007 03:00:51 +0000 Subject: [PATCH] Initial structure and core internal module for the libisofs python bindings. --- bindings/python/README | 17 ++ bindings/python/isofs/__init__.py | 0 bindings/python/isofs/core.py | 353 ++++++++++++++++++++++++++++++ 3 files changed, 370 insertions(+) create mode 100644 bindings/python/README create mode 100644 bindings/python/isofs/__init__.py create mode 100644 bindings/python/isofs/core.py diff --git a/bindings/python/README b/bindings/python/README new file mode 100644 index 0000000..9a79b01 --- /dev/null +++ b/bindings/python/README @@ -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. + diff --git a/bindings/python/isofs/__init__.py b/bindings/python/isofs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/bindings/python/isofs/core.py b/bindings/python/isofs/core.py new file mode 100644 index 0000000..7a46aa2 --- /dev/null +++ b/bindings/python/isofs/core.py @@ -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']