[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Librefm-commits] [1206] Switch to using GobbleTracks in gobble.py.
From: |
Daniel Watkins |
Subject: |
[Librefm-commits] [1206] Switch to using GobbleTracks in gobble.py. |
Date: |
Tue, 05 May 2009 22:29:24 +0000 |
Revision: 1206
http://svn.sv.gnu.org/viewvc/?view=rev&root=librefm&revision=1206
Author: odd_bloke
Date: 2009-05-05 22:29:24 +0000 (Tue, 05 May 2009)
Log Message:
-----------
Switch to using GobbleTracks in gobble.py.
Modified Paths:
--------------
trunk/scripts/gobble.py
Modified: trunk/scripts/gobble.py
===================================================================
--- trunk/scripts/gobble.py 2009-05-05 21:47:32 UTC (rev 1205)
+++ trunk/scripts/gobble.py 2009-05-05 22:29:24 UTC (rev 1206)
@@ -45,21 +45,49 @@
def submit(self):
if len(self.post_data) == 0:
return
- self.post_data.append(('s', self.session_id))
- response = urlopen(self.submit_url,
- urlencode(self.post_data)).read()
+ i = 0
+ data = []
+ for track in self.post_data:
+ data += track.get_tuples(i)
+ i += 1
+ data += [('s', self.session_id)]
+ response = urlopen(self.submit_url, urlencode(data)).read()
if response != "OK\n":
raise GobbleException("Server returned: %s" % (response,))
self.post_data = []
time.sleep(1)
- def add_track(self, artist, track, dt):
- timestamp = str(int(time.mktime(dt.utctimetuple())))
- i = len(self.post_data) / 3
+ def add_track(self, gobble_track):
+ i = len(self.post_data)
if i > 49:
self.submit()
i = 0
- self.post_data += [('a[%d]' % i, artist), ('t[%d]' % i, track),
- ('i[%d]' % i, timestamp)]
+ self.post_data.append(gobble_track)
+class GobbleTrack(object):
+
+ def __init__(self, artist, track, timestamp, album=None, length=None,
+ tracknumber=None, mbid=None):
+ self.artist = artist
+ self.track = track
+ self.timestamp = timestamp
+ self.album = album
+ self.length = length
+ self.tracknumber = tracknumber
+ self.mbid = mbid
+
+ def get_tuples(self, i):
+ timestamp = str(int(time.mktime(self.timestamp.utctimetuple())))
+ data = []
+ data += [('a[%d]' % i, self.artist), ('t[%d]' % i, self.track),
+ ('i[%d]' % i, timestamp)]
+ if self.album is not None:
+ data.append(('b[%d]' % i, self.album))
+ if self.length is not None:
+ data.append(('l[%d]' % i, self.length))
+ if self.tracknumber is not None:
+ data.append(('n[%d]' % i, self.tracknumber))
+ if self.mbid is not None:
+ data.append(('m[%d]' % i, self.mbid))
+ return data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Librefm-commits] [1206] Switch to using GobbleTracks in gobble.py.,
Daniel Watkins <=