Browse Source

fix group

boyska 6 years ago
parent
commit
a0096cd335
1 changed files with 20 additions and 10 deletions
  1. 20 10
      feed

+ 20 - 10
feed

@@ -26,6 +26,10 @@ class Audio(object):
     def __repr__(self):
         return '<Audio {} ({})>'.format(self.url, self.durata)
 
+    @property
+    def urls(self):
+        return [self.url]
+
 
 class AudioGroup(list):
     def __init__(self, description=None):
@@ -50,6 +54,10 @@ class AudioGroup(list):
     def durata(self):
         return sum(a.durata for a in self.audios if a.durata is not None)
 
+    @property
+    def urls(self):
+        return [a.url for a in self.audios]
+
 
 def get_tree(feed_url):
     if feed_url.startswith('http:') or feed_url.startswith('https:'):
@@ -122,17 +130,19 @@ def get_parser():
 
 def put(audio, copy=False):
     if not copy:
-        print(audio.url)
+        for url in audio.urls:
+            print(url)
     else:
-        destdir = (os.environ.get('TMPDIR', '.'))
-        fname = posixpath.basename(urlparse(audio.url).path)
-        # sanitize
-        fname = "".join(c for c in fname
-                        if c.isalnum() or c in list('._-')).rstrip()
-        dest = os.path.join(destdir, fname)
-        os.makedirs(destdir, exist_ok=True)
-        fname, headers = urllib.request.urlretrieve(audio.url, dest)
-        print('file://%s' % os.path.realpath(fname))
+        for url in audio.urls:
+            destdir = (os.environ.get('TMPDIR', '.'))
+            fname = posixpath.basename(urlparse(url).path)
+            # sanitize
+            fname = "".join(c for c in fname
+                            if c.isalnum() or c in list('._-')).rstrip()
+            dest = os.path.join(destdir, fname)
+            os.makedirs(destdir, exist_ok=True)
+            fname, headers = urllib.request.urlretrieve(url, dest)
+            print('file://%s' % os.path.realpath(fname))
 
 
 def main():