示例#1
0
void TopLists::reLoadTracks() {
	if (m_waitingForTracks)
		return;
	m_waitingForTracks = true;
	sp_toplistregion region =
			Settings::getInstance()->toplistRegionEverywhere() ?
					SP_TOPLIST_REGION_EVERYWHERE :
					(sp_toplistregion) sp_session_user_country(
							Session::getInstance()->getSpSession());
	sp_toplistbrowse_create(Session::getInstance()->getSpSession(),
			SP_TOPLIST_TYPE_TRACKS, region, Settings::getInstance()->getUserName(),
			&cb_toplistTracksComplete, this);
}
示例#2
0
int cmd_toplist(int argc, char **argv)
{
	sp_toplisttype type;
	sp_toplistregion region;

	if(argc < 3) {
		toplist_usage();
		return -1;
	}

	if(!strcasecmp(argv[1], "artists"))
		type = SP_TOPLIST_TYPE_ARTISTS;
	else if(!strcasecmp(argv[1], "albums"))
		type = SP_TOPLIST_TYPE_ALBUMS;
	else if(!strcasecmp(argv[1], "tracks"))
		type = SP_TOPLIST_TYPE_TRACKS;
	else {
		toplist_usage();
		return -1;
	}


	if(!strcasecmp(argv[2], "global"))
		region = SP_TOPLIST_REGION_EVERYWHERE;
	else if(!strcasecmp(argv[2], "user"))
		region = SP_TOPLIST_REGION_USER;
	else if(!strcasecmp(argv[2], "region")) {

		if(argc != 4 || strlen(argv[3]) != 2) {
			toplist_usage();
			return -1;
		}
		region = SP_TOPLIST_REGION(argv[3][0], argv[3][1]);
	} else {
		toplist_usage();
		return -1;
	}

	sp_toplistbrowse_create(g_session, type, region, NULL, got_toplist, NULL);
	return 0;
}
示例#3
0
文件: spotify.c 项目: theodoor/spop
sp_toplistbrowse* toplistbrowse_create(sp_toplisttype type, sp_toplistregion region, const gchar* username, toplistbrowse_complete_cb* callback, gpointer userdata)
{
        return sp_toplistbrowse_create(g_session, type, region, username, callback, userdata);
}
示例#4
0
int cmd_toplist(int argc, char **argv)
{
	sp_toplisttype type;
	sp_toplistregion region;
        char username[252];
        if(argc == 2) {
            if(!strcasecmp(argv[1], "charts"))
                toplist_charts();
                return -1;
        }
	if(argc < 3) {
		toplist_usage();
		return -1;
        }

        if(!strcasecmp(argv[1], "artists"))
		type = SP_TOPLIST_TYPE_ARTISTS;
        else if(!strcasecmp(argv[1], "albums"))
		type = SP_TOPLIST_TYPE_ALBUMS;     
        else if(!strcasecmp(argv[1], "tracks"))
		type = SP_TOPLIST_TYPE_TRACKS;    
        else {
		toplist_usage();
		return -1;
	}


        if(!strcasecmp(argv[2], "global"))
                region = SP_TOPLIST_REGION_EVERYWHERE;
        else if(!strcasecmp(argv[2], "user")){
                region = SP_TOPLIST_REGION_USER;

                if(argc != 4 || strlen(argv[3]) < 0) {
                        toplist_usage();
                        return -1;
                }
                strcpy(username, argv[3]);

        }else if(!strcasecmp(argv[2], "region")) {

		if(argc != 4 || strlen(argv[3]) != 2) {
			toplist_usage();
			return -1;
		}

                int i;
                for (i = 0; argv[3][i]; i++)
                    argv[3][i] = toupper(argv[3][i]);

		region = SP_TOPLIST_REGION(argv[3][0], argv[3][1]);
	} else {
		toplist_usage();
		return -1;
        }
        
#ifdef USE_MYSQL
                _mysql_updateStats(g_conn, "toplist");
#endif        

        sp_toplistbrowse_create(g_session, type, region, username, got_toplist, NULL);
	return 0;
}