コード例 #1
0
 def startElement(self, name, attrs):
     if not name in self.knownTags:
         if not self.ignore_missing_tags:
             print "Error: Unknown Master element '%s'." % name
             sys.exit()
         elif not name in self.unknown_tags:
             self.unknown_tags.append(name)
     self.stack.append(name)
     if name == 'master':
         self.master = model.Master()
         self.master.id = int(attrs['id'])
     elif name == "image":
         img = model.ImageInfo()
         img.height = attrs["height"]
         img.imageType = attrs["type"]
         img.uri = attrs["uri"]
         img.uri150 = attrs["uri150"]
         img.width = attrs["width"]
         self.master.images.append(img)
         if len(attrs) != 5:
             print "ATTR ERROR"
             print attrs
             sys.exit()
     elif name == "video":
         vid = model.Video()
         vid.duration = attrs["duration"]
         vid.embed = attrs["embed"]
         vid.uri = attrs["src"]
         self.master.videos.append(vid)
     elif name == "artist":
         self.master.artists.append(model.ArtistCredit())
コード例 #2
0
    def startElement(self, name, attrs):
        if name not in self.knownTags:
            if not self.ignore_missing_tags:
                print("Error: Unknown Release element '%s'." % name)
                sys.exit()
            elif name not in self.unknown_tags:
                self.unknown_tags.append(name)
        self.stack.append(name)

        if name == 'release':
            self.release = model.Release()
            self.release.id = int(attrs['id'].replace(
                " ", ""))  # omit whitespaces in id to avoid conversion errors
            self.release.status = attrs['status']

        elif name == 'track' and self.stack[-2] == 'tracklist':
            self.release.tracklist.append(model.Track())

        elif name == "image":
            img = model.ImageInfo()
            img.height = attrs["height"]
            img.imageType = attrs["type"]
            img.uri = attrs["uri"]
            img.uri150 = attrs["uri150"]
            img.width = attrs["width"]
            self.release.images.append(img)
            if len(attrs) != 5:
                print("ATTR ERROR")
                print(attrs)
                sys.exit()

        elif name == 'format':
            fmt = model.Format()
            fmt.name = attrs['name']
            fmt.qty = attrs['qty']
            fmt.text = attrs['text']
            self.release.formats.append(fmt)

        elif name == 'label':
            lbl = model.ReleaseLabel()
            lbl.name = attrs['name']
            lbl.catno = attrs['catno']
            self.release.labels.append(lbl)

        elif name == 'company' and 'companies' in self.stack:
            self.release.companies.append(model.Company())

        # Barcode
        elif name == 'identifier' and attrs['type'] == 'Barcode':
            self.release.barcode = attrs['value']
コード例 #3
0
    def startElement(self, name, attrs):
        if not name in self.knownTags:
            if not self.ignore_missing_tags:
                print "Error: Unknown Release element '%s'." % name
                sys.exit()
            elif not name in self.unknown_tags:
                self.unknown_tags.append(name)
        self.stack.append(name)

        if name == 'release':
            self.release = model.Release()
            self.release.id = int(attrs['id'])
            self.release.status = attrs['status']

        elif name == 'track' and self.stack[-2] == 'tracklist':
            self.release.tracklist.append(model.Track())

        elif name == "image":
            img = model.ImageInfo()
            img.height = attrs["height"]
            img.imageType = attrs["type"]
            img.uri = attrs["uri"]
            img.uri150 = attrs["uri150"]
            img.width = attrs["width"]
            self.release.images.append(img)
            if len(attrs) != 5:
                print "ATTR ERROR"
                print attrs
                sys.exit()

        elif name == 'format':
            fmt = model.Format()
            fmt.name = attrs['name']
            fmt.qty = attrs['qty']
            self.release.formats.append(fmt)

        elif name == 'label':
            lbl = model.ReleaseLabel()
            lbl.name = attrs['name']
            lbl.catno = attrs['catno']
            self.release.labels.append(lbl)

        # Barcode
        elif name == 'identifier' and attrs['type'] == 'Barcode':
            self.release.barcode = attrs['value']
コード例 #4
0
	def startElement(self, name, attrs):
		if name not in self.inElement:
			if not self.ignore_missing_tags:
				print("Error: Unknown Artist element '%s'." % name)
				sys.exit()
			elif name not in self.unknown_tags:
				self.unknown_tags.append(name)
		self.inElement[name] = True

		if name == "artist":
			self.artist = model.Artist()
		elif name == "image":
			image = model.ImageInfo()
			for f in ("height", "type", "uri", "uri150", "width"):
				setattr(image, f, attrs[f])
			self.artist.images.append(image)
			if len(attrs) != 5:
				print("ATTR ERROR")
				print(attrs)
				sys.exit()
コード例 #5
0
	def startElement(self, name, attrs):
		if name not in self.inElement:
			if not self.ignore_missing_tags:
				print("Error: Unknown Label element '%s'." % name)
				sys.exit()
			elif name not in self.unknown_tags:
				self.unknown_tags.append(name)
		self.inElement[name] = True
		if name == 'label':
			if not self.inElement['sublabels']:
				self.label = model.Label()
		elif name == "image":
			newImage = model.ImageInfo()
			for f in ("height", "type", "uri", "uri150", "width"):
				setattr(newImage, f, attrs[f])
			self.label.images.append(newImage)
			if len(attrs) != 5:
				print("ATTR ERROR")
				print(attrs)
				sys.exit()
コード例 #6
0
 def startElement(self, name, attrs):
     if not name in self.inElement:
         if not self.ignore_missing_tags:
             print "Error: Unknown Artist element '%s'." % name
             sys.exit()
         elif not name in self.unknown_tags:
             self.unknown_tags.append(name)
     self.inElement[name] = True
     if name == "artist":
         self.artist = model.Artist()
     elif name == "image":
         image = model.ImageInfo()
         image.height = attrs["height"]
         image.imageType = attrs["type"]
         image.uri = attrs["uri"]
         image.uri150 = attrs["uri150"]
         image.width = attrs["width"]
         self.artist.images.append(image)
         if len(attrs) != 5:
             print "ATTR ERROR"
             print attrs
             sys.exit()
コード例 #7
0
 def startElement(self, name, attrs):
     if not name in self.inElement:
         if not self.ignore_missing_tags:
             print "Error: Unknown Label element '%s'." % name
             sys.exit()
         elif not name in self.unknown_tags:
             self.unknown_tags.append(name)
     self.inElement[name] = True
     if name == 'label':
         if not self.inElement['sublabels']:
             self.label = model.Label()
     elif name == "image":
         newImage = model.ImageInfo()
         newImage.height = attrs["height"]
         newImage.imageType = attrs["type"]
         newImage.uri = attrs["uri"]
         newImage.uri150 = attrs["uri150"]
         newImage.width = attrs["width"]
         self.label.images.append(newImage)
         if len(attrs) != 5:
             print "ATTR ERROR"
             print attrs
             sys.exit()
コード例 #8
0
 def startElement(self, name, attrs):
     if not name in self.knownTags:
         if not self.ignore_missing_tags:
             print "Error: Unknown Master element '%s'." % name
             sys.exit()
         elif not name in self.unknown_tags:
             self.unknown_tags.append(name)
     self.stack.append(name)
     if name == 'master':
         self.master = model.Master()
         self.master.id = int(attrs['id'])
     elif name == "image":
         img = model.ImageInfo()
         img.height = attrs["height"]
         img.imageType = attrs["type"]
         img.uri = attrs["uri"]
         img.uri150 = attrs["uri150"]
         img.width = attrs["width"]
         self.master.images.append(img)
         if len(attrs) != 5:
             print "ATTR ERROR"
             print attrs
             sys.exit()
コード例 #9
0
 def startElement(self, name, attrs):
     if not name in self.knownTags:
         if not self.ignore_missing_tags:
             print "Error: Unknown Release element '%s'." % name
             sys.exit()
         elif not name in self.unknown_tags:
             self.unknown_tags.append(name)
     self.stack.append(name)
     if name == 'release':
         self.release = model.Release()
         self.release.id = int(attrs['id'])
         self.release.status = attrs['status']
     elif name == 'track':
         self.release.tracklist.append(model.Track())
     elif name == "image":
         img = model.ImageInfo()
         img.height = attrs["height"]
         img.imageType = attrs["type"]
         img.uri = attrs["uri"]
         img.uri150 = attrs["uri150"]
         img.width = attrs["width"]
         self.release.images.append(img)
         if len(attrs) != 5:
             print "ATTR ERROR"
             print attrs
             sys.exit()
     elif name == 'format':
         fmt = model.Format()
         fmt.name = attrs['name']
         if attrs.has_key('text'):
             fmt.text = attrs['text']
         fmt.qty = attrs['qty']
         if not fmt.qty: fmt.qty = 0
         self.release.formats.append(fmt)
         #global formats
         #if not formats.has_key(attrs["name"]):
         #  formats[attrs["name"]] = True
     elif name == 'label':
         lbl = model.ReleaseLabel()
         lbl.name = attrs['name']
         lbl.catno = attrs['catno']
         self.release.labels.append(lbl)
     elif name == 'identifier':
         identifier = model.Identifier()
         identifier.type = attrs['type']
         identifier.value = attrs['value']
         if attrs.has_key('description'):
             identifier.description = attrs['description']
         self.release.identifiers.append(identifier)
     elif name == "video":
         vid = model.Video()
         vid.duration = attrs["duration"]
         vid.embed = attrs["embed"]
         vid.uri = attrs["src"]
         self.release.videos.append(vid)
     elif name == "artist":
         if 'track' in self.stack:
             if 'extraartists' in self.stack:
                 self.release.tracklist[-1].extraartists.append(
                     model.ArtistCredit())
             else:
                 self.release.tracklist[-1].artists.append(
                     model.ArtistCredit())
         else:
             if 'extraartists' in self.stack:
                 self.release.extraartists.append(model.ArtistCredit())
             else:
                 self.release.artists.append(model.ArtistCredit())
コード例 #10
0
    def startElement(self, name, attrs):
        if not name in self.knownTags:
            if not self.ignore_missing_tags:
                print "Error: Unknown Release element '%s'." % name
                sys.exit()
            elif not name in self.unknown_tags:
                self.unknown_tags.append(name)
        self.stack.append(name)

        if name == 'release':
            self.release = model.Release()
            self.release.id = int(attrs['id'])
            self.release.status = attrs['status']

        elif name == 'track' and self.stack[-2] == 'tracklist':
            self.release.tracklist.append(model.Track())

        elif name == "image":
            img = model.ImageInfo()
            img.height = attrs["height"]
            img.imageType = attrs["type"]
            img.uri = attrs["uri"]
            img.uri150 = attrs["uri150"]
            img.width = attrs["width"]
            self.release.images.append(img)
            if len(attrs) != 5:
                print "ATTR ERROR"
                print attrs
                sys.exit()

        elif name == 'format':
            fmt = model.Format()
            fmt.name = attrs['name']
            fmt.qty = attrs['qty']
            self.release.formats.append(fmt)

        elif name == 'label':
            lbl = model.ReleaseLabel()
            lbl.name = attrs['name']
            lbl.catno = attrs['catno']
            self.release.labels.append(lbl)

        # Barcode
        elif name == 'identifier' and attrs['type'] == 'Barcode':
            self.release.barcode = attrs['value']

        elif name == 'company':
            comp = model.Company()
            self.release.companies.append(comp)

        elif name == 'video':
            vid = model.Video()
            vid.duration = attrs['duration']
            vid.embed = attrs['embed']
            vid.src = attrs['src']
            self.release.videos.append(vid)

        ## not in the elif, will lose the barcode
        if name == 'identifier':
            ident = model.Identifier()
            if 'description' in attrs:
                ident.description = attrs['description']
            ident.type = attrs['type']
            ident.value = attrs['value']
            self.release.identifiers.append(ident)