Removed bindings directory for 0.2.8 release

This commit is contained in:
Mario Danic 2007-07-31 07:33:00 +00:00
parent 9d08c115fd
commit 47b64b9ba9
5 changed files with 0 additions and 271 deletions

View File

@ -1,17 +0,0 @@
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

@ -1,2 +0,0 @@
from defines import *
from isofs import IsoFS

View File

@ -1,185 +0,0 @@
'''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)
]
class struct_iso_tree_node(Structure):
__slots__ = [
]
struct_iso_tree_node._fields_ = [
('_opaque_struct', c_int)
]
class struct_iso_volset(Structure):
__slots__ = [
]
struct_iso_volset._fields_ = [
('_opaque_struct', c_int)
]
class struct_burn_source(Structure):
__slots__ = [
]
struct_burn_source._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]
# ../../../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)]
# ../../../libisofs/libisofs.h:57
iso_volume_free = _lib.iso_volume_free
iso_volume_free.restype = None
iso_volume_free.argtypes = [POINTER(struct_iso_volume)]
# ../../../libisofs/libisofs.h:62
iso_volset_free = _lib.iso_volset_free
iso_volset_free.restype = None
iso_volset_free.argtypes = [POINTER(struct_iso_volset)]
# ../../../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)]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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 = []
# ../../../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]
# ../../../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]
# ../../../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]
# ../../../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']

View File

@ -1,9 +0,0 @@
# The automatic code generator does not wrap enums into python. As
# isofs has only two enum values publicly defined, they are hardcoded
# here.
# from enum ecma119_extension_flag
ECMA119_ROCKRIDGE = 1
ECMA119_JOLIET = 2
__all__ = ['ECMA119_ROCKRIDGE', 'ECMA119_JOLIET']

View File

@ -1,58 +0,0 @@
# High level interface to the isofs library.
import core
import defines
import os.path
def _wrap_volume_property(var_name, core_setter):
def get(self):
return getattr(self, var_name)
def set(self, value):
setattr(self, var_name, value)
core_setter(self._volume, value)
return property(get, set)
class IsoFS(object):
def __init__(self, volume_id='', publisher_id='',
data_preparer_id=''):
self._volume_id = volume_id
self._publisher_id = publisher_id
self._data_preparer_id = data_preparer_id
self._volume = core.iso_volume_new(
volume_id, publisher_id, data_preparer_id)
self._volset = core.iso_volset_new(self._volume, volume_id)
def __del__(self):
core.iso_volume_free(self._volume)
core.iso_volset_free(self._volset)
volume_id = _wrap_volume_property(
'_volume_id', core.iso_volume_set_volume_id)
publisher_id = _wrap_volume_property(
'_publisher_id', core.iso_volume_set_publisher_id)
data_preparer_id = _wrap_volume_property(
'_data_preparer_id', core.iso_volume_set_data_preparer_id)
def add(self, disc_path, path, exclude=None): #, make_parents=False):
disc_path = os.path.normpath(disc_path)
path = os.path.abspath(os.path.normpath(path))
exclude = exclude or []
# Does the disc parent exist?
disc_parent, _ = os.path.split(disc_path)
if not core.iso_tree_volume_path_to_node(self._volume, disc_parent):
print "No such parent"
return # TODO: Raise exception and/or create all missing
# parents.
# Flush all ignores that may have stayed over.
core.iso_exclude_empty()
for exclude_path in exclude:
core.iso_exclude_add_path(exclude_path)
core.iso_tree_volume_add_path(self._volume, disc_path, path)
def display(self):
root = core.iso_volume_get_root(self._volume)
core.iso_tree_print(root, 0)