]> kaliko git repositories - mpd-goodies.git/commitdiff
* fixes some bugs on mtopls
authorkaliko <kaliko@azylum.org>
Sun, 7 Feb 2010 22:45:39 +0000 (22:45 +0000)
committerkaliko <kaliko@azylum.org>
Sun, 7 Feb 2010 22:45:39 +0000 (22:45 +0000)
config.py
lib/mpdutils.py
mtopls

index 2bc85792085b09c43610a7ba01390591ebb37f88..16f7bf7dee42b0c45bcc097aff9af6915b800c88 100644 (file)
--- a/config.py
+++ b/config.py
@@ -14,7 +14,8 @@
 # You can launch the script with leading environment variables:
 #           $> MPD_HOST=pass@my_mpd_host script.py
 #
-# More details in mpc manual (cf. man 1 mpc), section ENVIRONMENT
+# More details about MPD's environment variables in mpc manual (cf. man 1 mpc),
+# options --host/--port. 
 
 ## Set JINGLE_TAG here.
 #
index a64d23908d0e5be0776200ee7a766597b7641c37..ea58b89c6b8f66a687f0d6f56b27e70ccbeb9a37 100644 (file)
@@ -73,7 +73,7 @@ def mpdAuth(client, secret):#{{{
     return True#}}}
 
 
-def mconnect():
+def mconnect():#{{{
     """"""
     ## get connection id
     con_id, passwd = get_mpd_environ()
@@ -95,7 +95,14 @@ def mconnect():
             print 'ERROR: fail trying to pass auth. Check password?'
             client.disconnect()
             sys.exit(1)
-    return client
+    return client#}}}
+
+def collapse_tags(value):
+    if isinstance(value, list):
+        #self.__dict__[tag] = ", ".join(set(value))
+        self.collapse_tags_bool = True
+        return ', '.join(set(value))
+    return value#}}}
 
 # Script starts here
 if __name__ == '__main__':
diff --git a/mtopls b/mtopls
index 62ba2866a714ad488ab93bbd5f28f1e66388448f..78476c60b72b0bc18da9a44d63612b3f97eb143a 100755 (executable)
--- a/mtopls
+++ b/mtopls
@@ -27,7 +27,7 @@ import sys
 from os import (access, F_OK, W_OK)
 from os.path import (dirname, isfile, join, abspath)
 
-from lib.mpdutils import mconnect
+from lib.mpdutils import (mconnect, collapse_tags)
 
 USAGE = """Usage:
 
@@ -56,8 +56,8 @@ class MtoPls(object):
         self.current = self.cli.currentsong()
         self.cli.disconnect()
         self._consume_sopt()
-        self._create_playlist()
         self._controls_perm()
+        self._create_playlist()
         self._run()
 
     def _consume_sopt(self):
@@ -85,7 +85,7 @@ class MtoPls(object):
         if not access(mpd_playlists, F_OK):
             sys.stderr.write('Error: No access to "%s"' % self.pls_path)
             sys.exit(1)
-        genre = self.current.get('genre', None)
+        genre = collapse_tags(self.current.get('genre', None))
         if not genre:
             sys.stderr.write('Error: No genre set in %s\n' %
                     self.current.get('file'))
@@ -117,7 +117,7 @@ class MtoPls(object):
         # TODO: controls either file is already in playlist or not
         print >> sys.stdout, ('Writing to %s' % self.pls_path)
         fd = open(self.pls_path, 'a')
-        fd.write(self.current.get('file'))
+        fd.write(self.current.get('file') + '\n')
         fd.close()
         pass