Δημοσιεύτηκε: 06 Ιούλ 2011, 16:25
από simosx
pmav99 έγραψε:@sv1jsb
Έχεις δίκιο ότι η σύνταξη με "." είναι πιο εύχρηστη από αυτή του dictionary. Τελείως ενημερωτικά, σαν μια πιο lightweight εναλλακτική, αντί για custom κλάση μπορεί να χρησιμοποιηθεί ένα namedtuple.

Κώδικας: Επιλογή όλων
from collections import namedtuple
MediaData = namedtuple('MediaData', ['title','city', 'id', 'logo'])
a = MediaData(title="Ubuntu", city="Athens", id="1", logo="no")
print a.city


Το βασικό του πλεονέκτημα έναντι της custom κλάσης είναι ότι είναι immutable.

Άλλος τύπος γενικού container είναι το Bunch. Εδώ σε πιο light έκδοση


Δεν το ήξερα το «namedtuple» και φαίνεται καλό.

Το επόμενο βήμα θα ήταν να χρησιμοποιήσουμε τη δομή που έχει δημιουργηθεί ώστε να παράγουμε ένα XML αρχείο που θα είναι η λίστα αναπαραγωγής για .xspf, http://www.xspf.org/quickstart/
Το αρχείο .xml μπορεί να γίνει με το χέρι, ή να γίνει με κάποια βιβλιοθήκη που παράγει XML σε Python (αρκεί να είναι στις βασικές βιβλιοθήκες της Python).

Για το .pls, http://en.wikipedia.org/wiki/PLS_%28file_format%29 νομίζω ότι μπορεί να βγει αρκετά εύκολα.

Οπότε, κάντε ελεύθερα το commit+push για τον υπάρχων κώδικα και συνεχίζουμε.