File: pycdlib-api.html

package info (click to toggle)
python-pycdlib 1.12.0%2Bds1-7
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,748 kB
  • sloc: python: 36,118; makefile: 63
file content (723 lines) | stat: -rw-r--r-- 64,922 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
<html><head><title>Python: module pycdlib.pycdlib</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing="0" cellpadding="2" border="0" summary="heading">
<tr bgcolor="#7799ee">
<td valign="bottom">&#160;<br/>
<font color="#ffffff" face="helvetica, arial">&#160;<br/><big><big><strong><a href="pycdlib.html"><font color="#ffffff">pycdlib</font></a>.pycdlib</strong></big></big></font></td><td align="right" valign="bottom"><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br/></font></td></tr></table>
    <p><tt>Main&#160;<a href="#PyCdlib">PyCdlib</a>&#160;class&#160;and&#160;support&#160;classes&#160;and&#160;utilities.</tt></p>
<p>
</p><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tr bgcolor="#ee77aa">
<td colspan="3" valign="bottom">&#160;<br/>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&#160;&#160;&#160;&#160;&#160;&#160;</tt></td><td>&#160;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="builtins.html#object">builtins.object</a>
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="pycdlib.pycdlib.html#PyCdlib">PyCdlib</a>
</font></dt></dl>
</dd>
</dl>
 <p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tr bgcolor="#ffc8d8">
<td colspan="3" valign="bottom">&#160;<br/>
<font color="#000000" face="helvetica, arial"><a name="PyCdlib">class <strong>PyCdlib</strong></a>(<a href="builtins.html#object">builtins.object</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan="2"><tt>&#160;&#160;&#160;</tt></td>
<td colspan="2"><tt><a href="#PyCdlib">PyCdlib</a>(always_consistent=False)<br/>
&#160;<br/>
The&#160;main&#160;class&#160;for&#160;manipulating&#160;ISOs.<br/>&#160;</tt></td></tr>
<tr><td>&#160;</td>
<td width="100%">Methods defined here:<br/>
<dl><dt><a name="PyCdlib-__init__"><strong>__init__</strong></a>(self, always_consistent=False)</dt><dd><tt>Initialize&#160;self.&#160;&#160;See&#160;help(type(self))&#160;for&#160;accurate&#160;signature.</tt></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><tt>Add&#160;a&#160;directory&#160;to&#160;the&#160;ISO.&#160;&#160;At&#160;least&#160;one&#160;of&#160;an&#160;iso_path,&#160;joliet_path,<br/>
or&#160;udf_path&#160;must&#160;be&#160;provided.&#160;&#160;Providing&#160;joliet_path&#160;on&#160;a&#160;non-Joliet<br/>
ISO,&#160;or&#160;udf_path&#160;on&#160;a&#160;non-UDF&#160;ISO,&#160;is&#160;an&#160;error.&#160;&#160;If&#160;the&#160;ISO&#160;contains<br/>
Rock&#160;Ridge,&#160;then&#160;a&#160;Rock&#160;Ridge&#160;name&#160;must&#160;be&#160;provided.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;ISO9660&#160;absolute&#160;path&#160;to&#160;use&#160;for&#160;the&#160;directory.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;to&#160;use&#160;for&#160;the&#160;directory.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;absolute&#160;path&#160;to&#160;use&#160;for&#160;the&#160;directory.<br/>
&#160;file_mode&#160;-&#160;The&#160;POSIX&#160;file&#160;mode&#160;to&#160;use&#160;for&#160;the&#160;directory.&#160;&#160;This&#160;only<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;applies&#160;for&#160;Rock&#160;Ridge&#160;ISOs.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;absolute&#160;path&#160;to&#160;use&#160;for&#160;the&#160;directory.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Add&#160;an&#160;El&#160;Torito&#160;Boot&#160;Record,&#160;and&#160;associated&#160;files,&#160;to&#160;the&#160;ISO.&#160;&#160;The<br/>
file&#160;that&#160;will&#160;be&#160;used&#160;as&#160;the&#160;bootfile&#160;must&#160;be&#160;passed&#160;into&#160;this&#160;function<br/>
and&#160;must&#160;already&#160;be&#160;present&#160;on&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;bootfile_path&#160;-&#160;The&#160;file&#160;to&#160;use&#160;as&#160;the&#160;boot&#160;file;&#160;it&#160;must&#160;already<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;exist&#160;on&#160;this&#160;ISO.<br/>
&#160;bootcatfile&#160;-&#160;The&#160;fake&#160;file&#160;to&#160;use&#160;as&#160;the&#160;boot&#160;catalog&#160;entry;&#160;set&#160;to<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;BOOT.CAT;1&#160;by&#160;default.<br/>
&#160;rr_bootcatname&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;for&#160;the&#160;fake&#160;file&#160;to&#160;use&#160;as&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;boot&#160;catalog&#160;entry;&#160;set&#160;to&#160;'boot.cat'&#160;by&#160;default.<br/>
&#160;joliet_bootcatfile&#160;-&#160;The&#160;Joliet&#160;name&#160;for&#160;the&#160;fake&#160;file&#160;to&#160;use&#160;as&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;boot&#160;catalog&#160;entry;&#160;set&#160;to&#160;'boot.cat'&#160;by&#160;default.<br/>
&#160;boot_load_size&#160;-&#160;The&#160;number&#160;of&#160;sectors&#160;to&#160;use&#160;for&#160;the&#160;boot&#160;entry;&#160;if<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;set&#160;to&#160;None&#160;(the&#160;default),&#160;the&#160;number&#160;of&#160;sectors&#160;will<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;be&#160;calculated.<br/>
&#160;platform_id&#160;-&#160;The&#160;platform&#160;ID&#160;to&#160;set&#160;for&#160;the&#160;El&#160;Torito&#160;entry;&#160;0&#160;is&#160;for<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;x86,&#160;1&#160;is&#160;for&#160;Power&#160;PC,&#160;2&#160;is&#160;for&#160;Mac,&#160;and&#160;0xef&#160;is&#160;for<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;UEFI.&#160;&#160;0&#160;is&#160;the&#160;default.<br/>
&#160;boot_info_table&#160;-&#160;Whether&#160;to&#160;add&#160;a&#160;boot&#160;info&#160;table&#160;to&#160;the&#160;ISO.&#160;&#160;The<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default&#160;is&#160;False.<br/>
&#160;efi&#160;-&#160;Whether&#160;this&#160;is&#160;an&#160;EFI&#160;entry&#160;for&#160;El&#160;Torito.&#160;&#160;The&#160;default&#160;is&#160;False.<br/>
&#160;media_name&#160;-&#160;The&#160;name&#160;of&#160;the&#160;media&#160;type,&#160;one&#160;of&#160;'noemul',&#160;'floppy',&#160;or&#160;'hdemul'.<br/>
&#160;bootable&#160;-&#160;Whether&#160;the&#160;boot&#160;media&#160;is&#160;bootable.&#160;&#160;The&#160;default&#160;is&#160;True.<br/>
&#160;boot_load_seg&#160;-&#160;The&#160;load&#160;segment&#160;address&#160;of&#160;the&#160;boot&#160;image.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Add&#160;a&#160;file&#160;to&#160;the&#160;ISO.&#160;&#160;If&#160;the&#160;ISO&#160;is&#160;a&#160;Rock&#160;Ridge&#160;one,&#160;then&#160;a&#160;Rock<br/>
Ridge&#160;name&#160;must&#160;also&#160;be&#160;provided.&#160;&#160;If&#160;the&#160;ISO&#160;is&#160;a&#160;Joliet&#160;one,&#160;then&#160;a<br/>
Joliet&#160;path&#160;may&#160;also&#160;be&#160;provided;&#160;while&#160;it&#160;is&#160;optional&#160;to&#160;do&#160;so,&#160;it&#160;is<br/>
highly&#160;recommended.<br/>
&#160;<br/>
Parameters:<br/>
&#160;filename&#160;-&#160;The&#160;filename&#160;to&#160;use&#160;for&#160;the&#160;data&#160;contents&#160;for&#160;the&#160;new&#160;file.<br/>
&#160;iso_path&#160;-&#160;The&#160;ISO9660&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;file_mode&#160;-&#160;The&#160;POSIX&#160;file_mode&#160;to&#160;apply&#160;to&#160;this&#160;file.&#160;&#160;This&#160;only<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;applies&#160;if&#160;this&#160;is&#160;a&#160;Rock&#160;Ridge&#160;ISO.&#160;&#160;If&#160;this&#160;is&#160;None&#160;(the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default),&#160;the&#160;permissions&#160;from&#160;the&#160;original&#160;file&#160;are&#160;used.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;name&#160;of&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Add&#160;a&#160;file&#160;to&#160;the&#160;ISO.&#160;&#160;If&#160;the&#160;ISO&#160;is&#160;a&#160;Rock&#160;Ridge&#160;one,&#160;then&#160;a&#160;Rock<br/>
Ridge&#160;name&#160;must&#160;also&#160;be&#160;provided.&#160;&#160;If&#160;the&#160;ISO&#160;is&#160;a&#160;Joliet&#160;one,&#160;then&#160;a<br/>
Joliet&#160;path&#160;may&#160;also&#160;be&#160;provided;&#160;while&#160;it&#160;is&#160;optional&#160;to&#160;do&#160;so,&#160;it&#160;is<br/>
highly&#160;recommended.&#160;&#160;Note&#160;that&#160;the&#160;caller&#160;must&#160;ensure&#160;that&#160;'fp'&#160;remains<br/>
open&#160;for&#160;the&#160;lifetime&#160;of&#160;the&#160;<a href="#PyCdlib">PyCdlib</a>&#160;<a href="builtins.html#object">object</a>,&#160;as&#160;the&#160;<a href="#PyCdlib">PyCdlib</a>&#160;class&#160;uses<br/>
the&#160;file&#160;descriptor&#160;internally&#160;when&#160;writing&#160;(mastering)&#160;the&#160;ISO.&#160;&#160;To<br/>
have&#160;<a href="#PyCdlib">PyCdlib</a>&#160;manage&#160;this&#160;automatically,&#160;use&#160;'add_file'&#160;instead.<br/>
&#160;<br/>
Parameters:<br/>
&#160;fp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;to&#160;use&#160;for&#160;the&#160;contents&#160;of&#160;the&#160;new&#160;file.<br/>
&#160;length&#160;-&#160;The&#160;length&#160;of&#160;the&#160;data&#160;for&#160;the&#160;new&#160;file.<br/>
&#160;iso_path&#160;-&#160;The&#160;ISO9660&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;file_mode&#160;-&#160;The&#160;POSIX&#160;file_mode&#160;to&#160;apply&#160;to&#160;this&#160;file.&#160;&#160;This&#160;only<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;applies&#160;if&#160;this&#160;is&#160;a&#160;Rock&#160;Ridge&#160;ISO.&#160;&#160;If&#160;this&#160;is&#160;None&#160;(the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default),&#160;the&#160;permissions&#160;from&#160;the&#160;original&#160;file&#160;are&#160;used.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;name&#160;of&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-add_hard_link"><strong>add_hard_link</strong></a>(self, **kwargs)</dt><dd><tt>Add&#160;a&#160;hard&#160;link&#160;to&#160;the&#160;ISO.&#160;&#160;Hard&#160;links&#160;are&#160;alternate&#160;names&#160;for&#160;the<br/>
same&#160;file&#160;contents&#160;that&#160;don't&#160;take&#160;up&#160;any&#160;additional&#160;space&#160;on&#160;the&#160;the<br/>
ISO.&#160;&#160;This&#160;API&#160;can&#160;be&#160;used&#160;to&#160;create&#160;hard&#160;links&#160;between&#160;two&#160;files&#160;on<br/>
the&#160;ISO9660&#160;filesystem,&#160;between&#160;two&#160;files&#160;on&#160;the&#160;Joliet&#160;filesystem,&#160;or<br/>
between&#160;a&#160;file&#160;on&#160;the&#160;ISO9660&#160;filesystem&#160;and&#160;the&#160;Joliet&#160;filesystem.<br/>
In&#160;all&#160;cases,&#160;exactly&#160;one&#160;old&#160;path&#160;must&#160;be&#160;specified,&#160;and&#160;exactly&#160;one<br/>
new&#160;path&#160;must&#160;be&#160;specified.<br/>
Note&#160;that&#160;this&#160;is&#160;an&#160;advanced&#160;API,&#160;so&#160;using&#160;it&#160;in&#160;combination&#160;with&#160;the<br/>
higher-level&#160;APIs&#160;(like&#160;<a href="#PyCdlib-rm_file">rm_file</a>())&#160;may&#160;result&#160;in&#160;unexpected&#160;behavior.<br/>
Once&#160;this&#160;API&#160;has&#160;been&#160;used,&#160;this&#160;API&#160;and&#160;<a href="#PyCdlib-rm_hard_link">rm_hard_link</a>()&#160;should&#160;be<br/>
preferred&#160;over&#160;<a href="#PyCdlib-add_file">add_file</a>()&#160;and&#160;<a href="#PyCdlib-rm_file">rm_file</a>(),&#160;respectively.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_old_path&#160;-&#160;The&#160;old&#160;path&#160;on&#160;the&#160;ISO9660&#160;filesystem&#160;to&#160;link&#160;from.<br/>
&#160;iso_new_path&#160;-&#160;The&#160;new&#160;path&#160;on&#160;the&#160;ISO9660&#160;filesystem&#160;to&#160;link&#160;to.<br/>
&#160;joliet_old_path&#160;-&#160;The&#160;old&#160;path&#160;on&#160;the&#160;Joliet&#160;filesystem&#160;to&#160;link&#160;from.<br/>
&#160;joliet_new_path&#160;-&#160;The&#160;new&#160;path&#160;on&#160;the&#160;Joliet&#160;filesystem&#160;to&#160;link&#160;to.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;to&#160;use&#160;for&#160;the&#160;new&#160;file&#160;if&#160;this&#160;is&#160;a&#160;Rock<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Ridge&#160;ISO&#160;and&#160;the&#160;new&#160;path&#160;is&#160;on&#160;the&#160;ISO9660&#160;filesystem.<br/>
&#160;boot_catalog_old&#160;-&#160;Use&#160;the&#160;El&#160;Torito&#160;boot&#160;catalog&#160;as&#160;the&#160;old&#160;path.<br/>
&#160;udf_old_path&#160;-&#160;The&#160;old&#160;path&#160;on&#160;the&#160;UDF&#160;filesystem&#160;to&#160;link&#160;from.<br/>
&#160;udf_new_path&#160;-&#160;The&#160;new&#160;path&#160;on&#160;the&#160;UDF&#160;filesystem&#160;to&#160;link&#160;to.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Make&#160;an&#160;ISO&#160;a&#160;'hybrid',&#160;which&#160;means&#160;that&#160;it&#160;can&#160;be&#160;booted&#160;either&#160;from&#160;a<br/>
CD&#160;or&#160;from&#160;more&#160;traditional&#160;media&#160;(like&#160;a&#160;USB&#160;stick).&#160;&#160;This&#160;requires<br/>
that&#160;the&#160;ISO&#160;already&#160;have&#160;El&#160;Torito,&#160;and&#160;will&#160;use&#160;the&#160;El&#160;Torito&#160;boot<br/>
file&#160;as&#160;a&#160;bootable&#160;image.&#160;&#160;That&#160;image&#160;must&#160;contain&#160;a&#160;certain&#160;signature<br/>
in&#160;order&#160;to&#160;work&#160;as&#160;a&#160;hybrid&#160;(if&#160;using&#160;syslinux,&#160;this&#160;generally&#160;means<br/>
the&#160;isohdpfx.bin&#160;files).<br/>
&#160;<br/>
Parameters:<br/>
&#160;part_entry&#160;-&#160;The&#160;partition&#160;entry&#160;to&#160;use;&#160;one&#160;by&#160;default.<br/>
&#160;mbr_id&#160;-&#160;The&#160;mbr_id&#160;to&#160;use.&#160;&#160;If&#160;set&#160;to&#160;None&#160;(the&#160;default),&#160;a&#160;random&#160;one<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;be&#160;generated.<br/>
&#160;part_offset&#160;-&#160;The&#160;partition&#160;offset&#160;to&#160;use;&#160;zero&#160;by&#160;default.<br/>
&#160;geometry_sectors&#160;-&#160;The&#160;number&#160;of&#160;sectors&#160;to&#160;assign;&#160;thirty-two&#160;by<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;default.<br/>
&#160;geometry_heads&#160;-&#160;The&#160;number&#160;of&#160;heads&#160;to&#160;assign;&#160;sixty-four&#160;by&#160;default.<br/>
&#160;part_type&#160;-&#160;The&#160;partition&#160;type&#160;to&#160;assign;&#160;twenty-three&#160;by&#160;default,&#160;but<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;will&#160;automatically&#160;be&#160;set&#160;to&#160;0&#160;if&#160;mac&#160;or&#160;efi&#160;are&#160;True.<br/>
&#160;mac&#160;-&#160;Add&#160;support&#160;for&#160;Mac;&#160;False&#160;by&#160;default.<br/>
&#160;efi&#160;-&#160;Add&#160;support&#160;for&#160;EFI;&#160;False&#160;by&#160;default,&#160;but&#160;will&#160;automatically<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;be&#160;set&#160;to&#160;True&#160;if&#160;mac&#160;is&#160;True.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-add_joliet_directory"><strong>add_joliet_directory</strong></a>(self, joliet_path)</dt><dd><tt>(deprecated)&#160;Add&#160;a&#160;directory&#160;to&#160;the&#160;Joliet&#160;portion&#160;of&#160;the&#160;ISO.&#160;&#160;Since<br/>
Joliet&#160;occupies&#160;a&#160;completely&#160;different&#160;context&#160;than&#160;ISO9660,&#160;this<br/>
method&#160;can&#160;be&#160;invoked&#160;to&#160;create&#160;a&#160;completely&#160;different&#160;directory<br/>
structure&#160;in&#160;the&#160;Joliet&#160;context,&#160;though&#160;that&#160;is&#160;generally&#160;not&#160;advised.<br/>
It&#160;is&#160;recommended&#160;to&#160;use&#160;the&#160;'joliet_path'&#160;argument&#160;of&#160;the<br/>
'add_directory'&#160;instead&#160;of&#160;this&#160;method.<br/>
&#160;<br/>
Parameters:<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;directory&#160;to&#160;create.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Add&#160;a&#160;symlink&#160;from&#160;rr_symlink_name&#160;to&#160;the&#160;rr_path.&#160;&#160;The&#160;ISO&#160;must&#160;have<br/>
either&#160;Rock&#160;Ridge&#160;or&#160;UDF&#160;support&#160;(or&#160;both).<br/>
&#160;<br/>
Parameters:<br/>
&#160;symlink_path&#160;-&#160;The&#160;ISO9660&#160;path&#160;of&#160;the&#160;symlink&#160;itself&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_symlink_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;symlink&#160;itself&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_path&#160;-&#160;The&#160;path&#160;that&#160;the&#160;symlink&#160;points&#160;to&#160;on&#160;the&#160;Rock&#160;Ridge&#160;part<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;of&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;of&#160;the&#160;symlink&#160;(if&#160;this&#160;ISO&#160;has&#160;Joliet).<br/>
&#160;udf_symlink_path&#160;-&#160;The&#160;UDF&#160;path&#160;of&#160;the&#160;symlink&#160;itself&#160;on&#160;the&#160;ISO.<br/>
&#160;udf_target&#160;-&#160;The&#160;UDF&#160;name&#160;of&#160;the&#160;entry&#160;on&#160;the&#160;ISO&#160;that&#160;the&#160;symlink<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;points&#160;to.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Clear&#160;the&#160;ISO9660&#160;hidden&#160;attribute&#160;on&#160;a&#160;file&#160;or&#160;directory.&#160;&#160;This&#160;will<br/>
cause&#160;the&#160;file&#160;or&#160;directory&#160;to&#160;show&#160;up&#160;when&#160;listing&#160;entries&#160;on&#160;the&#160;ISO.<br/>
Exactly&#160;one&#160;of&#160;iso_path,&#160;rr_path,&#160;or&#160;joliet_path&#160;must&#160;be&#160;specified.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;clear&#160;the&#160;hidden&#160;bit&#160;from.<br/>
&#160;rr_path&#160;-&#160;The&#160;Rock&#160;Ridge&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;clear&#160;the&#160;hidden&#160;bit&#160;from.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;clear&#160;the&#160;hidden&#160;bit&#160;from.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-close"><strong>close</strong></a>(self)</dt><dd><tt>Close&#160;the&#160;<a href="#PyCdlib">PyCdlib</a>&#160;<a href="builtins.html#object">object</a>,&#160;and&#160;re-initialize&#160;the&#160;<a href="builtins.html#object">object</a>&#160;to&#160;the&#160;defaults.<br/>
The&#160;<a href="builtins.html#object">object</a>&#160;can&#160;then&#160;be&#160;re-used&#160;for&#160;manipulation&#160;of&#160;another&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-duplicate_pvd"><strong>duplicate_pvd</strong></a>(self)</dt><dd><tt>Add&#160;a&#160;duplicate&#160;PVD&#160;to&#160;the&#160;ISO.&#160;&#160;This&#160;is&#160;a&#160;mostly&#160;useless&#160;feature<br/>
allowed&#160;by&#160;Ecma-119&#160;to&#160;have&#160;duplicate&#160;PVDs&#160;to&#160;avoid&#160;possible&#160;corruption.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-file_mode"><strong>file_mode</strong></a>(self, **kwargs)</dt><dd><tt>Get&#160;the&#160;POSIX&#160;file&#160;mode&#160;of&#160;the&#160;file&#160;if&#160;is&#160;a&#160;Rock&#160;Ridge&#160;file.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;ISO&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;An&#160;integer&#160;representing&#160;the&#160;POSIX&#160;file&#160;mode&#160;of&#160;the&#160;file&#160;if&#160;it&#160;is&#160;Rock<br/>
&#160;Ridge,&#160;or&#160;None&#160;otherwise.</tt></dd></dl>

<dl><dt><a name="PyCdlib-force_consistency"><strong>force_consistency</strong></a>(self)</dt><dd><tt>Make&#160;sure&#160;the&#160;ISO&#160;<a href="builtins.html#object">object</a>&#160;is&#160;fully&#160;consistent.&#160;&#160;<a href="#PyCdlib">PyCdlib</a>&#160;typically&#160;delays<br/>
doing&#160;work&#160;until&#160;it&#160;is&#160;necessary,&#160;and&#160;this&#160;detail&#160;is&#160;usually&#160;hidden<br/>
from&#160;users.&#160;&#160;However,&#160;there&#160;are&#160;times&#160;that&#160;a&#160;user&#160;may&#160;want&#160;a&#160;fully<br/>
consistent&#160;view&#160;of&#160;the&#160;ISO&#160;without&#160;calling&#160;one&#160;of&#160;the&#160;methods&#160;that<br/>
forces&#160;consistency.&#160;&#160;This&#160;method&#160;allows&#160;the&#160;user&#160;to&#160;force&#160;a&#160;consistent<br/>
view&#160;of&#160;this&#160;<a href="builtins.html#object">object</a>.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-full_path_from_dirrecord"><strong>full_path_from_dirrecord</strong></a>(self, rec, rockridge=False)</dt><dd><tt>Get&#160;the&#160;absolute&#160;path&#160;of&#160;a&#160;directory&#160;record.<br/>
&#160;<br/>
Parameters:<br/>
&#160;rec&#160;-&#160;The&#160;directory&#160;record&#160;to&#160;get&#160;the&#160;full&#160;path&#160;for.<br/>
&#160;rockridge&#160;-&#160;Whether&#160;to&#160;get&#160;the&#160;rock&#160;ridge&#160;full&#160;path.<br/>
Returns:<br/>
&#160;A&#160;string&#160;representing&#160;the&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.</tt></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><tt>(deprecated)&#160;Fetch&#160;a&#160;single&#160;file&#160;from&#160;the&#160;ISO&#160;and&#160;write&#160;it&#160;out&#160;to&#160;the<br/>
specified&#160;file.&#160;&#160;Note&#160;that&#160;this&#160;will&#160;overwrite&#160;the&#160;contents&#160;of&#160;the&#160;local<br/>
file&#160;if&#160;it&#160;already&#160;exists.&#160;&#160;Also&#160;note&#160;that&#160;'iso_path'&#160;must&#160;be&#160;an<br/>
absolute&#160;path&#160;to&#160;the&#160;file.&#160;&#160;Finally,&#160;the&#160;'iso_path'&#160;can&#160;be&#160;an&#160;ISO9660<br/>
path,&#160;a&#160;Rock&#160;Ridge&#160;path,&#160;or&#160;a&#160;Joliet&#160;path.&#160;&#160;In&#160;the&#160;case&#160;of&#160;ambiguity,<br/>
the&#160;Joliet&#160;path&#160;is&#160;tried&#160;first,&#160;followed&#160;by&#160;the&#160;ISO9660&#160;path,&#160;followed<br/>
by&#160;the&#160;Rock&#160;Ridge&#160;path.&#160;&#160;It&#160;is&#160;recommended&#160;to&#160;use&#160;the&#160;get_file_from_iso<br/>
API&#160;instead&#160;to&#160;resolve&#160;this&#160;ambiguity.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;to&#160;get&#160;data&#160;from.<br/>
&#160;local_path&#160;-&#160;The&#160;local&#160;filename&#160;to&#160;write&#160;the&#160;contents&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;blocksize&#160;to&#160;use&#160;when&#160;copying&#160;data;&#160;the&#160;default&#160;is&#160;8192.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>(deprecated)&#160;Fetch&#160;a&#160;single&#160;file&#160;from&#160;the&#160;ISO&#160;and&#160;write&#160;it&#160;out&#160;to&#160;the<br/>
file&#160;<a href="builtins.html#object">object</a>.&#160;&#160;Note&#160;that&#160;'iso_path'&#160;must&#160;be&#160;an&#160;absolute&#160;path&#160;to&#160;the&#160;file.<br/>
Also&#160;note&#160;that&#160;the&#160;'iso_path'&#160;can&#160;be&#160;an&#160;ISO9660&#160;path,&#160;a&#160;Rock&#160;Ridge&#160;path,<br/>
or&#160;a&#160;Joliet&#160;path.&#160;&#160;In&#160;the&#160;case&#160;of&#160;ambiguity,&#160;the&#160;Joliet&#160;path&#160;is&#160;tried<br/>
first,&#160;followed&#160;by&#160;the&#160;ISO9660&#160;path,&#160;followed&#160;by&#160;the&#160;Rock&#160;Ridge&#160;path.<br/>
It&#160;is&#160;recommend&#160;to&#160;use&#160;the&#160;get_file_from_iso_fp&#160;API&#160;instead&#160;to&#160;resolve<br/>
this&#160;ambiguity.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;to&#160;get&#160;data&#160;from.<br/>
&#160;outfp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;to&#160;write&#160;data&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;blocksize&#160;to&#160;use&#160;when&#160;copying&#160;data;&#160;the&#160;default&#160;is&#160;8192.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_entry"><strong>get_entry</strong></a>(self, iso_path, joliet=False)</dt><dd><tt>(deprecated)&#160;Get&#160;the&#160;directory&#160;record&#160;for&#160;a&#160;particular&#160;path.&#160;&#160;It&#160;is<br/>
recommended&#160;to&#160;use&#160;the&#160;'get_record'&#160;API&#160;instead.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;look&#160;up&#160;information&#160;for.<br/>
&#160;joliet&#160;-&#160;Whether&#160;to&#160;look&#160;for&#160;the&#160;path&#160;in&#160;the&#160;Joliet&#160;portion&#160;of&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;A&#160;dr.DirectoryRecord&#160;<a href="builtins.html#object">object</a>&#160;representing&#160;the&#160;path.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_file_from_iso"><strong>get_file_from_iso</strong></a>(self, local_path, **kwargs)</dt><dd><tt>Fetch&#160;a&#160;single&#160;file&#160;from&#160;the&#160;ISO&#160;and&#160;write&#160;it&#160;out&#160;to&#160;a&#160;local&#160;file.<br/>
&#160;<br/>
Parameters:<br/>
&#160;local_path&#160;-&#160;The&#160;local&#160;file&#160;to&#160;write&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;number&#160;of&#160;bytes&#160;in&#160;each&#160;transfer.<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;ISO9660&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;rr_path,&#160;joliet_path,&#160;and&#160;udf_path).<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;iso_path,&#160;joliet_path,&#160;and&#160;udf_path).<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;iso_path,&#160;rr_path,&#160;and&#160;udf_path).<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive&#160;with<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;iso_path,&#160;rr_path,&#160;and&#160;joliet_path).<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Fetch&#160;a&#160;single&#160;file&#160;from&#160;the&#160;ISO&#160;and&#160;write&#160;it&#160;out&#160;to&#160;the&#160;file&#160;<a href="builtins.html#object">object</a>.<br/>
&#160;<br/>
Parameters:<br/>
&#160;outfp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;to&#160;write&#160;data&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;number&#160;of&#160;bytes&#160;in&#160;each&#160;transfer.<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;ISO9660&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;rr_path,&#160;joliet_path,&#160;and&#160;udf_path).<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;iso_path,&#160;joliet_path,&#160;and&#160;udf_path).<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;with&#160;iso_path,&#160;rr_path,&#160;and&#160;udf_path).<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;to&#160;lookup&#160;on&#160;the&#160;ISO&#160;(exclusive&#160;with<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;iso_path,&#160;rr_path,&#160;and&#160;joliet_path).<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_iso9660_facade"><strong>get_iso9660_facade</strong></a>(self)</dt><dd><tt>Return&#160;a&#160;'facade'&#160;that&#160;simplifies&#160;some&#160;of&#160;the&#160;complexities&#160;of&#160;the<br/>
<a href="#PyCdlib">PyCdlib</a>&#160;class,&#160;while&#160;giving&#160;up&#160;some&#160;of&#160;the&#160;full&#160;power.&#160;&#160;This&#160;facade<br/>
only&#160;allows&#160;manipulation&#160;of&#160;the&#160;ISO9660&#160;portions&#160;of&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;A&#160;PyCdlibISO9660&#160;<a href="builtins.html#object">object</a>&#160;that&#160;can&#160;be&#160;used&#160;to&#160;interact&#160;with&#160;the&#160;ISO.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_joliet_facade"><strong>get_joliet_facade</strong></a>(self)</dt><dd><tt>Return&#160;a&#160;'facade'&#160;that&#160;simplifies&#160;some&#160;of&#160;the&#160;complexities&#160;of&#160;the<br/>
<a href="#PyCdlib">PyCdlib</a>&#160;class,&#160;while&#160;giving&#160;up&#160;some&#160;of&#160;the&#160;full&#160;power.&#160;&#160;This&#160;facade<br/>
only&#160;allows&#160;manipulation&#160;of&#160;the&#160;Joliet&#160;portions&#160;of&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;A&#160;PyCdlibJoliet&#160;<a href="builtins.html#object">object</a>&#160;that&#160;can&#160;be&#160;used&#160;to&#160;interact&#160;with&#160;the&#160;ISO.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_record"><strong>get_record</strong></a>(self, **kwargs)</dt><dd><tt>Get&#160;the&#160;directory&#160;record&#160;for&#160;a&#160;particular&#160;path.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;path&#160;on&#160;the&#160;ISO9660&#160;filesystem&#160;to&#160;get&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;record&#160;for.<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;path&#160;on&#160;the&#160;Rock&#160;Ridge&#160;filesystem&#160;to&#160;get&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;record&#160;for.<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;path&#160;on&#160;the&#160;Joliet&#160;filesystem&#160;to&#160;get&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;record&#160;for.<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;path&#160;on&#160;the&#160;UDF&#160;filesystem&#160;to&#160;get&#160;the&#160;record<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for.<br/>
Returns:<br/>
&#160;An&#160;<a href="builtins.html#object">object</a>&#160;that&#160;represents&#160;the&#160;path.&#160;&#160;This&#160;may&#160;be&#160;a&#160;dr.DirectoryRecord<br/>
&#160;<a href="builtins.html#object">object</a>&#160;(in&#160;the&#160;cases&#160;of&#160;iso_path,&#160;rr_path,&#160;or&#160;joliet_path),&#160;or&#160;a<br/>
&#160;udf.UDFFileEntry&#160;<a href="builtins.html#object">object</a>&#160;(in&#160;the&#160;case&#160;of&#160;udf_path).</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_rock_ridge_facade"><strong>get_rock_ridge_facade</strong></a>(self)</dt><dd><tt>Return&#160;a&#160;'facade'&#160;that&#160;simplifies&#160;some&#160;of&#160;the&#160;complexities&#160;of&#160;the<br/>
<a href="#PyCdlib">PyCdlib</a>&#160;class,&#160;while&#160;giving&#160;up&#160;some&#160;of&#160;the&#160;full&#160;power.&#160;&#160;This&#160;facade<br/>
only&#160;allows&#160;manipulation&#160;of&#160;the&#160;Rock&#160;Ridge&#160;portions&#160;of&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;A&#160;PyCdlibRockRidge&#160;<a href="builtins.html#object">object</a>&#160;that&#160;can&#160;be&#160;used&#160;to&#160;interact&#160;with&#160;the&#160;ISO.</tt></dd></dl>

<dl><dt><a name="PyCdlib-get_udf_facade"><strong>get_udf_facade</strong></a>(self)</dt><dd><tt>Return&#160;a&#160;'facade'&#160;that&#160;simplifies&#160;some&#160;of&#160;the&#160;complexities&#160;of&#160;the<br/>
<a href="#PyCdlib">PyCdlib</a>&#160;class,&#160;while&#160;giving&#160;up&#160;some&#160;of&#160;the&#160;full&#160;power.&#160;&#160;This&#160;facade<br/>
only&#160;allows&#160;manipulation&#160;of&#160;the&#160;UDF&#160;portions&#160;of&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;A&#160;PyCdlibUDF&#160;<a href="builtins.html#object">object</a>&#160;that&#160;can&#160;be&#160;used&#160;to&#160;interact&#160;with&#160;the&#160;ISO.</tt></dd></dl>

<dl><dt><a name="PyCdlib-has_joliet"><strong>has_joliet</strong></a>(self)</dt><dd><tt>Returns&#160;whether&#160;this&#160;ISO&#160;has&#160;Joliet&#160;extensions.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;True&#160;if&#160;this&#160;ISO&#160;has&#160;Joliet,&#160;False&#160;otherwise.</tt></dd></dl>

<dl><dt><a name="PyCdlib-has_rock_ridge"><strong>has_rock_ridge</strong></a>(self)</dt><dd><tt>Returns&#160;whether&#160;this&#160;ISO&#160;has&#160;Rock&#160;Ridge&#160;extensions.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;True&#160;if&#160;this&#160;ISO&#160;has&#160;Rock&#160;Ridge&#160;extensions,&#160;False&#160;otherwise.</tt></dd></dl>

<dl><dt><a name="PyCdlib-has_udf"><strong>has_udf</strong></a>(self)</dt><dd><tt>Returns&#160;whether&#160;this&#160;ISO&#160;has&#160;UDF&#160;extensions.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;True&#160;if&#160;this&#160;ISO&#160;has&#160;UDF,&#160;False&#160;otherwise.</tt></dd></dl>

<dl><dt><a name="PyCdlib-list_children"><strong>list_children</strong></a>(self, **kwargs)</dt><dd><tt>Generate&#160;a&#160;list&#160;of&#160;all&#160;of&#160;the&#160;file/directory&#160;objects&#160;in&#160;the<br/>
specified&#160;location&#160;on&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;list&#160;the&#160;children&#160;for.<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;list&#160;the&#160;children&#160;for.<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;list&#160;the&#160;children&#160;for.<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;list&#160;the&#160;children&#160;for.<br/>
Yields:<br/>
&#160;Children&#160;of&#160;this&#160;path.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-list_dir"><strong>list_dir</strong></a>(self, iso_path, joliet=False)</dt><dd><tt>(deprecated)&#160;Generate&#160;a&#160;list&#160;of&#160;all&#160;of&#160;the&#160;file/directory&#160;objects&#160;in&#160;the<br/>
specified&#160;location&#160;on&#160;the&#160;ISO.&#160;&#160;It&#160;is&#160;recommended&#160;to&#160;use&#160;the<br/>
'list_children'&#160;API&#160;instead.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;look&#160;up&#160;information&#160;for.<br/>
&#160;joliet&#160;-&#160;Whether&#160;to&#160;look&#160;for&#160;the&#160;path&#160;in&#160;the&#160;Joliet&#160;portion&#160;of&#160;the&#160;ISO.<br/>
Yields:<br/>
&#160;Children&#160;of&#160;this&#160;path.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>An&#160;API&#160;to&#160;modify&#160;a&#160;file&#160;in&#160;place&#160;on&#160;the&#160;ISO.&#160;&#160;This&#160;can&#160;be&#160;extremely&#160;fast<br/>
(much&#160;faster&#160;than&#160;calling&#160;the&#160;write&#160;method),&#160;but&#160;has&#160;many&#160;restrictions.<br/>
&#160;<br/>
1.&#160;&#160;The&#160;original&#160;ISO&#160;file&#160;pointer&#160;must&#160;have&#160;been&#160;opened&#160;for&#160;reading<br/>
&#160;&#160;&#160;&#160;and&#160;writing.<br/>
2.&#160;&#160;Only&#160;an&#160;existing&#160;*file*&#160;can&#160;be&#160;modified;&#160;directories&#160;cannot&#160;be<br/>
&#160;&#160;&#160;&#160;changed.<br/>
3.&#160;&#160;Only&#160;an&#160;existing&#160;file&#160;can&#160;be&#160;*modified*;&#160;no&#160;new&#160;files&#160;can&#160;be&#160;added<br/>
&#160;&#160;&#160;&#160;or&#160;removed.<br/>
4.&#160;&#160;The&#160;new&#160;file&#160;contents&#160;must&#160;use&#160;the&#160;same&#160;number&#160;of&#160;extents&#160;(typically<br/>
&#160;&#160;&#160;&#160;2048&#160;bytes)&#160;as&#160;the&#160;old&#160;file&#160;contents.&#160;&#160;If&#160;using&#160;this&#160;API&#160;to&#160;shrink<br/>
&#160;&#160;&#160;&#160;a&#160;file,&#160;this&#160;is&#160;usually&#160;easy&#160;since&#160;the&#160;new&#160;contents&#160;can&#160;be&#160;padded<br/>
&#160;&#160;&#160;&#160;out&#160;with&#160;zeros&#160;or&#160;newlines&#160;to&#160;meet&#160;the&#160;requirement.&#160;&#160;If&#160;using&#160;this<br/>
&#160;&#160;&#160;&#160;API&#160;to&#160;grow&#160;a&#160;file,&#160;the&#160;new&#160;contents&#160;can&#160;only&#160;grow&#160;up&#160;to&#160;the&#160;next<br/>
&#160;&#160;&#160;&#160;extent&#160;boundary.<br/>
&#160;<br/>
Unlike&#160;all&#160;other&#160;APIs&#160;in&#160;<a href="#PyCdlib">PyCdlib</a>,&#160;this&#160;API&#160;actually&#160;modifies&#160;the<br/>
originally&#160;opened&#160;on-disk&#160;file,&#160;so&#160;use&#160;it&#160;with&#160;caution.<br/>
&#160;<br/>
Parameters:<br/>
&#160;fp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;to&#160;use&#160;for&#160;the&#160;contents&#160;of&#160;the&#160;new&#160;file.<br/>
&#160;length&#160;-&#160;The&#160;length&#160;of&#160;the&#160;new&#160;data&#160;for&#160;the&#160;file.<br/>
&#160;iso_path&#160;-&#160;The&#160;ISO9660&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;absolute&#160;path&#160;to&#160;the&#160;file&#160;destination&#160;on&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Create&#160;a&#160;new&#160;ISO&#160;from&#160;scratch.<br/>
&#160;<br/>
Parameters:<br/>
&#160;interchange_level&#160;-&#160;The&#160;ISO9660&#160;interchange&#160;level&#160;to&#160;use;&#160;this&#160;dictates<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;the&#160;rules&#160;on&#160;the&#160;names&#160;of&#160;files.&#160;&#160;Levels&#160;1,&#160;2,&#160;3,<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;and&#160;4&#160;are&#160;supported.&#160;&#160;Level&#160;1&#160;is&#160;the&#160;most<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;conservative,&#160;and&#160;is&#160;the&#160;default,&#160;but&#160;level&#160;3&#160;is<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;recommended.<br/>
&#160;sys_ident&#160;-&#160;The&#160;system&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;vol_ident&#160;-&#160;The&#160;volume&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;set_size&#160;-&#160;The&#160;size&#160;of&#160;the&#160;set&#160;of&#160;ISOs&#160;this&#160;ISO&#160;is&#160;a&#160;part&#160;of.<br/>
&#160;seqnum&#160;-&#160;The&#160;sequence&#160;number&#160;of&#160;the&#160;set&#160;of&#160;this&#160;ISO.<br/>
&#160;log_block_size&#160;-&#160;The&#160;logical&#160;block&#160;size&#160;to&#160;use&#160;for&#160;the&#160;ISO.&#160;&#160;While&#160;ISO9660<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;technically&#160;supports&#160;sizes&#160;other&#160;than&#160;2048&#160;(the&#160;default),<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this&#160;almost&#160;certainly&#160;doesn't&#160;work.<br/>
&#160;vol_set_ident&#160;-&#160;The&#160;volume&#160;set&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;pub_ident_str&#160;-&#160;The&#160;publisher&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;preparer_ident_str&#160;-&#160;The&#160;preparer&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;app_ident_str&#160;-&#160;The&#160;application&#160;identification&#160;string&#160;to&#160;use&#160;on&#160;the&#160;new&#160;ISO.<br/>
&#160;copyright_file&#160;-&#160;The&#160;name&#160;of&#160;a&#160;file&#160;at&#160;the&#160;root&#160;of&#160;the&#160;ISO&#160;to&#160;use&#160;as&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;copyright&#160;file.<br/>
&#160;abstract_file&#160;-&#160;The&#160;name&#160;of&#160;a&#160;file&#160;at&#160;the&#160;root&#160;of&#160;the&#160;ISO&#160;to&#160;use&#160;as&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;abstract&#160;file.<br/>
&#160;bibli_file&#160;-&#160;The&#160;name&#160;of&#160;a&#160;file&#160;at&#160;the&#160;root&#160;of&#160;the&#160;ISO&#160;to&#160;use&#160;as&#160;the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bibliographic&#160;file.<br/>
&#160;vol_expire_date&#160;-&#160;The&#160;date&#160;that&#160;this&#160;ISO&#160;will&#160;expire&#160;at.<br/>
&#160;app_use&#160;-&#160;Arbitrary&#160;data&#160;that&#160;the&#160;application&#160;can&#160;stuff&#160;into&#160;the&#160;primary<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;volume&#160;descriptor&#160;of&#160;this&#160;ISO.<br/>
&#160;joliet&#160;-&#160;A&#160;integer&#160;that&#160;can&#160;have&#160;the&#160;value&#160;1,&#160;2,&#160;or&#160;3&#160;for&#160;Joliet<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;levels&#160;1,&#160;2,&#160;or&#160;3&#160;(3&#160;is&#160;by&#160;far&#160;the&#160;most&#160;common),&#160;or&#160;None&#160;for<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;no&#160;Joliet&#160;support&#160;(the&#160;default).&#160;&#160;For&#160;legacy&#160;reasons,&#160;this<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;parameter&#160;also&#160;accepts&#160;a&#160;boolean,&#160;where&#160;the&#160;value&#160;of&#160;'False'<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;means&#160;no&#160;Joliet&#160;and&#160;a&#160;value&#160;of&#160;'True'&#160;means&#160;level&#160;3.<br/>
&#160;rock_ridge&#160;-&#160;Whether&#160;to&#160;make&#160;this&#160;ISO&#160;have&#160;the&#160;Rock&#160;Ridge&#160;extensions&#160;or<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;not.&#160;&#160;The&#160;default&#160;value&#160;of&#160;None&#160;does&#160;not&#160;add&#160;Rock&#160;Ridge<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;extensions.&#160;&#160;A&#160;string&#160;value&#160;of&#160;'1.09',&#160;'1.10',&#160;or&#160;'1.12'<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;adds&#160;the&#160;specified&#160;Rock&#160;Ridge&#160;version&#160;to&#160;the&#160;ISO.&#160;&#160;If<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;unsure,&#160;pass&#160;'1.09'&#160;to&#160;ensure&#160;maximum&#160;compatibility.<br/>
&#160;xa&#160;-&#160;Whether&#160;to&#160;add&#160;the&#160;ISO9660&#160;Extended&#160;Attribute&#160;extensions&#160;to&#160;this<br/>
&#160;&#160;&#160;&#160;&#160;&#160;ISO.&#160;&#160;The&#160;default&#160;is&#160;False.<br/>
&#160;udf&#160;-&#160;Whether&#160;to&#160;add&#160;UDF&#160;support&#160;to&#160;this&#160;ISO.&#160;&#160;If&#160;it&#160;is&#160;None&#160;(the<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;default),&#160;no&#160;UDF&#160;support&#160;is&#160;added.&#160;&#160;If&#160;it&#160;is&#160;"2.60",&#160;version&#160;2.60<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;of&#160;the&#160;UDF&#160;spec&#160;is&#160;used.&#160;&#160;All&#160;other&#160;values&#160;are&#160;disallowed.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-open"><strong>open</strong></a>(self, filename, mode='rb')</dt><dd><tt>Open&#160;up&#160;an&#160;existing&#160;ISO&#160;for&#160;inspection&#160;and&#160;modification.<br/>
&#160;<br/>
Parameters:<br/>
&#160;filename&#160;-&#160;The&#160;filename&#160;containing&#160;the&#160;ISO&#160;to&#160;open&#160;up.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-open_file_from_iso"><strong>open_file_from_iso</strong></a>(self, **kwargs)</dt><dd><tt>Open&#160;a&#160;file&#160;for&#160;reading&#160;in&#160;a&#160;context&#160;manager.&#160;&#160;This&#160;allows&#160;the&#160;user&#160;to<br/>
operate&#160;on&#160;the&#160;file&#160;in&#160;user-defined&#160;chunks&#160;(utilizing&#160;the&#160;read()&#160;method<br/>
of&#160;the&#160;returned&#160;context&#160;manager).<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;ISO&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;to&#160;the&#160;file&#160;on&#160;the&#160;ISO.<br/>
Returns:<br/>
&#160;A&#160;PyCdlibIO&#160;<a href="builtins.html#object">object</a>&#160;allowing&#160;access&#160;to&#160;the&#160;file.</tt></dd></dl>

<dl><dt><a name="PyCdlib-open_fp"><strong>open_fp</strong></a>(self, fp)</dt><dd><tt>Open&#160;up&#160;an&#160;existing&#160;ISO&#160;for&#160;inspection&#160;and&#160;modification.&#160;&#160;Note&#160;that&#160;the<br/>
file&#160;<a href="builtins.html#object">object</a>&#160;passed&#160;in&#160;here&#160;must&#160;stay&#160;open&#160;for&#160;the&#160;lifetime&#160;of&#160;this<br/>
<a href="builtins.html#object">object</a>,&#160;as&#160;the&#160;<a href="#PyCdlib">PyCdlib</a>&#160;class&#160;uses&#160;it&#160;internally&#160;to&#160;do&#160;writing&#160;and&#160;reading<br/>
operations.&#160;&#160;To&#160;have&#160;<a href="#PyCdlib">PyCdlib</a>&#160;manage&#160;this&#160;automatically,&#160;use&#160;'open'<br/>
instead.<br/>
&#160;<br/>
Parameters:<br/>
&#160;fp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;containing&#160;the&#160;ISO&#160;to&#160;open&#160;up.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Remove&#160;a&#160;directory&#160;from&#160;the&#160;ISO.&#160;&#160;The&#160;directory&#160;must&#160;be&#160;empty.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;to&#160;the&#160;directory&#160;to&#160;remove.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;directory&#160;to&#160;remove.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;to&#160;the&#160;directory&#160;to&#160;remove.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;absolute&#160;path&#160;to&#160;the&#160;directory&#160;to&#160;remove.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-rm_eltorito"><strong>rm_eltorito</strong></a>(self)</dt><dd><tt>Remove&#160;the&#160;El&#160;Torito&#160;boot&#160;record&#160;(and&#160;Boot&#160;Catalog)&#160;from&#160;the&#160;ISO.<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Remove&#160;a&#160;file&#160;from&#160;the&#160;ISO.&#160;&#160;This&#160;removes&#160;the&#160;data&#160;and&#160;the&#160;listing&#160;of<br/>
the&#160;file&#160;from&#160;all&#160;contexts,&#160;even&#160;when&#160;only&#160;one&#160;path&#160;is&#160;given&#160;(to&#160;only<br/>
remove&#160;it&#160;from&#160;a&#160;single&#160;context,&#160;use&#160;<a href="#PyCdlib-rm_hard_link">rm_hard_link</a>()&#160;instead).&#160;&#160;Due&#160;to<br/>
some&#160;complexities&#160;of&#160;the&#160;ISO&#160;format,&#160;removal&#160;of&#160;zero-byte&#160;files&#160;from&#160;all<br/>
contexts&#160;does&#160;not&#160;automatically&#160;happen,&#160;so&#160;this&#160;method&#160;may&#160;need&#160;to&#160;be<br/>
called&#160;more&#160;than&#160;once&#160;for&#160;zero-byte&#160;files.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;to&#160;the&#160;file&#160;to&#160;remove.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;of&#160;the&#160;file&#160;to&#160;remove.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;to&#160;the&#160;file&#160;to&#160;remove.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;path&#160;to&#160;the&#160;file&#160;to&#160;remove.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Remove&#160;a&#160;hard&#160;link&#160;from&#160;the&#160;ISO.&#160;&#160;If&#160;the&#160;number&#160;of&#160;links&#160;to&#160;a&#160;piece&#160;of<br/>
data&#160;drops&#160;to&#160;zero,&#160;then&#160;the&#160;contents&#160;will&#160;be&#160;removed&#160;from&#160;the&#160;ISO.<br/>
This&#160;can&#160;be&#160;thought&#160;of&#160;as&#160;a&#160;lower-level&#160;interface&#160;to&#160;<a href="#PyCdlib-rm_file">rm_file</a>().&#160;&#160;Either<br/>
an&#160;ISO9660&#160;path&#160;or&#160;a&#160;Joliet&#160;path&#160;must&#160;be&#160;passed&#160;to&#160;this&#160;API,&#160;but&#160;not<br/>
both.&#160;&#160;Thus,&#160;this&#160;interface&#160;can&#160;be&#160;used&#160;to&#160;hide&#160;files&#160;from&#160;either&#160;the<br/>
ISO9660&#160;filesystem,&#160;the&#160;Joliet&#160;filesystem,&#160;or&#160;both&#160;(if&#160;there&#160;is&#160;another<br/>
reference&#160;to&#160;the&#160;data&#160;on&#160;the&#160;ISO,&#160;such&#160;as&#160;in&#160;El&#160;Torito).&#160;&#160;Note&#160;that&#160;this<br/>
is&#160;an&#160;advanced&#160;API,&#160;so&#160;using&#160;it&#160;in&#160;combination&#160;with&#160;the&#160;higher-level&#160;APIs<br/>
(like&#160;<a href="#PyCdlib-rm_file">rm_file</a>())&#160;may&#160;result&#160;in&#160;unexpected&#160;behavior.&#160;&#160;Once&#160;this&#160;API&#160;has<br/>
been&#160;used,&#160;this&#160;API&#160;and&#160;<a href="#PyCdlib-add_hard_link">add_hard_link</a>()&#160;should&#160;be&#160;preferred&#160;over<br/>
<a href="#PyCdlib-rm_file">rm_file</a>()&#160;and&#160;<a href="#PyCdlib-add_file">add_file</a>().<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;ISO&#160;link&#160;path&#160;to&#160;remove.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;link&#160;path&#160;to&#160;remove.<br/>
&#160;udf_path&#160;-&#160;The&#160;UDF&#160;link&#160;path&#160;to&#160;remove.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-rm_isohybrid"><strong>rm_isohybrid</strong></a>(self)</dt><dd><tt>Remove&#160;the&#160;'hybridization'&#160;of&#160;an&#160;ISO,&#160;making&#160;it&#160;a&#160;traditional&#160;ISO&#160;again.<br/>
This&#160;means&#160;the&#160;ISO&#160;will&#160;no&#160;longer&#160;be&#160;able&#160;to&#160;be&#160;copied&#160;and&#160;booted&#160;off<br/>
of&#160;traditional&#160;media&#160;(like&#160;USB&#160;sticks).<br/>
&#160;<br/>
Parameters:<br/>
&#160;None.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-rm_joliet_directory"><strong>rm_joliet_directory</strong></a>(self, joliet_path)</dt><dd><tt>(deprecated)&#160;Remove&#160;a&#160;Joliet&#160;directory&#160;from&#160;the&#160;ISO.&#160;&#160;It&#160;is&#160;recommended<br/>
to&#160;use&#160;the&#160;'joliet_path'&#160;parameter&#160;to&#160;'rm_directory'&#160;instead.<br/>
&#160;<br/>
Parameters:<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;to&#160;the&#160;directory&#160;to&#160;remove.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Set&#160;the&#160;ISO9660&#160;hidden&#160;attribute&#160;on&#160;a&#160;file&#160;or&#160;directory.&#160;&#160;This&#160;will<br/>
cause&#160;the&#160;file&#160;or&#160;directory&#160;not&#160;to&#160;show&#160;up&#160;when&#160;listing&#160;entries&#160;on&#160;the<br/>
ISO.&#160;&#160;Exactly&#160;one&#160;of&#160;iso_path,&#160;rr_path,&#160;or&#160;joliet_path&#160;must&#160;be&#160;specified.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;set&#160;the&#160;hidden&#160;bit&#160;on.<br/>
&#160;rr_path&#160;-&#160;The&#160;Rock&#160;Ridge&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;set&#160;the&#160;hidden&#160;bit&#160;on.<br/>
&#160;joliet_path&#160;-&#160;The&#160;Joliet&#160;path&#160;on&#160;the&#160;ISO&#160;to&#160;set&#160;the&#160;hidden&#160;bit&#160;on.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-set_relocated_name"><strong>set_relocated_name</strong></a>(self, name, rr_name)</dt><dd><tt>Set&#160;the&#160;name&#160;of&#160;the&#160;relocated&#160;directory&#160;on&#160;a&#160;Rock&#160;Ridge&#160;ISO.&#160;&#160;The&#160;ISO<br/>
must&#160;be&#160;a&#160;Rock&#160;Ridge&#160;one,&#160;and&#160;must&#160;not&#160;have&#160;previously&#160;had&#160;the&#160;relocated<br/>
name&#160;set.<br/>
&#160;<br/>
Parameters:<br/>
&#160;name&#160;-&#160;The&#160;name&#160;for&#160;a&#160;relocated&#160;directory.<br/>
&#160;rr_name&#160;-&#160;The&#160;Rock&#160;Ridge&#160;name&#160;for&#160;a&#160;relocated&#160;directory.<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-walk"><strong>walk</strong></a>(self, **kwargs)</dt><dd><tt>Walk&#160;the&#160;entries&#160;on&#160;the&#160;ISO,&#160;starting&#160;at&#160;the&#160;given&#160;path.&#160;&#160;One,&#160;and&#160;only<br/>
one,&#160;of&#160;iso_path,&#160;rr_path,&#160;joliet_path,&#160;and&#160;udf_path&#160;is&#160;allowed.<br/>
Similar&#160;to&#160;os.<a href="#PyCdlib-walk">walk</a>(),&#160;yield&#160;a&#160;3-tuple&#160;of&#160;(path-to-here,&#160;dirlist,&#160;filelist)<br/>
for&#160;each&#160;directory&#160;level.<br/>
&#160;<br/>
Parameters:<br/>
&#160;iso_path&#160;-&#160;The&#160;absolute&#160;ISO&#160;path&#160;to&#160;the&#160;starting&#160;entry&#160;on&#160;the&#160;ISO.<br/>
&#160;rr_path&#160;-&#160;The&#160;absolute&#160;Rock&#160;Ridge&#160;path&#160;to&#160;the&#160;starting&#160;entry&#160;on&#160;the&#160;ISO.<br/>
&#160;joliet_path&#160;-&#160;The&#160;absolute&#160;Joliet&#160;path&#160;to&#160;the&#160;starting&#160;entry&#160;on&#160;the&#160;ISO.<br/>
&#160;udf_path&#160;-&#160;The&#160;absolute&#160;UDF&#160;path&#160;to&#160;the&#160;starting&#160;entry&#160;on&#160;the&#160;ISO.<br/>
Yields:<br/>
&#160;3-tuples&#160;of&#160;(path-to-here,&#160;dirlist,&#160;filelist)<br/>
Returns:<br/>
&#160;Nothing.</tt></dd></dl>

<dl><dt><a name="PyCdlib-write"><strong>write</strong></a>(self, filename, blocksize=32768, progress_cb=None, progress_opaque=None)</dt><dd><tt>Write&#160;a&#160;properly&#160;formatted&#160;ISO&#160;out&#160;to&#160;the&#160;filename&#160;passed&#160;in.&#160;&#160;This<br/>
also&#160;goes&#160;by&#160;the&#160;name&#160;of&#160;'mastering'.<br/>
&#160;<br/>
Parameters:<br/>
&#160;filename&#160;-&#160;The&#160;filename&#160;to&#160;write&#160;the&#160;data&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;blocksize&#160;to&#160;use&#160;when&#160;copying&#160;data;&#160;set&#160;to&#160;32768&#160;by&#160;default.<br/>
&#160;progress_cb&#160;-&#160;If&#160;not&#160;None,&#160;a&#160;function&#160;to&#160;call&#160;as&#160;the&#160;write&#160;call&#160;does&#160;its<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;work.&#160;&#160;The&#160;callback&#160;function&#160;must&#160;have&#160;a&#160;signature&#160;of:<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;def&#160;func(done,&#160;total,&#160;opaque).<br/>
&#160;progress_opaque&#160;-&#160;User&#160;data&#160;to&#160;be&#160;passed&#160;to&#160;the&#160;progress&#160;callback.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><tt>Write&#160;a&#160;properly&#160;formatted&#160;ISO&#160;out&#160;to&#160;the&#160;file&#160;<a href="builtins.html#object">object</a>&#160;passed&#160;in.&#160;&#160;This<br/>
also&#160;goes&#160;by&#160;the&#160;name&#160;of&#160;'mastering'.<br/>
&#160;<br/>
Parameters:<br/>
&#160;outfp&#160;-&#160;The&#160;file&#160;<a href="builtins.html#object">object</a>&#160;to&#160;write&#160;the&#160;data&#160;to.<br/>
&#160;blocksize&#160;-&#160;The&#160;blocksize&#160;to&#160;use&#160;when&#160;copying&#160;data;&#160;set&#160;to&#160;32768&#160;by&#160;default.<br/>
&#160;progress_cb&#160;-&#160;If&#160;not&#160;None,&#160;a&#160;function&#160;to&#160;call&#160;as&#160;the&#160;write&#160;call&#160;does&#160;its<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;work.&#160;&#160;The&#160;callback&#160;function&#160;must&#160;have&#160;a&#160;signature&#160;of:<br/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;def&#160;func(done,&#160;total,&#160;opaque).<br/>
&#160;progress_opaque&#160;-&#160;User&#160;data&#160;to&#160;be&#160;passed&#160;to&#160;the&#160;progress&#160;callback.<br/>
Returns:<br/>
&#160;Nothing.</tt></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><p>
</p><table width="100%" cellspacing="0" cellpadding="2" border="0" summary="section">
<tr bgcolor="#55aa55">
<td colspan="3" valign="bottom">&#160;<br/>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&#160;&#160;&#160;&#160;&#160;&#160;</tt></td><td>&#160;</td>
<td width="100%"><strong>absolute_import</strong> = _Feature((2, 5, 0, 'alpha', 1), (3, 0, 0, 'alpha', 0), 262144)</td></tr></table>
</body></html>