Δημοσιεύτηκε: 06 Ιούλ 2011, 14:43
από sv1jsb
Μια λύση με regular expressions και την προσθήκη αντικειμένου για κάθε media.
Κώδικας: Επιλογή όλων

import codecs # open()
import re

RADIOLIST = 'radiolist.js'
class MediaData:
def __init__(self,title=None,city=None,id=None,logo=None):
self.title=title
self.city=city
self.id=id
self.logo=logo

class PlaylistGenerator:
def __init__(self):
with codecs.open(RADIOLIST, 'r', 'iso-8859-7') as f:
text = f.readlines() # Create a list with the lines
text = text[1:-1] # Remove first and last lines
text[-1] += "," # Add a comma at the last entry
mediadata=[]
for line in text:
line = line[2:-4] # clean-up each line
pedia = re.search(r'(mediatitle): (".*?").*?(city): (".*?").*?(mediaid): (\d+).*?(logo): (".*?")',line)
mediadata.append(MediaData(pedia.group(2),pedia.group(4),pedia.group(6),pedia.group(8)))
for md in mediadata:
print md.title, md.city, md.id, md.logo

if __name__ == '__main__':
playlist = PlaylistGenerator()