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; }
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; }