import urllib import xml.etree.ElementTree as ET class Pyrity: def __init__(self, address): self.pics = [] self.address = address if address.endswith('index.xml'): self.base_address = address[:-len("index.xml")] def downloadXml(self): f = urllib.urlopen(self.address) self.xml = f.read() def getAllDir(self): if len(self.xml) == 0: return False self.dirs = {} xml = ET.fromstring(self.xml) for dir in xml.iter('dir'): d = dir.attrib self.dirs.update({d['type']:d['path']}) def getAllPic(self): if len(self.xml) == 0 or len(self.dirs) == 0: return False xml = ET.fromstring(self.xml) for pic in xml.iter('image'): image = {} for key in self.dirs: image.update({key:pic.find(key).text}) self.pics.append(image) def makeUrl(self, file, size): return self.base_address + self.dirs[size] + '/' + file def getOnePic(self, index, size="small"): if index < 0 or index > (len(self.pics) - 1): return False return self.makeUrl(self.pics[index][size], size) def getOneGroup(self, index): if index < 0 or index > (len(self.pics) - 1): return False pics = {} for k in self.dirs: pics.update({k:self.getOnePic(index, k)}) return pics