| 74 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Cover": |
| 75 | | self.printCover(track, mbtrack, rel) |
| 76 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Composer": |
| 77 | | self.printComposer(track, mbtrack, rel) |
| 78 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Instrument": |
| 79 | | self.printInstrument(track, mbtrack, rel) |
| 80 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#SamplesMaterial": |
| 81 | | self.printSamplesMaterial(track, mbtrack, rel) |
| 82 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Remixer": |
| 83 | | self.printRemixer(track, mbtrack, rel) |
| 84 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Lyricist": |
| 85 | | self.printLyricist(track, mbtrack, rel) |
| 86 | | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Producer": |
| 87 | | self.printProducer(track, mbtrack, rel) |
| 88 | | |
| | 78 | if rel.getDirection() != "backward": |
| | 79 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Cover": |
| | 80 | relobj[0].append(rel) |
| | 81 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Composer": |
| | 82 | relobj[1].append(rel) |
| | 83 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Instrument": |
| | 84 | relobj[2].append(rel) |
| | 85 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#SamplesMaterial": |
| | 86 | relobj[3].append(rel) |
| | 87 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Remixer": |
| | 88 | relobj[4].append(rel) |
| | 89 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Lyricist": |
| | 90 | relobj[5].append(rel) |
| | 91 | if rel.getType() == "http://musicbrainz.org/ns/rel-1.0#Producer": |
| | 92 | relobj[6].append(rel) |
| | 93 | |
| | 94 | funcs = [] |
| | 95 | funcs.append(self.printCover) |
| | 96 | funcs.append(self.printComposer) |
| | 97 | funcs.append(self.printInstrument) |
| | 98 | funcs.append(self.printSamplesMaterial) |
| | 99 | funcs.append(self.printRemixer) |
| | 100 | funcs.append(self.printLyricist) |
| | 101 | funcs.append(self.printProducer) |
| | 102 | |
| | 103 | for i in range(7): |
| | 104 | if len(relobj[i]) > 0: |
| | 105 | funcs[i](track, mbtrack, relobj[i]) |
| 111 | | def printCover(self, track, mbtrack, rel): |
| 112 | | # Workaround for buggy pymusicbrainzl; getTarget() on this rel returns None |
| 113 | | url = rel.getTargetId() |
| 114 | | id = url[url.rindex("/")+1:] |
| 115 | | |
| 116 | | cover = self.q.getTrackById(id, self.tinc) |
| 117 | | coverartist = cover.getArtist() |
| 118 | | |
| 119 | | self.buf.insert_with_tags(self.buf.get_end_iter(), "...is a cover of ") |
| 120 | | self.buf.insert_with_tags(self.buf.get_end_iter(), cover.getTitle(), self.textTagBold) |
| 121 | | self.buf.insert_with_tags(self.buf.get_end_iter(), " by ") |
| 122 | | self.buf.insert_with_tags(self.buf.get_end_iter(), coverartist.getName(), self.textTagBold) |
| 123 | | self.buf.insert_with_tags(self.buf.get_end_iter(), "") |
| 124 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 125 | | return True |
| 126 | | |
| 127 | | def printComposer(self, track, mbtrack, rel): |
| 128 | | composer = rel.getTarget() |
| 129 | | self.buf.insert_with_tags(self.buf.get_end_iter(), "..was originally composed by ") |
| 130 | | self.buf.insert_with_tags(self.buf.get_end_iter(), composer.getName(), self.textTagBold) |
| 131 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 132 | | return True |
| 133 | | |
| 134 | | def printSamplesMaterial(self, track, mbtrack, rel): |
| 135 | | url = rel.getTargetId() |
| 136 | | id = url[url.rindex("/")+1:] |
| 137 | | sampled = self.q.getTrackById(id, self.tinc) |
| 138 | | sampledartist = sampled.getArtist() |
| | 128 | def printCover(self, track, mbtrack, rels): |
| | 129 | |
| | 130 | for rel in rels: |
| | 131 | |
| | 132 | # Workaround for buggy pymusicbrainzl; getTarget() on this rel returns None |
| | 133 | url = rel.getTargetId() |
| | 134 | id = url[url.rindex("/")+1:] |
| | 135 | |
| | 136 | cover = self.q.getTrackById(id, self.tinc) |
| | 137 | coverartist = cover.getArtist() |
| | 138 | |
| | 139 | self.buf.insert_with_tags(self.buf.get_end_iter(), "...is a cover of ") |
| | 140 | self.buf.insert_with_tags(self.buf.get_end_iter(), cover.getTitle(), self.textTagBold) |
| | 141 | self.buf.insert_with_tags(self.buf.get_end_iter(), " by ") |
| | 142 | self.buf.insert_with_tags(self.buf.get_end_iter(), coverartist.getName(), self.textTagBold) |
| | 143 | self.buf.insert_with_tags(self.buf.get_end_iter(), "") |
| | 144 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 145 | |
| | 146 | return True |
| | 147 | |
| | 148 | def printComposer(self, track, mbtrack, rels): |
| | 149 | |
| | 150 | self.buf.insert_with_tags(self.buf.get_end_iter(), "...was composed by ") |
| | 151 | |
| | 152 | composers = [] |
| | 153 | |
| | 154 | for rel in rels: |
| | 155 | composer = rel.getTarget() |
| | 156 | composers.append(composer.getName()) |
| | 157 | |
| | 158 | |
| | 159 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(composers), self.textTagBold) |
| | 160 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 161 | return True |
| | 162 | |
| | 163 | def printSamplesMaterial(self, track, mbtrack, rels): |
| | 164 | |
| | 165 | sampled = [] |
| | 166 | |
| | 167 | for rel in rels: |
| | 168 | url = rel.getTargetId() |
| | 169 | id = url[url.rindex("/")+1:] |
| | 170 | sampled = self.q.getTrackById(id, self.tinc) |
| | 171 | sampledartist = sampled.getArtist() |
| | 172 | sampled.append(sampled.getTitle() + " by " + sampledartist.getName()) |
| 141 | | self.buf.insert_with_tags(self.buf.get_end_iter(), sampled.getTitle(), self.textTagBold) |
| 142 | | self.buf.insert_with_tags(self.buf.get_end_iter(), " by ") |
| 143 | | self.buf.insert_with_tags(self.buf.get_end_iter(), sampledartist.getTitle(), self.textTagBold) |
| 144 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 145 | | return True |
| 146 | | |
| 147 | | def printRemixer(self, track, mbtrack, rel): |
| 148 | | url = rel.getTargetId() |
| 149 | | id = url[url.rindex("/")+1:] |
| 150 | | remixer = self.q.getArtistById(id, self.tinc) |
| | 175 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(sampled), self.textTagBold) |
| | 176 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 177 | return True |
| | 178 | |
| | 179 | def printRemixer(self, track, mbtrack, rels): |
| | 180 | |
| | 181 | remixers = [] |
| | 182 | |
| | 183 | for rel in rels: |
| | 184 | url = rel.getTargetId() |
| | 185 | id = url[url.rindex("/")+1:] |
| | 186 | remixer = self.q.getArtistById(id, self.tinc) |
| | 187 | remixers.append(remixer.getName()) |
| 153 | | self.buf.insert_with_tags(self.buf.get_end_iter(), remixer.getName(), self.textTagBold) |
| 154 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 155 | | return True |
| 156 | | |
| 157 | | def printProducer(self, track, mbtrack, rel): |
| 158 | | url = rel.getTargetId() |
| 159 | | id = url[url.rindex("/")+1:] |
| 160 | | remixer = self.q.getArtistById(id, self.tinc) |
| 161 | | |
| | 190 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(remixers), self.textTagBold) |
| | 191 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 192 | return True |
| | 193 | |
| | 194 | def printProducer(self, track, mbtrack, rels): |
| | 195 | |
| | 196 | producers = [] |
| | 197 | |
| | 198 | for rel in rels: |
| | 199 | url = rel.getTargetId() |
| | 200 | id = url[url.rindex("/")+1:] |
| | 201 | producer = self.q.getArtistById(id, self.tinc) |
| | 202 | producers.append(producer.getName()) |
| | 203 | |
| 163 | | self.buf.insert_with_tags(self.buf.get_end_iter(), remixer.getName(), self.textTagBold) |
| 164 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 165 | | return True |
| 166 | | |
| 167 | | def printLyricist(self, track, mbtrack, rel): |
| 168 | | lyricist = rel.getTarget() |
| 169 | | |
| 170 | | self.buf.insert_with_tags(self.buf.get_end_iter(), "...has lyrics written by ") |
| 171 | | self.buf.insert_with_tags(self.buf.get_end_iter(), lyricist.getName(), self.textTagBold) |
| 172 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 173 | | return True |
| 174 | | |
| 175 | | def printProducer(self, track, mbtrack, rel): |
| 176 | | producer = rel.getTarget() |
| | 205 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(producers), self.textTagBold) |
| | 206 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 207 | return True |
| | 208 | |
| | 209 | def printLyricist(self, track, mbtrack, rels): |
| | 210 | |
| | 211 | lyricists = [] |
| | 212 | |
| | 213 | for rel in rels: |
| | 214 | lyricist = rel.getTarget() |
| | 215 | lyricists.append(lyricist.getName()) |
| | 216 | |
| | 217 | self.buf.insert_with_tags(self.buf.get_end_iter(), "...has lyrics by ") |
| | 218 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(lyricists), self.textTagBold) |
| | 219 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 220 | return True |
| | 221 | |
| | 222 | def printProducer(self, track, mbtrack, rels): |
| | 223 | |
| | 224 | producers = [] |
| | 225 | |
| | 226 | for rel in rels: |
| | 227 | producer = rel.getTarget() |
| | 228 | producers.append(producer.getName()) |
| 179 | | self.buf.insert_with_tags(self.buf.get_end_iter(), producer.getName(), self.textTagBold) |
| 180 | | self.buf.insert(self.buf.get_end_iter(), "\n") |
| 181 | | return True |
| 182 | | |
| 183 | | def printInstrument(self, track, mbtrack, rel): |
| 184 | | return True |
| 185 | | |
| 186 | | def close_clicked(self, button): |
| 187 | | self.window.hide() |
| 188 | | return True |
| 189 | | |
| 190 | | def delete_event(self, window, event): |
| 191 | | self.window.hide() |
| 192 | | return True |
| 193 | | |
| 194 | | |
| 195 | | |
| | 231 | self.buf.insert_with_tags(self.buf.get_end_iter(), ", ".join(producers), self.textTagBold) |
| | 232 | self.buf.insert(self.buf.get_end_iter(), "\n") |
| | 233 | return True |
| | 234 | |
| | 235 | def printInstrument(self, track, mbtrack, rels): |
| | 236 | return True |