Add the beginnings of a high level API to isofs. Currently only does
initialization and getting/setting volume attributes.
This commit is contained in:
parent
24730f52d1
commit
0ae442220a
@ -0,0 +1,2 @@
|
|||||||
|
from defines import *
|
||||||
|
from isofs import IsoFS
|
9
bindings/python/isofs/defines.py
Normal file
9
bindings/python/isofs/defines.py
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# 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']
|
30
bindings/python/isofs/isofs.py
Normal file
30
bindings/python/isofs/isofs.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# High level interface to the isofs library.
|
||||||
|
|
||||||
|
import core
|
||||||
|
import defines
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
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)
|
Loading…
Reference in New Issue
Block a user