librefm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Librefm-commits] [1893] fix api methods?


From: Clint Adams
Subject: [Librefm-commits] [1893] fix api methods?
Date: Wed, 03 Jun 2009 14:49:56 +0000

Revision: 1893
          http://svn.sv.gnu.org/viewvc/?view=rev&root=librefm&revision=1893
Author:   clint
Date:     2009-06-03 14:49:56 +0000 (Wed, 03 Jun 2009)
Log Message:
-----------
fix api methods?

Modified Paths:
--------------
    trunk/nixtape/api/UserXML.php
    trunk/nixtape/data/User.php

Modified: trunk/nixtape/api/UserXML.php
===================================================================
--- trunk/nixtape/api/UserXML.php       2009-06-03 14:49:53 UTC (rev 1892)
+++ trunk/nixtape/api/UserXML.php       2009-06-03 14:49:56 UTC (rev 1893)
@@ -68,13 +68,9 @@
                }
 
                $err = 0;
-               $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
                try {
-                       $res = $adodb->CacheGetAll(600, 'SELECT Track.*, 
Artist.mbid AS artmbid, COUNT(*) AS freq
-                                       FROM Track, Scrobbles,Artist
-                                       WHERE Scrobbles.userid = ' . 
username_to_uniqueid($username) . '
-                                       AND Scrobbles.track = Track.name AND 
Scrobbles.time > ' . $timestamp . ' AND Track.artist = Artist.name
-                                       GROUP BY Track.name ORDER BY freq DESC 
LIMIT 20');
+                       $user = new User($user);
+                       $res = $user->getTopTracks(20, $timestamp);
                }
                catch (exception $e) {
                        $err = 1;
@@ -96,7 +92,7 @@
 
                        $track->addChild('playcount', $row['freq']);
                        $artist = $track->addChild('artist', 
repamp($row['artist']));
-                       $artist->addChild('mbid', $row['artmbid']);
+                       $artist->addChild('mbid', $row['artist_mbid']);  // 
artist_mbid isn't being set by getTopTracks yet
                        $i++;
                }
 
@@ -111,17 +107,11 @@
                        $limit = 10;
                }
 
-               $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
                $err = 0;
                try {
-                       $res = $adodb->GetAll('SELECT Track . * , COUNT( * ) AS 
freq
-                                       FROM Track, Scrobbles
-                                       WHERE Scrobbles.userid = ' . 
username_to_uniqueid($user) . '
-                                       AND Scrobbles.track = Track.name
-                                       GROUP BY Track.name
-                                       LIMIT 10');
-               }
-               catch (exception $e) {
+                       $user = new User($user);
+                       $res = $user->getScrobbles($limit);
+               } catch (exception $e) {
                        $err = 1;
                }
 
@@ -136,7 +126,7 @@
                foreach($res as &$row) {
                        $track = $root->addChild('track', null);
                        $artist = $track->addChild('artist', 
repamp($row['artist']));
-                       $artist->addAttribute('mbid', $row['artmbid']);
+                       $artist->addAttribute('mbid', $row['artist_mbid']);
                        $track->addChild('name', repamp($row['name']));
                }
 

Modified: trunk/nixtape/data/User.php
===================================================================
--- trunk/nixtape/data/User.php 2009-06-03 14:49:53 UTC (rev 1892)
+++ trunk/nixtape/data/User.php 2009-06-03 14:49:56 UTC (rev 1893)
@@ -234,9 +234,9 @@
                global $adodb;
 
                if ($since) {
-                       $query = 'SELECT COUNT(track) as c, artist, album, 
track FROM Scrobbles WHERE userid = '.($this->uniqueid).' AND time > 
'.(int)($since).' GROUP BY artist,album,track ORDER BY c DESC LIMIT ' . 
($number);
+                       $query = 'SELECT COUNT(track) as freq, artist, album, 
track FROM Scrobbles WHERE userid = '.($this->uniqueid).' AND time > 
'.(int)($since).' GROUP BY artist,album,track ORDER BY c DESC LIMIT ' . 
($number);
                } else {
-                       $query = 'SELECT COUNT(track) as c, artist, album, 
track FROM Scrobbles WHERE userid = '.($this->uniqueid).' GROUP BY 
artist,album,track ORDER BY c DESC LIMIT ' . ($number);
+                       $query = 'SELECT COUNT(track) as freq, artist, album, 
track FROM Scrobbles WHERE userid = '.($this->uniqueid).' GROUP BY 
artist,album,track ORDER BY c DESC LIMIT ' . ($number);
                }
                $adodb->SetFetchMode(ADODB_FETCH_ASSOC);
                $data = $adodb->CacheGetAll(7200,$query);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]