def fetch(self, handle, id): from product import Product from artist import Artist jtrack = qobuz.api.get_track(id) if not jtrack: print "Cannot fetch data" return False print pprint.pformat(jtrack) where = {} if 'album' in jtrack: P = Product() album = P.get(handle, jtrack['album']['id']) if not album: P.insert_json(handle, jtrack['album']) for field in self.fields_name.keys(): f = self.fields_name[field] if not f['jsonmap']: continue value = self.get_property(jtrack, f['jsonmap']) if not value: continue where[field] = value if 'interpreter' in jtrack: I = Artist() interpreter = I.get(handle, jtrack['interpreter']) if not interpreter: I.insert(handle, jtrack['interpreter']) if 'performer' in jtrack: I = Artist() interpreter = I.get(handle, jtrack['performer']) if not interpreter: I.insert(handle, jtrack['performer']) artist = None artist_type = ('artist', 'interpreter', 'composer', 'performer') for a in artist_type: if a in jtrack and jtrack[a][ 'name'] and jtrack[a]['name'] != 'None': artist = jtrack[a] break self.insert(handle, where) return False
def fetch(self, handle, id): from product import Product from artist import Artist jtrack = qobuz.api.get_track(id) if not jtrack: print "Cannot fetch data" return False print pprint.pformat(jtrack) where = {} if 'album' in jtrack: P = Product() album = P.get(handle, jtrack['album']['id']) if not album: P.insert_json(handle, jtrack['album']) for field in self.fields_name.keys(): f = self.fields_name[field] if not f['jsonmap']: continue value = self.get_property(jtrack, f['jsonmap']) if not value: continue where[field] = value if 'interpreter' in jtrack: I = Artist() interpreter = I.get(handle, jtrack['interpreter']) if not interpreter: I.insert(handle, jtrack['interpreter']) if 'performer' in jtrack: I = Artist() interpreter = I.get(handle, jtrack['performer']) if not interpreter: I.insert(handle, jtrack['performer']) artist = None artist_type = ('artist', 'interpreter', 'composer', 'performer') for a in artist_type: if a in jtrack and jtrack[a]['name'] and jtrack[a]['name'] != 'None': artist = jtrack[a] break self.insert(handle, where) return False