Files
Eugene Sandulenko 09cff5ecc0 DEVTOOLS: Imported pycdlib
tag v1.15.0 67fe5ea7f68cf1185379c2c5e8acf37d483a2d4a

https://github.com/clalancette/pycdlib.git
2026-02-07 23:19:38 +01:00

721 lines
64 KiB
HTML

<!DOCTYPE>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Pydoc: module pycdlib.pycdlib</title>
<link rel="stylesheet" type="text/css" href="pydoc_data/_pydoc.css"></head><body><div style="clear:both;padding-top:.5em;">
<table class="heading">
<tr class="heading-text decor">
<td class="title">&nbsp;<br><strong class="title"><a href="pycdlib.html" class="white">pycdlib</a>.pycdlib</strong></td>
<td class="extra">&nbsp;</td></tr></table>
<p><span class="code">Main&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;class&nbsp;and&nbsp;support&nbsp;classes&nbsp;and&nbsp;utilities.</span></p>
<p>
<table class="section">
<tr class="decor index-decor heading-text">
<td class="section-title" colspan=3>&nbsp;<br><strong class="bigsection">Classes</strong></td></tr>
<tr><td class="decor index-decor"><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td><td>&nbsp;</td>
<td class="singlecolumn"><dl>
<dt class="heading-text"><a href="builtins.html#object">builtins.object</a>
</dt><dd>
<dl>
<dt class="heading-text"><a href="pycdlib.pycdlib.html#PyCdlib">PyCdlib</a>
</dt></dl>
</dd>
</dl>
<p>
<table class="section">
<tr class="decor title-decor heading-text">
<td class="section-title" colspan=3>&nbsp;<br><a name="PyCdlib">class <strong>PyCdlib</strong></a>(<a href="builtins.html#object">builtins.object</a>)</td></tr>
<tr><td class="decor title-decor" rowspan=2><span class="code">&nbsp;&nbsp;&nbsp;</span></td>
<td class="decor title-decor" colspan=2><span class="code"><a href="#PyCdlib">PyCdlib</a>(always_consistent=False)<br>
&nbsp;<br>
The&nbsp;main&nbsp;class&nbsp;for&nbsp;manipulating&nbsp;ISOs.<br>&nbsp;</span></td></tr>
<tr><td>&nbsp;</td>
<td class="singlecolumn">Methods defined here:<br>
<dl><dt><a name="PyCdlib-__init__"><strong>__init__</strong></a>(self, always_consistent=False)</dt><dd><span class="code">Initialize&nbsp;self.&nbsp;&nbsp;See&nbsp;help(type(self))&nbsp;for&nbsp;accurate&nbsp;signature.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_directory"><strong>add_directory</strong></a>(self, iso_path=None, rr_name=None, joliet_path=None, file_mode=None, udf_path=None)</dt><dd><span class="code">Add&nbsp;a&nbsp;directory&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;At&nbsp;least&nbsp;one&nbsp;of&nbsp;an&nbsp;iso_path,&nbsp;joliet_path,<br>
or&nbsp;udf_path&nbsp;must&nbsp;be&nbsp;provided.&nbsp;&nbsp;Providing&nbsp;joliet_path&nbsp;on&nbsp;a&nbsp;non-Joliet<br>
ISO,&nbsp;or&nbsp;udf_path&nbsp;on&nbsp;a&nbsp;non-UDF&nbsp;ISO,&nbsp;is&nbsp;an&nbsp;error.&nbsp;&nbsp;If&nbsp;the&nbsp;ISO&nbsp;contains<br>
Rock&nbsp;Ridge,&nbsp;then&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;must&nbsp;be&nbsp;provided.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;absolute&nbsp;path&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;directory.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;directory.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;absolute&nbsp;path&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;directory.<br>
&nbsp;file_mode&nbsp;-&nbsp;The&nbsp;POSIX&nbsp;file&nbsp;mode&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;directory.&nbsp;&nbsp;This&nbsp;only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applies&nbsp;for&nbsp;Rock&nbsp;Ridge&nbsp;ISOs.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;absolute&nbsp;path&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;directory.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_eltorito"><strong>add_eltorito</strong></a>(self, bootfile_path, bootcatfile=None, rr_bootcatname=None, joliet_bootcatfile=None, boot_load_size=None, platform_id=0, boot_info_table=False, efi=False, media_name='noemul', bootable=True, boot_load_seg=0, udf_bootcatfile=None)</dt><dd><span class="code">Add&nbsp;an&nbsp;El&nbsp;Torito&nbsp;Boot&nbsp;Record,&nbsp;and&nbsp;associated&nbsp;files,&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;The<br>
file&nbsp;that&nbsp;will&nbsp;be&nbsp;used&nbsp;as&nbsp;the&nbsp;bootfile&nbsp;must&nbsp;be&nbsp;passed&nbsp;into&nbsp;this&nbsp;function<br>
and&nbsp;must&nbsp;already&nbsp;be&nbsp;present&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;bootfile_path&nbsp;-&nbsp;The&nbsp;file&nbsp;to&nbsp;use&nbsp;as&nbsp;the&nbsp;boot&nbsp;file;&nbsp;it&nbsp;must&nbsp;already<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exist&nbsp;on&nbsp;this&nbsp;ISO.<br>
&nbsp;bootcatfile&nbsp;-&nbsp;The&nbsp;fake&nbsp;file&nbsp;to&nbsp;use&nbsp;as&nbsp;the&nbsp;boot&nbsp;catalog&nbsp;entry;&nbsp;set&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOT.CAT;1&nbsp;by&nbsp;default.<br>
&nbsp;rr_bootcatname&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;for&nbsp;the&nbsp;fake&nbsp;file&nbsp;to&nbsp;use&nbsp;as&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boot&nbsp;catalog&nbsp;entry;&nbsp;set&nbsp;to&nbsp;'boot.cat'&nbsp;by&nbsp;default.<br>
&nbsp;joliet_bootcatfile&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;name&nbsp;for&nbsp;the&nbsp;fake&nbsp;file&nbsp;to&nbsp;use&nbsp;as&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boot&nbsp;catalog&nbsp;entry;&nbsp;set&nbsp;to&nbsp;'boot.cat'&nbsp;by&nbsp;default.<br>
&nbsp;boot_load_size&nbsp;-&nbsp;The&nbsp;number&nbsp;of&nbsp;sectors&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;boot&nbsp;entry;&nbsp;if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;to&nbsp;None&nbsp;(the&nbsp;default),&nbsp;the&nbsp;number&nbsp;of&nbsp;sectors&nbsp;will<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;calculated.<br>
&nbsp;platform_id&nbsp;-&nbsp;The&nbsp;platform&nbsp;ID&nbsp;to&nbsp;set&nbsp;for&nbsp;the&nbsp;El&nbsp;Torito&nbsp;entry;&nbsp;0&nbsp;is&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x86,&nbsp;1&nbsp;is&nbsp;for&nbsp;Power&nbsp;PC,&nbsp;2&nbsp;is&nbsp;for&nbsp;Mac,&nbsp;and&nbsp;0xef&nbsp;is&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UEFI.&nbsp;&nbsp;0&nbsp;is&nbsp;the&nbsp;default.<br>
&nbsp;boot_info_table&nbsp;-&nbsp;Whether&nbsp;to&nbsp;add&nbsp;a&nbsp;boot&nbsp;info&nbsp;table&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;is&nbsp;False.<br>
&nbsp;efi&nbsp;-&nbsp;Whether&nbsp;this&nbsp;is&nbsp;an&nbsp;EFI&nbsp;entry&nbsp;for&nbsp;El&nbsp;Torito.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;False.<br>
&nbsp;media_name&nbsp;-&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;media&nbsp;type,&nbsp;one&nbsp;of&nbsp;'noemul',&nbsp;'floppy',&nbsp;or&nbsp;'hdemul'.<br>
&nbsp;bootable&nbsp;-&nbsp;Whether&nbsp;the&nbsp;boot&nbsp;media&nbsp;is&nbsp;bootable.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;True.<br>
&nbsp;boot_load_seg&nbsp;-&nbsp;The&nbsp;load&nbsp;segment&nbsp;address&nbsp;of&nbsp;the&nbsp;boot&nbsp;image.<br>
&nbsp;udf_bootcatfile&nbsp;-&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;boot.cat&nbsp;file&nbsp;on&nbsp;the&nbsp;UDF&nbsp;filesystem.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_file"><strong>add_file</strong></a>(self, filename, iso_path=None, rr_name=None, joliet_path=None, file_mode=None, udf_path=None)</dt><dd><span class="code">Add&nbsp;a&nbsp;file&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;If&nbsp;the&nbsp;ISO&nbsp;is&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;one,&nbsp;then&nbsp;a&nbsp;Rock<br>
Ridge&nbsp;name&nbsp;must&nbsp;also&nbsp;be&nbsp;provided.&nbsp;&nbsp;If&nbsp;the&nbsp;ISO&nbsp;is&nbsp;a&nbsp;Joliet&nbsp;one,&nbsp;then&nbsp;a<br>
Joliet&nbsp;path&nbsp;may&nbsp;also&nbsp;be&nbsp;provided;&nbsp;while&nbsp;it&nbsp;is&nbsp;optional&nbsp;to&nbsp;do&nbsp;so,&nbsp;it&nbsp;is<br>
highly&nbsp;recommended.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;filename&nbsp;-&nbsp;The&nbsp;filename&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;data&nbsp;contents&nbsp;for&nbsp;the&nbsp;new&nbsp;file.<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;file_mode&nbsp;-&nbsp;The&nbsp;POSIX&nbsp;file_mode&nbsp;to&nbsp;apply&nbsp;to&nbsp;this&nbsp;file.&nbsp;&nbsp;This&nbsp;only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applies&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;ISO.&nbsp;&nbsp;If&nbsp;this&nbsp;is&nbsp;None&nbsp;(the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default),&nbsp;the&nbsp;permissions&nbsp;from&nbsp;the&nbsp;original&nbsp;file&nbsp;are&nbsp;used.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_fp"><strong>add_fp</strong></a>(self, fp, length, iso_path=None, rr_name=None, joliet_path=None, file_mode=None, udf_path=None)</dt><dd><span class="code">Add&nbsp;a&nbsp;file&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;If&nbsp;the&nbsp;ISO&nbsp;is&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;one,&nbsp;then&nbsp;a&nbsp;Rock<br>
Ridge&nbsp;name&nbsp;must&nbsp;also&nbsp;be&nbsp;provided.&nbsp;&nbsp;If&nbsp;the&nbsp;ISO&nbsp;is&nbsp;a&nbsp;Joliet&nbsp;one,&nbsp;then&nbsp;a<br>
Joliet&nbsp;path&nbsp;may&nbsp;also&nbsp;be&nbsp;provided;&nbsp;while&nbsp;it&nbsp;is&nbsp;optional&nbsp;to&nbsp;do&nbsp;so,&nbsp;it&nbsp;is<br>
highly&nbsp;recommended.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;caller&nbsp;must&nbsp;ensure&nbsp;that&nbsp;'fp'&nbsp;remains<br>
open&nbsp;for&nbsp;the&nbsp;lifetime&nbsp;of&nbsp;the&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;<a href="builtins.html#object">object</a>,&nbsp;as&nbsp;the&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;class&nbsp;uses<br>
the&nbsp;file&nbsp;descriptor&nbsp;internally&nbsp;when&nbsp;writing&nbsp;(mastering)&nbsp;the&nbsp;ISO.&nbsp;&nbsp;To<br>
have&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;manage&nbsp;this&nbsp;automatically,&nbsp;use&nbsp;'add_file'&nbsp;instead.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;fp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;new&nbsp;file.<br>
&nbsp;length&nbsp;-&nbsp;The&nbsp;length&nbsp;of&nbsp;the&nbsp;data&nbsp;for&nbsp;the&nbsp;new&nbsp;file.<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;file_mode&nbsp;-&nbsp;The&nbsp;POSIX&nbsp;file_mode&nbsp;to&nbsp;apply&nbsp;to&nbsp;this&nbsp;file.&nbsp;&nbsp;This&nbsp;only<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applies&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;ISO.&nbsp;&nbsp;If&nbsp;this&nbsp;is&nbsp;None&nbsp;(the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default),&nbsp;the&nbsp;permissions&nbsp;from&nbsp;the&nbsp;original&nbsp;file&nbsp;are&nbsp;used.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_hard_link"><strong>add_hard_link</strong></a>(self, **kwargs)</dt><dd><span class="code">Add&nbsp;a&nbsp;hard&nbsp;link&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;Hard&nbsp;links&nbsp;are&nbsp;alternate&nbsp;names&nbsp;for&nbsp;the<br>
same&nbsp;file&nbsp;contents&nbsp;that&nbsp;don't&nbsp;take&nbsp;up&nbsp;any&nbsp;additional&nbsp;space&nbsp;on&nbsp;the&nbsp;the<br>
ISO.&nbsp;&nbsp;This&nbsp;API&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;create&nbsp;hard&nbsp;links&nbsp;between&nbsp;two&nbsp;files&nbsp;on<br>
the&nbsp;ISO9660&nbsp;filesystem,&nbsp;between&nbsp;two&nbsp;files&nbsp;on&nbsp;the&nbsp;Joliet&nbsp;filesystem,&nbsp;or<br>
between&nbsp;a&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO9660&nbsp;filesystem&nbsp;and&nbsp;the&nbsp;Joliet&nbsp;filesystem.<br>
In&nbsp;all&nbsp;cases,&nbsp;exactly&nbsp;one&nbsp;old&nbsp;path&nbsp;must&nbsp;be&nbsp;specified,&nbsp;and&nbsp;exactly&nbsp;one<br>
new&nbsp;path&nbsp;must&nbsp;be&nbsp;specified.<br>
Note&nbsp;that&nbsp;this&nbsp;is&nbsp;an&nbsp;advanced&nbsp;API,&nbsp;so&nbsp;using&nbsp;it&nbsp;in&nbsp;combination&nbsp;with&nbsp;the<br>
higher-level&nbsp;APIs&nbsp;(like&nbsp;<a href="#PyCdlib-rm_file">rm_file</a>())&nbsp;may&nbsp;result&nbsp;in&nbsp;unexpected&nbsp;behavior.<br>
Once&nbsp;this&nbsp;API&nbsp;has&nbsp;been&nbsp;used,&nbsp;this&nbsp;API&nbsp;and&nbsp;<a href="#PyCdlib-rm_hard_link">rm_hard_link</a>()&nbsp;should&nbsp;be<br>
preferred&nbsp;over&nbsp;<a href="#PyCdlib-add_file">add_file</a>()&nbsp;and&nbsp;<a href="#PyCdlib-rm_file">rm_file</a>(),&nbsp;respectively.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_old_path&nbsp;-&nbsp;The&nbsp;old&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO9660&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;from.<br>
&nbsp;iso_new_path&nbsp;-&nbsp;The&nbsp;new&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO9660&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;to.<br>
&nbsp;joliet_old_path&nbsp;-&nbsp;The&nbsp;old&nbsp;path&nbsp;on&nbsp;the&nbsp;Joliet&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;from.<br>
&nbsp;joliet_new_path&nbsp;-&nbsp;The&nbsp;new&nbsp;path&nbsp;on&nbsp;the&nbsp;Joliet&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;to.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;new&nbsp;file&nbsp;if&nbsp;this&nbsp;is&nbsp;a&nbsp;Rock<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ridge&nbsp;ISO&nbsp;and&nbsp;the&nbsp;new&nbsp;path&nbsp;is&nbsp;on&nbsp;the&nbsp;ISO9660&nbsp;filesystem.<br>
&nbsp;boot_catalog_old&nbsp;-&nbsp;Use&nbsp;the&nbsp;El&nbsp;Torito&nbsp;boot&nbsp;catalog&nbsp;as&nbsp;the&nbsp;old&nbsp;path.<br>
&nbsp;udf_old_path&nbsp;-&nbsp;The&nbsp;old&nbsp;path&nbsp;on&nbsp;the&nbsp;UDF&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;from.<br>
&nbsp;udf_new_path&nbsp;-&nbsp;The&nbsp;new&nbsp;path&nbsp;on&nbsp;the&nbsp;UDF&nbsp;filesystem&nbsp;to&nbsp;link&nbsp;to.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_isohybrid"><strong>add_isohybrid</strong></a>(self, part_entry=1, mbr_id=None, part_offset=0, geometry_sectors=32, geometry_heads=64, part_type=None, mac=False, efi=None)</dt><dd><span class="code">Make&nbsp;an&nbsp;ISO&nbsp;a&nbsp;'hybrid',&nbsp;which&nbsp;means&nbsp;that&nbsp;it&nbsp;can&nbsp;be&nbsp;booted&nbsp;either&nbsp;from&nbsp;a<br>
CD&nbsp;or&nbsp;from&nbsp;more&nbsp;traditional&nbsp;media&nbsp;(like&nbsp;a&nbsp;USB&nbsp;stick).&nbsp;&nbsp;This&nbsp;requires<br>
that&nbsp;the&nbsp;ISO&nbsp;already&nbsp;have&nbsp;El&nbsp;Torito,&nbsp;and&nbsp;will&nbsp;use&nbsp;the&nbsp;El&nbsp;Torito&nbsp;boot<br>
file&nbsp;as&nbsp;a&nbsp;bootable&nbsp;image.&nbsp;&nbsp;That&nbsp;image&nbsp;must&nbsp;contain&nbsp;a&nbsp;certain&nbsp;signature<br>
in&nbsp;order&nbsp;to&nbsp;work&nbsp;as&nbsp;a&nbsp;hybrid&nbsp;(if&nbsp;using&nbsp;syslinux,&nbsp;this&nbsp;generally&nbsp;means<br>
the&nbsp;isohdpfx.bin&nbsp;files).<br>
&nbsp;<br>
Parameters:<br>
&nbsp;part_entry&nbsp;-&nbsp;The&nbsp;partition&nbsp;entry&nbsp;to&nbsp;use;&nbsp;one&nbsp;by&nbsp;default.<br>
&nbsp;mbr_id&nbsp;-&nbsp;The&nbsp;mbr_id&nbsp;to&nbsp;use.&nbsp;&nbsp;If&nbsp;set&nbsp;to&nbsp;None&nbsp;(the&nbsp;default),&nbsp;a&nbsp;random&nbsp;one<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;generated.<br>
&nbsp;part_offset&nbsp;-&nbsp;The&nbsp;partition&nbsp;offset&nbsp;to&nbsp;use;&nbsp;zero&nbsp;by&nbsp;default.<br>
&nbsp;geometry_sectors&nbsp;-&nbsp;The&nbsp;number&nbsp;of&nbsp;sectors&nbsp;to&nbsp;assign;&nbsp;thirty-two&nbsp;by<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default.<br>
&nbsp;geometry_heads&nbsp;-&nbsp;The&nbsp;number&nbsp;of&nbsp;heads&nbsp;to&nbsp;assign;&nbsp;sixty-four&nbsp;by&nbsp;default.<br>
&nbsp;part_type&nbsp;-&nbsp;The&nbsp;partition&nbsp;type&nbsp;to&nbsp;assign;&nbsp;twenty-three&nbsp;by&nbsp;default,&nbsp;but<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;automatically&nbsp;be&nbsp;set&nbsp;to&nbsp;0&nbsp;if&nbsp;mac&nbsp;or&nbsp;efi&nbsp;are&nbsp;True.<br>
&nbsp;mac&nbsp;-&nbsp;Add&nbsp;support&nbsp;for&nbsp;Mac;&nbsp;False&nbsp;by&nbsp;default.<br>
&nbsp;efi&nbsp;-&nbsp;Add&nbsp;support&nbsp;for&nbsp;EFI;&nbsp;False&nbsp;by&nbsp;default,&nbsp;but&nbsp;will&nbsp;automatically<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;set&nbsp;to&nbsp;True&nbsp;if&nbsp;mac&nbsp;is&nbsp;True.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_joliet_directory"><strong>add_joliet_directory</strong></a>(self, joliet_path)</dt><dd><span class="code">(deprecated)&nbsp;Add&nbsp;a&nbsp;directory&nbsp;to&nbsp;the&nbsp;Joliet&nbsp;portion&nbsp;of&nbsp;the&nbsp;ISO.&nbsp;&nbsp;Since<br>
Joliet&nbsp;occupies&nbsp;a&nbsp;completely&nbsp;different&nbsp;context&nbsp;than&nbsp;ISO9660,&nbsp;this<br>
method&nbsp;can&nbsp;be&nbsp;invoked&nbsp;to&nbsp;create&nbsp;a&nbsp;completely&nbsp;different&nbsp;directory<br>
structure&nbsp;in&nbsp;the&nbsp;Joliet&nbsp;context,&nbsp;though&nbsp;that&nbsp;is&nbsp;generally&nbsp;not&nbsp;advised.<br>
It&nbsp;is&nbsp;recommended&nbsp;to&nbsp;use&nbsp;the&nbsp;'joliet_path'&nbsp;argument&nbsp;of&nbsp;the<br>
'add_directory'&nbsp;instead&nbsp;of&nbsp;this&nbsp;method.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;directory&nbsp;to&nbsp;create.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-add_symlink"><strong>add_symlink</strong></a>(self, symlink_path=None, rr_symlink_name=None, rr_path=None, joliet_path=None, udf_symlink_path=None, udf_target=None)</dt><dd><span class="code">Add&nbsp;a&nbsp;symlink&nbsp;from&nbsp;rr_symlink_name&nbsp;to&nbsp;the&nbsp;rr_path.&nbsp;&nbsp;The&nbsp;ISO&nbsp;must&nbsp;have<br>
either&nbsp;Rock&nbsp;Ridge&nbsp;or&nbsp;UDF&nbsp;support&nbsp;(or&nbsp;both).<br>
&nbsp;<br>
Parameters:<br>
&nbsp;symlink_path&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;path&nbsp;of&nbsp;the&nbsp;symlink&nbsp;itself&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_symlink_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;symlink&nbsp;itself&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;path&nbsp;that&nbsp;the&nbsp;symlink&nbsp;points&nbsp;to&nbsp;on&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;part<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;of&nbsp;the&nbsp;symlink&nbsp;(if&nbsp;this&nbsp;ISO&nbsp;has&nbsp;Joliet).<br>
&nbsp;udf_symlink_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;path&nbsp;of&nbsp;the&nbsp;symlink&nbsp;itself&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;udf_target&nbsp;-&nbsp;The&nbsp;UDF&nbsp;name&nbsp;of&nbsp;the&nbsp;entry&nbsp;on&nbsp;the&nbsp;ISO&nbsp;that&nbsp;the&nbsp;symlink<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;points&nbsp;to.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-clear_hidden"><strong>clear_hidden</strong></a>(self, iso_path=None, rr_path=None, joliet_path=None)</dt><dd><span class="code">Clear&nbsp;the&nbsp;ISO9660&nbsp;hidden&nbsp;attribute&nbsp;on&nbsp;a&nbsp;file&nbsp;or&nbsp;directory.&nbsp;&nbsp;This&nbsp;will<br>
cause&nbsp;the&nbsp;file&nbsp;or&nbsp;directory&nbsp;to&nbsp;show&nbsp;up&nbsp;when&nbsp;listing&nbsp;entries&nbsp;on&nbsp;the&nbsp;ISO.<br>
Exactly&nbsp;one&nbsp;of&nbsp;iso_path,&nbsp;rr_path,&nbsp;or&nbsp;joliet_path&nbsp;must&nbsp;be&nbsp;specified.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;clear&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;from.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;clear&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;from.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;clear&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;from.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-close"><strong>close</strong></a>(self)</dt><dd><span class="code">Close&nbsp;the&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;<a href="builtins.html#object">object</a>,&nbsp;and&nbsp;re-initialize&nbsp;the&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;the&nbsp;defaults.<br>
The&nbsp;<a href="builtins.html#object">object</a>&nbsp;can&nbsp;then&nbsp;be&nbsp;re-used&nbsp;for&nbsp;manipulation&nbsp;of&nbsp;another&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-duplicate_pvd"><strong>duplicate_pvd</strong></a>(self)</dt><dd><span class="code">Add&nbsp;a&nbsp;duplicate&nbsp;PVD&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;mostly&nbsp;useless&nbsp;feature<br>
allowed&nbsp;by&nbsp;Ecma-119&nbsp;to&nbsp;have&nbsp;duplicate&nbsp;PVDs&nbsp;to&nbsp;avoid&nbsp;possible&nbsp;corruption.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-file_mode"><strong>file_mode</strong></a>(self, **kwargs)</dt><dd><span class="code">Get&nbsp;the&nbsp;POSIX&nbsp;file&nbsp;mode&nbsp;of&nbsp;the&nbsp;file&nbsp;if&nbsp;is&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;file.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;ISO&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;An&nbsp;integer&nbsp;representing&nbsp;the&nbsp;POSIX&nbsp;file&nbsp;mode&nbsp;of&nbsp;the&nbsp;file&nbsp;if&nbsp;it&nbsp;is&nbsp;Rock<br>
&nbsp;Ridge,&nbsp;or&nbsp;None&nbsp;otherwise.</span></dd></dl>
<dl><dt><a name="PyCdlib-force_consistency"><strong>force_consistency</strong></a>(self)</dt><dd><span class="code">Make&nbsp;sure&nbsp;the&nbsp;ISO&nbsp;<a href="builtins.html#object">object</a>&nbsp;is&nbsp;fully&nbsp;consistent.&nbsp;&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;typically&nbsp;delays<br>
doing&nbsp;work&nbsp;until&nbsp;it&nbsp;is&nbsp;necessary,&nbsp;and&nbsp;this&nbsp;detail&nbsp;is&nbsp;usually&nbsp;hidden<br>
from&nbsp;users.&nbsp;&nbsp;However,&nbsp;there&nbsp;are&nbsp;times&nbsp;that&nbsp;a&nbsp;user&nbsp;may&nbsp;want&nbsp;a&nbsp;fully<br>
consistent&nbsp;view&nbsp;of&nbsp;the&nbsp;ISO&nbsp;without&nbsp;calling&nbsp;one&nbsp;of&nbsp;the&nbsp;methods&nbsp;that<br>
forces&nbsp;consistency.&nbsp;&nbsp;This&nbsp;method&nbsp;allows&nbsp;the&nbsp;user&nbsp;to&nbsp;force&nbsp;a&nbsp;consistent<br>
view&nbsp;of&nbsp;this&nbsp;<a href="builtins.html#object">object</a>.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-full_path_from_dirrecord"><strong>full_path_from_dirrecord</strong></a>(self, rec, rockridge=False)</dt><dd><span class="code">Get&nbsp;the&nbsp;absolute&nbsp;path&nbsp;of&nbsp;a&nbsp;directory&nbsp;record.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;rec&nbsp;-&nbsp;The&nbsp;directory&nbsp;record&nbsp;to&nbsp;get&nbsp;the&nbsp;full&nbsp;path&nbsp;for.<br>
&nbsp;rockridge&nbsp;-&nbsp;Whether&nbsp;to&nbsp;get&nbsp;the&nbsp;rock&nbsp;ridge&nbsp;full&nbsp;path.<br>
Returns:<br>
&nbsp;A&nbsp;string&nbsp;representing&nbsp;the&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_and_write"><strong>get_and_write</strong></a>(self, iso_path, local_path, blocksize=8192)</dt><dd><span class="code">(deprecated)&nbsp;Fetch&nbsp;a&nbsp;single&nbsp;file&nbsp;from&nbsp;the&nbsp;ISO&nbsp;and&nbsp;write&nbsp;it&nbsp;out&nbsp;to&nbsp;the<br>
specified&nbsp;file.&nbsp;&nbsp;Note&nbsp;that&nbsp;this&nbsp;will&nbsp;overwrite&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;local<br>
file&nbsp;if&nbsp;it&nbsp;already&nbsp;exists.&nbsp;&nbsp;Also&nbsp;note&nbsp;that&nbsp;'iso_path'&nbsp;must&nbsp;be&nbsp;an<br>
absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file.&nbsp;&nbsp;Finally,&nbsp;the&nbsp;'iso_path'&nbsp;can&nbsp;be&nbsp;an&nbsp;ISO9660<br>
path,&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;path,&nbsp;or&nbsp;a&nbsp;Joliet&nbsp;path.&nbsp;&nbsp;In&nbsp;the&nbsp;case&nbsp;of&nbsp;ambiguity,<br>
the&nbsp;Joliet&nbsp;path&nbsp;is&nbsp;tried&nbsp;first,&nbsp;followed&nbsp;by&nbsp;the&nbsp;ISO9660&nbsp;path,&nbsp;followed<br>
by&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;path.&nbsp;&nbsp;It&nbsp;is&nbsp;recommended&nbsp;to&nbsp;use&nbsp;the&nbsp;get_file_from_iso<br>
API&nbsp;instead&nbsp;to&nbsp;resolve&nbsp;this&nbsp;ambiguity.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;to&nbsp;get&nbsp;data&nbsp;from.<br>
&nbsp;local_path&nbsp;-&nbsp;The&nbsp;local&nbsp;filename&nbsp;to&nbsp;write&nbsp;the&nbsp;contents&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;blocksize&nbsp;to&nbsp;use&nbsp;when&nbsp;copying&nbsp;data;&nbsp;the&nbsp;default&nbsp;is&nbsp;8192.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_and_write_fp"><strong>get_and_write_fp</strong></a>(self, iso_path, outfp, blocksize=8192)</dt><dd><span class="code">(deprecated)&nbsp;Fetch&nbsp;a&nbsp;single&nbsp;file&nbsp;from&nbsp;the&nbsp;ISO&nbsp;and&nbsp;write&nbsp;it&nbsp;out&nbsp;to&nbsp;the<br>
file&nbsp;<a href="builtins.html#object">object</a>.&nbsp;&nbsp;Note&nbsp;that&nbsp;'iso_path'&nbsp;must&nbsp;be&nbsp;an&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file.<br>
Also&nbsp;note&nbsp;that&nbsp;the&nbsp;'iso_path'&nbsp;can&nbsp;be&nbsp;an&nbsp;ISO9660&nbsp;path,&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;path,<br>
or&nbsp;a&nbsp;Joliet&nbsp;path.&nbsp;&nbsp;In&nbsp;the&nbsp;case&nbsp;of&nbsp;ambiguity,&nbsp;the&nbsp;Joliet&nbsp;path&nbsp;is&nbsp;tried<br>
first,&nbsp;followed&nbsp;by&nbsp;the&nbsp;ISO9660&nbsp;path,&nbsp;followed&nbsp;by&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;path.<br>
It&nbsp;is&nbsp;recommend&nbsp;to&nbsp;use&nbsp;the&nbsp;get_file_from_iso_fp&nbsp;API&nbsp;instead&nbsp;to&nbsp;resolve<br>
this&nbsp;ambiguity.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;to&nbsp;get&nbsp;data&nbsp;from.<br>
&nbsp;outfp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;write&nbsp;data&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;blocksize&nbsp;to&nbsp;use&nbsp;when&nbsp;copying&nbsp;data;&nbsp;the&nbsp;default&nbsp;is&nbsp;8192.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_entry"><strong>get_entry</strong></a>(self, iso_path, joliet=False)</dt><dd><span class="code">(deprecated)&nbsp;Get&nbsp;the&nbsp;directory&nbsp;record&nbsp;for&nbsp;a&nbsp;particular&nbsp;path.&nbsp;&nbsp;It&nbsp;is<br>
recommended&nbsp;to&nbsp;use&nbsp;the&nbsp;'get_record'&nbsp;API&nbsp;instead.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;look&nbsp;up&nbsp;information&nbsp;for.<br>
&nbsp;joliet&nbsp;-&nbsp;Whether&nbsp;to&nbsp;look&nbsp;for&nbsp;the&nbsp;path&nbsp;in&nbsp;the&nbsp;Joliet&nbsp;portion&nbsp;of&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;A&nbsp;dr.DirectoryRecord&nbsp;<a href="builtins.html#object">object</a>&nbsp;representing&nbsp;the&nbsp;path.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_file_from_iso"><strong>get_file_from_iso</strong></a>(self, local_path, **kwargs)</dt><dd><span class="code">Fetch&nbsp;a&nbsp;single&nbsp;file&nbsp;from&nbsp;the&nbsp;ISO&nbsp;and&nbsp;write&nbsp;it&nbsp;out&nbsp;to&nbsp;a&nbsp;local&nbsp;file.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;local_path&nbsp;-&nbsp;The&nbsp;local&nbsp;file&nbsp;to&nbsp;write&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;number&nbsp;of&nbsp;bytes&nbsp;in&nbsp;each&nbsp;transfer.<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;ISO9660&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;rr_path,&nbsp;joliet_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;iso_path,&nbsp;joliet_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;iso_path,&nbsp;rr_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive&nbsp;with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iso_path,&nbsp;rr_path,&nbsp;and&nbsp;joliet_path).<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_file_from_iso_fp"><strong>get_file_from_iso_fp</strong></a>(self, outfp, **kwargs)</dt><dd><span class="code">Fetch&nbsp;a&nbsp;single&nbsp;file&nbsp;from&nbsp;the&nbsp;ISO&nbsp;and&nbsp;write&nbsp;it&nbsp;out&nbsp;to&nbsp;the&nbsp;file&nbsp;<a href="builtins.html#object">object</a>.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;outfp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;write&nbsp;data&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;number&nbsp;of&nbsp;bytes&nbsp;in&nbsp;each&nbsp;transfer.<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;ISO9660&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;rr_path,&nbsp;joliet_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;iso_path,&nbsp;joliet_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;iso_path,&nbsp;rr_path,&nbsp;and&nbsp;udf_path).<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;to&nbsp;lookup&nbsp;on&nbsp;the&nbsp;ISO&nbsp;(exclusive&nbsp;with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iso_path,&nbsp;rr_path,&nbsp;and&nbsp;joliet_path).<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_iso9660_facade"><strong>get_iso9660_facade</strong></a>(self)</dt><dd><span class="code">Return&nbsp;a&nbsp;'facade'&nbsp;that&nbsp;simplifies&nbsp;some&nbsp;of&nbsp;the&nbsp;complexities&nbsp;of&nbsp;the<br>
<a href="#PyCdlib">PyCdlib</a>&nbsp;class,&nbsp;while&nbsp;giving&nbsp;up&nbsp;some&nbsp;of&nbsp;the&nbsp;full&nbsp;power.&nbsp;&nbsp;This&nbsp;facade<br>
only&nbsp;allows&nbsp;manipulation&nbsp;of&nbsp;the&nbsp;ISO9660&nbsp;portions&nbsp;of&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;A&nbsp;PyCdlibISO9660&nbsp;<a href="builtins.html#object">object</a>&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;interact&nbsp;with&nbsp;the&nbsp;ISO.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_joliet_facade"><strong>get_joliet_facade</strong></a>(self)</dt><dd><span class="code">Return&nbsp;a&nbsp;'facade'&nbsp;that&nbsp;simplifies&nbsp;some&nbsp;of&nbsp;the&nbsp;complexities&nbsp;of&nbsp;the<br>
<a href="#PyCdlib">PyCdlib</a>&nbsp;class,&nbsp;while&nbsp;giving&nbsp;up&nbsp;some&nbsp;of&nbsp;the&nbsp;full&nbsp;power.&nbsp;&nbsp;This&nbsp;facade<br>
only&nbsp;allows&nbsp;manipulation&nbsp;of&nbsp;the&nbsp;Joliet&nbsp;portions&nbsp;of&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;A&nbsp;PyCdlibJoliet&nbsp;<a href="builtins.html#object">object</a>&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;interact&nbsp;with&nbsp;the&nbsp;ISO.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_record"><strong>get_record</strong></a>(self, **kwargs)</dt><dd><span class="code">Get&nbsp;the&nbsp;directory&nbsp;record&nbsp;for&nbsp;a&nbsp;particular&nbsp;path.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO9660&nbsp;filesystem&nbsp;to&nbsp;get&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record&nbsp;for.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;on&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;filesystem&nbsp;to&nbsp;get&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record&nbsp;for.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;on&nbsp;the&nbsp;Joliet&nbsp;filesystem&nbsp;to&nbsp;get&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record&nbsp;for.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;on&nbsp;the&nbsp;UDF&nbsp;filesystem&nbsp;to&nbsp;get&nbsp;the&nbsp;record<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for.<br>
Returns:<br>
&nbsp;An&nbsp;<a href="builtins.html#object">object</a>&nbsp;that&nbsp;represents&nbsp;the&nbsp;path.&nbsp;&nbsp;This&nbsp;may&nbsp;be&nbsp;a&nbsp;dr.DirectoryRecord<br>
&nbsp;<a href="builtins.html#object">object</a>&nbsp;(in&nbsp;the&nbsp;cases&nbsp;of&nbsp;iso_path,&nbsp;rr_path,&nbsp;or&nbsp;joliet_path),&nbsp;or&nbsp;a<br>
&nbsp;udf.UDFFileEntry&nbsp;<a href="builtins.html#object">object</a>&nbsp;(in&nbsp;the&nbsp;case&nbsp;of&nbsp;udf_path).</span></dd></dl>
<dl><dt><a name="PyCdlib-get_rock_ridge_facade"><strong>get_rock_ridge_facade</strong></a>(self)</dt><dd><span class="code">Return&nbsp;a&nbsp;'facade'&nbsp;that&nbsp;simplifies&nbsp;some&nbsp;of&nbsp;the&nbsp;complexities&nbsp;of&nbsp;the<br>
<a href="#PyCdlib">PyCdlib</a>&nbsp;class,&nbsp;while&nbsp;giving&nbsp;up&nbsp;some&nbsp;of&nbsp;the&nbsp;full&nbsp;power.&nbsp;&nbsp;This&nbsp;facade<br>
only&nbsp;allows&nbsp;manipulation&nbsp;of&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;portions&nbsp;of&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;A&nbsp;PyCdlibRockRidge&nbsp;<a href="builtins.html#object">object</a>&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;interact&nbsp;with&nbsp;the&nbsp;ISO.</span></dd></dl>
<dl><dt><a name="PyCdlib-get_udf_facade"><strong>get_udf_facade</strong></a>(self)</dt><dd><span class="code">Return&nbsp;a&nbsp;'facade'&nbsp;that&nbsp;simplifies&nbsp;some&nbsp;of&nbsp;the&nbsp;complexities&nbsp;of&nbsp;the<br>
<a href="#PyCdlib">PyCdlib</a>&nbsp;class,&nbsp;while&nbsp;giving&nbsp;up&nbsp;some&nbsp;of&nbsp;the&nbsp;full&nbsp;power.&nbsp;&nbsp;This&nbsp;facade<br>
only&nbsp;allows&nbsp;manipulation&nbsp;of&nbsp;the&nbsp;UDF&nbsp;portions&nbsp;of&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;A&nbsp;PyCdlibUDF&nbsp;<a href="builtins.html#object">object</a>&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;interact&nbsp;with&nbsp;the&nbsp;ISO.</span></dd></dl>
<dl><dt><a name="PyCdlib-has_joliet"><strong>has_joliet</strong></a>(self)</dt><dd><span class="code">Returns&nbsp;whether&nbsp;this&nbsp;ISO&nbsp;has&nbsp;Joliet&nbsp;extensions.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;True&nbsp;if&nbsp;this&nbsp;ISO&nbsp;has&nbsp;Joliet,&nbsp;False&nbsp;otherwise.</span></dd></dl>
<dl><dt><a name="PyCdlib-has_rock_ridge"><strong>has_rock_ridge</strong></a>(self)</dt><dd><span class="code">Returns&nbsp;whether&nbsp;this&nbsp;ISO&nbsp;has&nbsp;Rock&nbsp;Ridge&nbsp;extensions.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;True&nbsp;if&nbsp;this&nbsp;ISO&nbsp;has&nbsp;Rock&nbsp;Ridge&nbsp;extensions,&nbsp;False&nbsp;otherwise.</span></dd></dl>
<dl><dt><a name="PyCdlib-has_udf"><strong>has_udf</strong></a>(self)</dt><dd><span class="code">Returns&nbsp;whether&nbsp;this&nbsp;ISO&nbsp;has&nbsp;UDF&nbsp;extensions.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;True&nbsp;if&nbsp;this&nbsp;ISO&nbsp;has&nbsp;UDF,&nbsp;False&nbsp;otherwise.</span></dd></dl>
<dl><dt><a name="PyCdlib-list_children"><strong>list_children</strong></a>(self, **kwargs)</dt><dd><span class="code">Generate&nbsp;a&nbsp;list&nbsp;of&nbsp;all&nbsp;of&nbsp;the&nbsp;file/directory&nbsp;objects&nbsp;in&nbsp;the<br>
specified&nbsp;location&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;list&nbsp;the&nbsp;children&nbsp;for.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;list&nbsp;the&nbsp;children&nbsp;for.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;list&nbsp;the&nbsp;children&nbsp;for.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;list&nbsp;the&nbsp;children&nbsp;for.<br>
Yields:<br>
&nbsp;Children&nbsp;of&nbsp;this&nbsp;path.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-list_dir"><strong>list_dir</strong></a>(self, iso_path, joliet=False)</dt><dd><span class="code">(deprecated)&nbsp;Generate&nbsp;a&nbsp;list&nbsp;of&nbsp;all&nbsp;of&nbsp;the&nbsp;file/directory&nbsp;objects&nbsp;in&nbsp;the<br>
specified&nbsp;location&nbsp;on&nbsp;the&nbsp;ISO.&nbsp;&nbsp;It&nbsp;is&nbsp;recommended&nbsp;to&nbsp;use&nbsp;the<br>
'list_children'&nbsp;API&nbsp;instead.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;look&nbsp;up&nbsp;information&nbsp;for.<br>
&nbsp;joliet&nbsp;-&nbsp;Whether&nbsp;to&nbsp;look&nbsp;for&nbsp;the&nbsp;path&nbsp;in&nbsp;the&nbsp;Joliet&nbsp;portion&nbsp;of&nbsp;the&nbsp;ISO.<br>
Yields:<br>
&nbsp;Children&nbsp;of&nbsp;this&nbsp;path.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-modify_file_in_place"><strong>modify_file_in_place</strong></a>(self, fp, length, iso_path, rr_name=None, joliet_path=None, udf_path=None)</dt><dd><span class="code">An&nbsp;API&nbsp;to&nbsp;modify&nbsp;a&nbsp;file&nbsp;in&nbsp;place&nbsp;on&nbsp;the&nbsp;ISO.&nbsp;&nbsp;This&nbsp;can&nbsp;be&nbsp;extremely&nbsp;fast<br>
(much&nbsp;faster&nbsp;than&nbsp;calling&nbsp;the&nbsp;write&nbsp;method),&nbsp;but&nbsp;has&nbsp;many&nbsp;restrictions.<br>
&nbsp;<br>
1.&nbsp;&nbsp;The&nbsp;original&nbsp;ISO&nbsp;file&nbsp;pointer&nbsp;must&nbsp;have&nbsp;been&nbsp;opened&nbsp;for&nbsp;reading<br>
&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;writing.<br>
2.&nbsp;&nbsp;Only&nbsp;an&nbsp;existing&nbsp;*file*&nbsp;can&nbsp;be&nbsp;modified;&nbsp;directories&nbsp;cannot&nbsp;be<br>
&nbsp;&nbsp;&nbsp;&nbsp;changed.<br>
3.&nbsp;&nbsp;Only&nbsp;an&nbsp;existing&nbsp;file&nbsp;can&nbsp;be&nbsp;*modified*;&nbsp;no&nbsp;new&nbsp;files&nbsp;can&nbsp;be&nbsp;added<br>
&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;removed.<br>
4.&nbsp;&nbsp;The&nbsp;new&nbsp;file&nbsp;contents&nbsp;must&nbsp;use&nbsp;the&nbsp;same&nbsp;number&nbsp;of&nbsp;extents&nbsp;(typically<br>
&nbsp;&nbsp;&nbsp;&nbsp;2048&nbsp;bytes)&nbsp;as&nbsp;the&nbsp;old&nbsp;file&nbsp;contents.&nbsp;&nbsp;If&nbsp;using&nbsp;this&nbsp;API&nbsp;to&nbsp;shrink<br>
&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;file,&nbsp;this&nbsp;is&nbsp;usually&nbsp;easy&nbsp;since&nbsp;the&nbsp;new&nbsp;contents&nbsp;can&nbsp;be&nbsp;padded<br>
&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;with&nbsp;zeros&nbsp;or&nbsp;newlines&nbsp;to&nbsp;meet&nbsp;the&nbsp;requirement.&nbsp;&nbsp;If&nbsp;using&nbsp;this<br>
&nbsp;&nbsp;&nbsp;&nbsp;API&nbsp;to&nbsp;grow&nbsp;a&nbsp;file,&nbsp;the&nbsp;new&nbsp;contents&nbsp;can&nbsp;only&nbsp;grow&nbsp;up&nbsp;to&nbsp;the&nbsp;next<br>
&nbsp;&nbsp;&nbsp;&nbsp;extent&nbsp;boundary.<br>
&nbsp;<br>
Unlike&nbsp;all&nbsp;other&nbsp;APIs&nbsp;in&nbsp;<a href="#PyCdlib">PyCdlib</a>,&nbsp;this&nbsp;API&nbsp;actually&nbsp;modifies&nbsp;the<br>
originally&nbsp;opened&nbsp;on-disk&nbsp;file,&nbsp;so&nbsp;use&nbsp;it&nbsp;with&nbsp;caution.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;fp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;new&nbsp;file.<br>
&nbsp;length&nbsp;-&nbsp;The&nbsp;length&nbsp;of&nbsp;the&nbsp;new&nbsp;data&nbsp;for&nbsp;the&nbsp;file.<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;destination&nbsp;on&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-new"><strong>new</strong></a>(self, interchange_level=1, sys_ident='', vol_ident='', set_size=1, seqnum=1, log_block_size=2048, vol_set_ident=' ', pub_ident_str='', preparer_ident_str='', app_ident_str='', copyright_file='', abstract_file='', bibli_file='', vol_expire_date=None, app_use='', joliet=None, rock_ridge=None, xa=False, udf=None)</dt><dd><span class="code">Create&nbsp;a&nbsp;new&nbsp;ISO&nbsp;from&nbsp;scratch.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;interchange_level&nbsp;-&nbsp;The&nbsp;ISO9660&nbsp;interchange&nbsp;level&nbsp;to&nbsp;use;&nbsp;this&nbsp;dictates<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;rules&nbsp;on&nbsp;the&nbsp;names&nbsp;of&nbsp;files.&nbsp;&nbsp;Levels&nbsp;1,&nbsp;2,&nbsp;3,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;4&nbsp;are&nbsp;supported.&nbsp;&nbsp;Level&nbsp;1&nbsp;is&nbsp;the&nbsp;most<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conservative,&nbsp;and&nbsp;is&nbsp;the&nbsp;default,&nbsp;but&nbsp;level&nbsp;3&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;recommended.<br>
&nbsp;sys_ident&nbsp;-&nbsp;The&nbsp;system&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;vol_ident&nbsp;-&nbsp;The&nbsp;volume&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;set_size&nbsp;-&nbsp;The&nbsp;size&nbsp;of&nbsp;the&nbsp;set&nbsp;of&nbsp;ISOs&nbsp;this&nbsp;ISO&nbsp;is&nbsp;a&nbsp;part&nbsp;of.<br>
&nbsp;seqnum&nbsp;-&nbsp;The&nbsp;sequence&nbsp;number&nbsp;of&nbsp;the&nbsp;set&nbsp;of&nbsp;this&nbsp;ISO.<br>
&nbsp;log_block_size&nbsp;-&nbsp;The&nbsp;logical&nbsp;block&nbsp;size&nbsp;to&nbsp;use&nbsp;for&nbsp;the&nbsp;ISO.&nbsp;&nbsp;While&nbsp;ISO9660<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;technically&nbsp;supports&nbsp;sizes&nbsp;other&nbsp;than&nbsp;2048&nbsp;(the&nbsp;default),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;almost&nbsp;certainly&nbsp;doesn't&nbsp;work.<br>
&nbsp;vol_set_ident&nbsp;-&nbsp;The&nbsp;volume&nbsp;set&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;pub_ident_str&nbsp;-&nbsp;The&nbsp;publisher&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;preparer_ident_str&nbsp;-&nbsp;The&nbsp;preparer&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;app_ident_str&nbsp;-&nbsp;The&nbsp;application&nbsp;identification&nbsp;string&nbsp;to&nbsp;use&nbsp;on&nbsp;the&nbsp;new&nbsp;ISO.<br>
&nbsp;copyright_file&nbsp;-&nbsp;The&nbsp;name&nbsp;of&nbsp;a&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;ISO&nbsp;to&nbsp;use&nbsp;as&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copyright&nbsp;file.<br>
&nbsp;abstract_file&nbsp;-&nbsp;The&nbsp;name&nbsp;of&nbsp;a&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;ISO&nbsp;to&nbsp;use&nbsp;as&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abstract&nbsp;file.<br>
&nbsp;bibli_file&nbsp;-&nbsp;The&nbsp;name&nbsp;of&nbsp;a&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;of&nbsp;the&nbsp;ISO&nbsp;to&nbsp;use&nbsp;as&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bibliographic&nbsp;file.<br>
&nbsp;vol_expire_date&nbsp;-&nbsp;The&nbsp;date&nbsp;that&nbsp;this&nbsp;ISO&nbsp;will&nbsp;expire&nbsp;at.<br>
&nbsp;app_use&nbsp;-&nbsp;Arbitrary&nbsp;data&nbsp;that&nbsp;the&nbsp;application&nbsp;can&nbsp;stuff&nbsp;into&nbsp;the&nbsp;primary<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;volume&nbsp;descriptor&nbsp;of&nbsp;this&nbsp;ISO.<br>
&nbsp;joliet&nbsp;-&nbsp;A&nbsp;integer&nbsp;that&nbsp;can&nbsp;have&nbsp;the&nbsp;value&nbsp;1,&nbsp;2,&nbsp;or&nbsp;3&nbsp;for&nbsp;Joliet<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;levels&nbsp;1,&nbsp;2,&nbsp;or&nbsp;3&nbsp;(3&nbsp;is&nbsp;by&nbsp;far&nbsp;the&nbsp;most&nbsp;common),&nbsp;or&nbsp;None&nbsp;for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;no&nbsp;Joliet&nbsp;support&nbsp;(the&nbsp;default).&nbsp;&nbsp;For&nbsp;legacy&nbsp;reasons,&nbsp;this<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameter&nbsp;also&nbsp;accepts&nbsp;a&nbsp;boolean,&nbsp;where&nbsp;the&nbsp;value&nbsp;of&nbsp;'False'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;means&nbsp;no&nbsp;Joliet&nbsp;and&nbsp;a&nbsp;value&nbsp;of&nbsp;'True'&nbsp;means&nbsp;level&nbsp;3.<br>
&nbsp;rock_ridge&nbsp;-&nbsp;Whether&nbsp;to&nbsp;make&nbsp;this&nbsp;ISO&nbsp;have&nbsp;the&nbsp;Rock&nbsp;Ridge&nbsp;extensions&nbsp;or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not.&nbsp;&nbsp;The&nbsp;default&nbsp;value&nbsp;of&nbsp;None&nbsp;does&nbsp;not&nbsp;add&nbsp;Rock&nbsp;Ridge<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extensions.&nbsp;&nbsp;A&nbsp;string&nbsp;value&nbsp;of&nbsp;'1.09',&nbsp;'1.10',&nbsp;or&nbsp;'1.12'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adds&nbsp;the&nbsp;specified&nbsp;Rock&nbsp;Ridge&nbsp;version&nbsp;to&nbsp;the&nbsp;ISO.&nbsp;&nbsp;If<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsure,&nbsp;pass&nbsp;'1.09'&nbsp;to&nbsp;ensure&nbsp;maximum&nbsp;compatibility.<br>
&nbsp;xa&nbsp;-&nbsp;Whether&nbsp;to&nbsp;add&nbsp;the&nbsp;ISO9660&nbsp;Extended&nbsp;Attribute&nbsp;extensions&nbsp;to&nbsp;this<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ISO.&nbsp;&nbsp;The&nbsp;default&nbsp;is&nbsp;False.<br>
&nbsp;udf&nbsp;-&nbsp;Whether&nbsp;to&nbsp;add&nbsp;UDF&nbsp;support&nbsp;to&nbsp;this&nbsp;ISO.&nbsp;&nbsp;If&nbsp;it&nbsp;is&nbsp;None&nbsp;(the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default),&nbsp;no&nbsp;UDF&nbsp;support&nbsp;is&nbsp;added.&nbsp;&nbsp;If&nbsp;it&nbsp;is&nbsp;"2.60",&nbsp;version&nbsp;2.60<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;UDF&nbsp;spec&nbsp;is&nbsp;used.&nbsp;&nbsp;All&nbsp;other&nbsp;values&nbsp;are&nbsp;disallowed.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-open"><strong>open</strong></a>(self, filename, mode='rb')</dt><dd><span class="code">Open&nbsp;up&nbsp;an&nbsp;existing&nbsp;ISO&nbsp;for&nbsp;inspection&nbsp;and&nbsp;modification.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;filename&nbsp;-&nbsp;The&nbsp;filename&nbsp;containing&nbsp;the&nbsp;ISO&nbsp;to&nbsp;open&nbsp;up.<br>
&nbsp;mode&nbsp;-&nbsp;The&nbsp;mode&nbsp;to&nbsp;use&nbsp;when&nbsp;opening&nbsp;the&nbsp;ISO&nbsp;file;&nbsp;the&nbsp;default&nbsp;is&nbsp;'rb'.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-open_file_from_iso"><strong>open_file_from_iso</strong></a>(self, **kwargs)</dt><dd><span class="code">Open&nbsp;a&nbsp;file&nbsp;for&nbsp;reading&nbsp;in&nbsp;a&nbsp;context&nbsp;manager.&nbsp;&nbsp;This&nbsp;allows&nbsp;the&nbsp;user&nbsp;to<br>
operate&nbsp;on&nbsp;the&nbsp;file&nbsp;in&nbsp;user-defined&nbsp;chunks&nbsp;(utilizing&nbsp;the&nbsp;read()&nbsp;method<br>
of&nbsp;the&nbsp;returned&nbsp;context&nbsp;manager).<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;ISO&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;on&nbsp;the&nbsp;ISO.<br>
Returns:<br>
&nbsp;A&nbsp;PyCdlibIO&nbsp;<a href="builtins.html#object">object</a>&nbsp;allowing&nbsp;access&nbsp;to&nbsp;the&nbsp;file.</span></dd></dl>
<dl><dt><a name="PyCdlib-open_fp"><strong>open_fp</strong></a>(self, fp)</dt><dd><span class="code">Open&nbsp;up&nbsp;an&nbsp;existing&nbsp;ISO&nbsp;for&nbsp;inspection&nbsp;and&nbsp;modification.&nbsp;&nbsp;Note&nbsp;that&nbsp;the<br>
file&nbsp;<a href="builtins.html#object">object</a>&nbsp;passed&nbsp;in&nbsp;here&nbsp;must&nbsp;stay&nbsp;open&nbsp;for&nbsp;the&nbsp;lifetime&nbsp;of&nbsp;this<br>
<a href="builtins.html#object">object</a>,&nbsp;as&nbsp;the&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;class&nbsp;uses&nbsp;it&nbsp;internally&nbsp;to&nbsp;do&nbsp;writing&nbsp;and&nbsp;reading<br>
operations.&nbsp;&nbsp;To&nbsp;have&nbsp;<a href="#PyCdlib">PyCdlib</a>&nbsp;manage&nbsp;this&nbsp;automatically,&nbsp;use&nbsp;'open'<br>
instead.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;fp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;containing&nbsp;the&nbsp;ISO&nbsp;to&nbsp;open&nbsp;up.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_directory"><strong>rm_directory</strong></a>(self, iso_path=None, rr_name=None, joliet_path=None, udf_path=None)</dt><dd><span class="code">Remove&nbsp;a&nbsp;directory&nbsp;from&nbsp;the&nbsp;ISO.&nbsp;&nbsp;The&nbsp;directory&nbsp;must&nbsp;be&nbsp;empty.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;to&nbsp;the&nbsp;directory&nbsp;to&nbsp;remove.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;directory&nbsp;to&nbsp;remove.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;directory&nbsp;to&nbsp;remove.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;absolute&nbsp;path&nbsp;to&nbsp;the&nbsp;directory&nbsp;to&nbsp;remove.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_eltorito"><strong>rm_eltorito</strong></a>(self)</dt><dd><span class="code">Remove&nbsp;the&nbsp;El&nbsp;Torito&nbsp;boot&nbsp;record&nbsp;(and&nbsp;Boot&nbsp;Catalog)&nbsp;from&nbsp;the&nbsp;ISO.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_file"><strong>rm_file</strong></a>(self, iso_path=None, rr_name=None, joliet_path=None, udf_path=None)</dt><dd><span class="code">Remove&nbsp;a&nbsp;file&nbsp;from&nbsp;the&nbsp;ISO.&nbsp;&nbsp;This&nbsp;removes&nbsp;the&nbsp;data&nbsp;and&nbsp;the&nbsp;listing&nbsp;of<br>
the&nbsp;file&nbsp;from&nbsp;all&nbsp;contexts,&nbsp;even&nbsp;when&nbsp;only&nbsp;one&nbsp;path&nbsp;is&nbsp;given&nbsp;(to&nbsp;only<br>
remove&nbsp;it&nbsp;from&nbsp;a&nbsp;single&nbsp;context,&nbsp;use&nbsp;<a href="#PyCdlib-rm_hard_link">rm_hard_link</a>()&nbsp;instead).&nbsp;&nbsp;Due&nbsp;to<br>
some&nbsp;complexities&nbsp;of&nbsp;the&nbsp;ISO&nbsp;format,&nbsp;removal&nbsp;of&nbsp;zero-byte&nbsp;files&nbsp;from&nbsp;all<br>
contexts&nbsp;does&nbsp;not&nbsp;automatically&nbsp;happen,&nbsp;so&nbsp;this&nbsp;method&nbsp;may&nbsp;need&nbsp;to&nbsp;be<br>
called&nbsp;more&nbsp;than&nbsp;once&nbsp;for&nbsp;zero-byte&nbsp;files.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;to&nbsp;remove.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;of&nbsp;the&nbsp;file&nbsp;to&nbsp;remove.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;to&nbsp;remove.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;path&nbsp;to&nbsp;the&nbsp;file&nbsp;to&nbsp;remove.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_hard_link"><strong>rm_hard_link</strong></a>(self, iso_path=None, joliet_path=None, udf_path=None)</dt><dd><span class="code">Remove&nbsp;a&nbsp;hard&nbsp;link&nbsp;from&nbsp;the&nbsp;ISO.&nbsp;&nbsp;If&nbsp;the&nbsp;number&nbsp;of&nbsp;links&nbsp;to&nbsp;a&nbsp;piece&nbsp;of<br>
data&nbsp;drops&nbsp;to&nbsp;zero,&nbsp;then&nbsp;the&nbsp;contents&nbsp;will&nbsp;be&nbsp;removed&nbsp;from&nbsp;the&nbsp;ISO.<br>
This&nbsp;can&nbsp;be&nbsp;thought&nbsp;of&nbsp;as&nbsp;a&nbsp;lower-level&nbsp;interface&nbsp;to&nbsp;<a href="#PyCdlib-rm_file">rm_file</a>().&nbsp;&nbsp;Either<br>
an&nbsp;ISO9660&nbsp;path&nbsp;or&nbsp;a&nbsp;Joliet&nbsp;path&nbsp;must&nbsp;be&nbsp;passed&nbsp;to&nbsp;this&nbsp;API,&nbsp;but&nbsp;not<br>
both.&nbsp;&nbsp;Thus,&nbsp;this&nbsp;interface&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;hide&nbsp;files&nbsp;from&nbsp;either&nbsp;the<br>
ISO9660&nbsp;filesystem,&nbsp;the&nbsp;Joliet&nbsp;filesystem,&nbsp;or&nbsp;both&nbsp;(if&nbsp;there&nbsp;is&nbsp;another<br>
reference&nbsp;to&nbsp;the&nbsp;data&nbsp;on&nbsp;the&nbsp;ISO,&nbsp;such&nbsp;as&nbsp;in&nbsp;El&nbsp;Torito).&nbsp;&nbsp;Note&nbsp;that&nbsp;this<br>
is&nbsp;an&nbsp;advanced&nbsp;API,&nbsp;so&nbsp;using&nbsp;it&nbsp;in&nbsp;combination&nbsp;with&nbsp;the&nbsp;higher-level&nbsp;APIs<br>
(like&nbsp;<a href="#PyCdlib-rm_file">rm_file</a>())&nbsp;may&nbsp;result&nbsp;in&nbsp;unexpected&nbsp;behavior.&nbsp;&nbsp;Once&nbsp;this&nbsp;API&nbsp;has<br>
been&nbsp;used,&nbsp;this&nbsp;API&nbsp;and&nbsp;<a href="#PyCdlib-add_hard_link">add_hard_link</a>()&nbsp;should&nbsp;be&nbsp;preferred&nbsp;over<br>
<a href="#PyCdlib-rm_file">rm_file</a>()&nbsp;and&nbsp;<a href="#PyCdlib-add_file">add_file</a>().<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;ISO&nbsp;link&nbsp;path&nbsp;to&nbsp;remove.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;link&nbsp;path&nbsp;to&nbsp;remove.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;UDF&nbsp;link&nbsp;path&nbsp;to&nbsp;remove.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_isohybrid"><strong>rm_isohybrid</strong></a>(self)</dt><dd><span class="code">Remove&nbsp;the&nbsp;'hybridization'&nbsp;of&nbsp;an&nbsp;ISO,&nbsp;making&nbsp;it&nbsp;a&nbsp;traditional&nbsp;ISO&nbsp;again.<br>
This&nbsp;means&nbsp;the&nbsp;ISO&nbsp;will&nbsp;no&nbsp;longer&nbsp;be&nbsp;able&nbsp;to&nbsp;be&nbsp;copied&nbsp;and&nbsp;booted&nbsp;off<br>
of&nbsp;traditional&nbsp;media&nbsp;(like&nbsp;USB&nbsp;sticks).<br>
&nbsp;<br>
Parameters:<br>
&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-rm_joliet_directory"><strong>rm_joliet_directory</strong></a>(self, joliet_path)</dt><dd><span class="code">(deprecated)&nbsp;Remove&nbsp;a&nbsp;Joliet&nbsp;directory&nbsp;from&nbsp;the&nbsp;ISO.&nbsp;&nbsp;It&nbsp;is&nbsp;recommended<br>
to&nbsp;use&nbsp;the&nbsp;'joliet_path'&nbsp;parameter&nbsp;to&nbsp;'rm_directory'&nbsp;instead.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;directory&nbsp;to&nbsp;remove.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-set_hidden"><strong>set_hidden</strong></a>(self, iso_path=None, rr_path=None, joliet_path=None)</dt><dd><span class="code">Set&nbsp;the&nbsp;ISO9660&nbsp;hidden&nbsp;attribute&nbsp;on&nbsp;a&nbsp;file&nbsp;or&nbsp;directory.&nbsp;&nbsp;This&nbsp;will<br>
cause&nbsp;the&nbsp;file&nbsp;or&nbsp;directory&nbsp;not&nbsp;to&nbsp;show&nbsp;up&nbsp;when&nbsp;listing&nbsp;entries&nbsp;on&nbsp;the<br>
ISO.&nbsp;&nbsp;Exactly&nbsp;one&nbsp;of&nbsp;iso_path,&nbsp;rr_path,&nbsp;or&nbsp;joliet_path&nbsp;must&nbsp;be&nbsp;specified.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;set&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;on.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;set&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;on.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;Joliet&nbsp;path&nbsp;on&nbsp;the&nbsp;ISO&nbsp;to&nbsp;set&nbsp;the&nbsp;hidden&nbsp;bit&nbsp;on.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-set_relocated_name"><strong>set_relocated_name</strong></a>(self, name, rr_name)</dt><dd><span class="code">Set&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;relocated&nbsp;directory&nbsp;on&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;ISO.&nbsp;&nbsp;The&nbsp;ISO<br>
must&nbsp;be&nbsp;a&nbsp;Rock&nbsp;Ridge&nbsp;one,&nbsp;and&nbsp;must&nbsp;not&nbsp;have&nbsp;previously&nbsp;had&nbsp;the&nbsp;relocated<br>
name&nbsp;set.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;name&nbsp;-&nbsp;The&nbsp;name&nbsp;for&nbsp;a&nbsp;relocated&nbsp;directory.<br>
&nbsp;rr_name&nbsp;-&nbsp;The&nbsp;Rock&nbsp;Ridge&nbsp;name&nbsp;for&nbsp;a&nbsp;relocated&nbsp;directory.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-walk"><strong>walk</strong></a>(self, **kwargs)</dt><dd><span class="code">Walk&nbsp;the&nbsp;entries&nbsp;on&nbsp;the&nbsp;ISO,&nbsp;starting&nbsp;at&nbsp;the&nbsp;given&nbsp;path.&nbsp;&nbsp;One,&nbsp;and&nbsp;only<br>
one,&nbsp;of&nbsp;iso_path,&nbsp;rr_path,&nbsp;joliet_path,&nbsp;and&nbsp;udf_path&nbsp;is&nbsp;allowed.<br>
Similar&nbsp;to&nbsp;os.<a href="#PyCdlib-walk">walk</a>(),&nbsp;yield&nbsp;a&nbsp;3-tuple&nbsp;of&nbsp;(path-to-here,&nbsp;dirlist,&nbsp;filelist)<br>
for&nbsp;each&nbsp;directory&nbsp;level.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;iso_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;ISO&nbsp;path&nbsp;to&nbsp;the&nbsp;starting&nbsp;entry&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;rr_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Rock&nbsp;Ridge&nbsp;path&nbsp;to&nbsp;the&nbsp;starting&nbsp;entry&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;joliet_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;Joliet&nbsp;path&nbsp;to&nbsp;the&nbsp;starting&nbsp;entry&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;udf_path&nbsp;-&nbsp;The&nbsp;absolute&nbsp;UDF&nbsp;path&nbsp;to&nbsp;the&nbsp;starting&nbsp;entry&nbsp;on&nbsp;the&nbsp;ISO.<br>
&nbsp;encoding&nbsp;-&nbsp;The&nbsp;encoding&nbsp;to&nbsp;use&nbsp;for&nbsp;returned&nbsp;strings.<br>
Yields:<br>
&nbsp;3-tuples&nbsp;of&nbsp;(path-to-here,&nbsp;dirlist,&nbsp;filelist)<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-write"><strong>write</strong></a>(self, filename, blocksize=32768, progress_cb=None, progress_opaque=None)</dt><dd><span class="code">Write&nbsp;a&nbsp;properly&nbsp;formatted&nbsp;ISO&nbsp;out&nbsp;to&nbsp;the&nbsp;filename&nbsp;passed&nbsp;in.&nbsp;&nbsp;This<br>
also&nbsp;goes&nbsp;by&nbsp;the&nbsp;name&nbsp;of&nbsp;'mastering'.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;filename&nbsp;-&nbsp;The&nbsp;filename&nbsp;to&nbsp;write&nbsp;the&nbsp;data&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;blocksize&nbsp;to&nbsp;use&nbsp;when&nbsp;copying&nbsp;data;&nbsp;the&nbsp;default&nbsp;is&nbsp;32768.<br>
&nbsp;progress_cb&nbsp;-&nbsp;If&nbsp;not&nbsp;None,&nbsp;a&nbsp;function&nbsp;to&nbsp;call&nbsp;as&nbsp;the&nbsp;write&nbsp;call&nbsp;does&nbsp;its<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work.&nbsp;&nbsp;The&nbsp;callback&nbsp;function&nbsp;must&nbsp;have&nbsp;a&nbsp;signature&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;func(done,&nbsp;total,&nbsp;opaque).<br>
&nbsp;progress_opaque&nbsp;-&nbsp;User&nbsp;data&nbsp;to&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;progress&nbsp;callback;&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;is&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<dl><dt><a name="PyCdlib-write_fp"><strong>write_fp</strong></a>(self, outfp, blocksize=32768, progress_cb=None, progress_opaque=None)</dt><dd><span class="code">Write&nbsp;a&nbsp;properly&nbsp;formatted&nbsp;ISO&nbsp;out&nbsp;to&nbsp;the&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;passed&nbsp;in.&nbsp;&nbsp;This<br>
also&nbsp;goes&nbsp;by&nbsp;the&nbsp;name&nbsp;of&nbsp;'mastering'.<br>
&nbsp;<br>
Parameters:<br>
&nbsp;outfp&nbsp;-&nbsp;The&nbsp;file&nbsp;<a href="builtins.html#object">object</a>&nbsp;to&nbsp;write&nbsp;the&nbsp;data&nbsp;to.<br>
&nbsp;blocksize&nbsp;-&nbsp;The&nbsp;blocksize&nbsp;to&nbsp;use&nbsp;when&nbsp;copying&nbsp;data;&nbsp;the&nbsp;default&nbsp;is&nbsp;32768.<br>
&nbsp;progress_cb&nbsp;-&nbsp;If&nbsp;not&nbsp;None,&nbsp;a&nbsp;function&nbsp;to&nbsp;call&nbsp;as&nbsp;the&nbsp;write&nbsp;call&nbsp;does&nbsp;its<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;work.&nbsp;&nbsp;The&nbsp;callback&nbsp;function&nbsp;must&nbsp;have&nbsp;a&nbsp;signature&nbsp;of:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;func(done,&nbsp;total,&nbsp;opaque).<br>
&nbsp;progress_opaque&nbsp;-&nbsp;User&nbsp;data&nbsp;to&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;progress&nbsp;callback;&nbsp;the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;is&nbsp;None.<br>
Returns:<br>
&nbsp;Nothing.</span></dd></dl>
<hr>
Data descriptors defined here:<br>
<dl><dt><strong>brs</strong></dt>
</dl>
<dl><dt><strong>eltorito_boot_catalog</strong></dt>
</dl>
<dl><dt><strong>enhanced_vd</strong></dt>
</dl>
<dl><dt><strong>inodes</strong></dt>
</dl>
<dl><dt><strong>interchange_level</strong></dt>
</dl>
<dl><dt><strong>isohybrid_mbr</strong></dt>
</dl>
<dl><dt><strong>joliet_vd</strong></dt>
</dl>
<dl><dt><strong>logical_block_size</strong></dt>
</dl>
<dl><dt><strong>pvd</strong></dt>
</dl>
<dl><dt><strong>pvds</strong></dt>
</dl>
<dl><dt><strong>rock_ridge</strong></dt>
</dl>
<dl><dt><strong>svds</strong></dt>
</dl>
<dl><dt><strong>udf_anchors</strong></dt>
</dl>
<dl><dt><strong>udf_beas</strong></dt>
</dl>
<dl><dt><strong>udf_boots</strong></dt>
</dl>
<dl><dt><strong>udf_file_set</strong></dt>
</dl>
<dl><dt><strong>udf_file_set_terminator</strong></dt>
</dl>
<dl><dt><strong>udf_logical_volume_integrity</strong></dt>
</dl>
<dl><dt><strong>udf_logical_volume_integrity_terminator</strong></dt>
</dl>
<dl><dt><strong>udf_main_descs</strong></dt>
</dl>
<dl><dt><strong>udf_nsr</strong></dt>
</dl>
<dl><dt><strong>udf_reserve_descs</strong></dt>
</dl>
<dl><dt><strong>udf_root</strong></dt>
</dl>
<dl><dt><strong>udf_teas</strong></dt>
</dl>
<dl><dt><strong>vdsts</strong></dt>
</dl>
<dl><dt><strong>version_vd</strong></dt>
</dl>
<dl><dt><strong>xa</strong></dt>
</dl>
</td></tr></table></td></tr></table></div>
</body></html>