Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
 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()
Ejemplo n.º 4
0
 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()