librefm-commits
[Top][All Lists]
Advanced

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

[Librefm-commits] [1639] A (probably) working -j option.


From: Daniel Watkins
Subject: [Librefm-commits] [1639] A (probably) working -j option.
Date: Fri, 15 May 2009 19:41:10 +0000

Revision: 1639
          http://svn.sv.gnu.org/viewvc/?view=rev&root=librefm&revision=1639
Author:   odd_bloke
Date:     2009-05-15 19:41:09 +0000 (Fri, 15 May 2009)
Log Message:
-----------
A (probably) working -j option.

Modified Paths:
--------------
    trunk/scripts/offline-submit.py

Modified: trunk/scripts/offline-submit.py
===================================================================
--- trunk/scripts/offline-submit.py     2009-05-15 19:41:08 UTC (rev 1638)
+++ trunk/scripts/offline-submit.py     2009-05-15 19:41:09 UTC (rev 1639)
@@ -19,13 +19,19 @@
     return datetime.datetime.utcfromtimestamp(float(string))
 
 
-def _get_date(start_string):
-    dt = _parse_date(start_string)
-    input = ''
-    while input not in ['y', 'n']:
-        input = raw_input("Did you mean '%s UTC'? [Y/n]: " % (dt,)).lower()
-    if input == 'n':
-        sys.exit()
+def _get_date(start_string=None, tracks=None):
+    if start_string is not None:
+        dt = _parse_date(start_string)
+        input = ''
+        while input not in ['y', 'n']:
+            input = raw_input("Did you mean '%s UTC'? [Y/n]: " % (dt,)).lower()
+        if input == 'n':
+            sys.exit()
+    else:
+        offset = datetime.timedelta()
+        for track in tracks:
+            offset += datetime.timedelta(seconds=_get_track(track).info.length)
+        dt = datetime.datetime.now() - offset
     return dt
 
 
@@ -56,6 +62,7 @@
         parser.error("All arguments are required.")
 
     username = args.pop(0)
+    start_string = None
     if not opts.just_finished:
         start_string = args.pop(0)
     server = opts.server
@@ -63,7 +70,10 @@
     tracks = args
     server = GobbleServer(server, username, password)
 
-    dt = _get_date(start_string)
+    if opts.just_finished:
+        dt = _get_date(tracks=tracks)
+    else:
+        dt = _get_date(start_string)
 
     for track in tracks:
         f = _get_track(track)





reply via email to

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