예제 #1
0
파일: cli.py 프로젝트: Alwnikrotikz/ardj
def cmd_db_stats(*args):
    """shows database statistics"""
    from ardj.database import Track

    tracks = Track.find_all()
    count = len(tracks)
    length = sum([t.get("length", 0) for t in tracks])
    print "%u tracks, %.1f hours." % (count, length / 60 / 60)
예제 #2
0
파일: tracks.py 프로젝트: Alwnikrotikz/ardj
def mark_long():
    """Marks long tracks with the @long tag."""
    tag = "long"
    length = Track2.get_average_length()
    ardj.database.execute("DELETE FROM `labels` WHERE `label` = ?", (tag, ))
    ardj.database.execute("INSERT INTO `labels` (`track_id`, `email`, `label`) SELECT id, \'ardj\', ? FROM tracks WHERE length > ?", (tag, length, ))
    count = ardj.database.fetch('SELECT COUNT(*) FROM labels WHERE label = ?', (tag, ))[0][0]
    ardj.database.commit()
    return length, count
예제 #3
0
파일: cli.py 프로젝트: Alwnikrotikz/ardj
def cmd_fix_artist_names(*args):
    """correct names according to Last.fm"""
    from ardj.scrobbler import LastFM
    from ardj.database import Track, commit

    cli = LastFM().authorize()
    if cli is None:
        print "Last.fm authentication failed."
        return False

    names = Track.get_artist_names()
    print "Correcting %u artists." % len(names)

    for name in names:
        new_name = cli.get_corrected_name(name)
        if new_name is not None and new_name != name:
            logging.info("Correcting artist name \"%s\" to \"%s\"" % (name.encode("utf-8"), new_name.encode("utf-8")))
            Track.rename_artist(name, new_name)

    commit()
예제 #4
0
def cmd_fix_artist_names(*args):
    """correct names according to Last.fm"""
    from ardj.scrobbler import LastFM
    from ardj.database import Track, commit

    cli = LastFM().authorize()
    if cli is None:
        print "Last.fm authentication failed."
        return False

    names = Track.get_artist_names()
    print "Correcting %u artists." % len(names)

    for name in names:
        new_name = cli.get_corrected_name(name)
        if new_name is not None and new_name != name:
            logging.info("Correcting artist name \"%s\" to \"%s\"" %
                         (name.encode("utf-8"), new_name.encode("utf-8")))
            Track.rename_artist(name, new_name)

    commit()