def fill_features(store): conn = uutils.get_feature_db() @uutils.memo def tag_fct(tag): return uutils.tag_features(tag, conn=conn, normalize=True) for track in store.find(Track, Ne(Track.tags, None) & Eq(Track.features, None)): print "Processing %s - %s ..." % (track.artist, track.title) if isinstance(track.tags, basestring): continue features = uutils.track_features( track.tags, conn=conn, tag_fct=tag_fct) if features is None: # The track probably didn't have any tags. print "-- Feature vector is null." continue # Serialize and save the feature vector. track.features = uutils.encode_features(features) store.commit()
def fill_features(store): conn = uutils.get_feature_db() @uutils.memo def tag_fct(tag): return uutils.tag_features(tag, conn=conn, normalize=True) for track in store.find(Track, Ne(Track.tags, None) & Eq(Track.features, None)): print "Processing %s - %s ..." % (track.artist, track.title) if isinstance(track.tags, basestring): continue features = uutils.track_features(track.tags, conn=conn, tag_fct=tag_fct) if features is None: # The track probably didn't have any tags. print "-- Feature vector is null." continue # Serialize and save the feature vector. track.features = uutils.encode_features(features) store.commit()
def _store_tags(self, track, tags, features=None): """Store a track's tags in the database.""" track.tags = json.dumps(tags).decode('utf-8') if features is not None: track.features = uutils.encode_features(features) self._store.commit()