99f81dae8fe51d7bc929c2ee8b744e0874c0463a
1 # -*- coding: utf-8 -*-
3 Boîte de dialogue pour sélection des chansons.
9 from pgu
.gui
import FileDialog
11 from xml
.etree
import ElementTree
13 class FileOpenDialog(FileDialog
):
17 def __init__(self
, path
):
18 FileDialog
.__init
__(self
,
19 title_txt
="Ouvrir une chanson",
25 self
.input_dir
.value
= self
.curdir
26 self
.input_dir
.pos
= len(self
.curdir
)
27 self
.input_dir
.vpos
= 0
31 for i
in os
.listdir(self
.curdir
):
32 if i
.startswith('.') : continue
33 if os
.path
.isdir(os
.path
.join(self
.curdir
, i
)): dirs
.append(i
)
36 self
.input_file
.value
= "Dossier innacessible !"
43 self
.list.add(i
, image
=self
.dir_img
, value
=i
)
46 if not i
.endswith('.xml') :
48 filepath
= os
.path
.join(self
.curdir
, i
)
49 self
.list.add(FileOpenDialog
.getSongTitle(filepath
), value
=i
)
51 self
.list.set_vertical_scroll(0)
54 def getSongTitle(file) :
55 it
= ElementTree
.iterparse(file, ['start', 'end'])
59 if el
.tag
== 'credit' :
61 if el
.tag
== 'credit-words' and creditFound
:
62 return el
.text
.encode('iso-8859-1')
63 if el
.tag
== 'part-list' :
64 # plus de chance de trouver un titre
65 return os
.path
.basename(file)