Removed bindings directory for 0.2.8 release
This commit is contained in:
parent
165f73dd30
commit
963eb9982d
@ -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.
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
from defines import *
|
|
||||||
from isofs import IsoFS
|
|
@ -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']
|
|
@ -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']
|
|
@ -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)
|
|
Loading…
Reference in New Issue
Block a user