diff frontends/src/jp/cmd_blog.py @ 1839:cdecf553e051

frontends (jp/blog), plugin blog_import: fixes: - argparse argument with nargs > 1 and default == {} crashes when reading the user input - separate blog import options with a new line - convert DBus strings received by the backend to unicode
author souliane <souliane@mailoo.org>
date Thu, 04 Feb 2016 11:44:43 +0100
parents 6209de5e3e25
children 9eabf7fadfdd
line wrap: on
line diff
--- a/frontends/src/jp/cmd_blog.py	Thu Jan 28 16:44:47 2016 +0100
+++ b/frontends/src/jp/cmd_blog.py	Thu Feb 04 11:44:43 2016 +0100
@@ -37,7 +37,7 @@
         self.parser.add_argument('--no-images-upload', action='store_true', help=_(u"do *NOT* upload images (default: do upload images)"))
         self.parser.add_argument('--upload-ignore-host', help=_(u"do not upload images from this host (default: upload all images)"))
         self.parser.add_argument("--ignore-tls-errors", action="store_true", help=_("ignore invalide TLS certificate for uploads"))
-        self.parser.add_argument('-o', '--option', action='append', nargs=2, default={}, metavar=(u'NAME', u'VALUE'),
+        self.parser.add_argument('-o', '--option', action='append', nargs=2, default=[], metavar=(u'NAME', u'VALUE'),
             help=_(u"importer specific options (see importer description)"))
         self.parser.add_argument('--service', type=base.unicode_decoder, default=u'', metavar=u'PUBSUB_SERVICE',
             help=_(u"PubSub service where the items must be uploaded (default: server)"))
@@ -77,7 +77,7 @@
                 if getattr(self.args, name):
                     self.parser.error(_(u"{name} argument can't be used without location argument").format(name=name))
             if self.args.importer is None:
-                print u''.join([u'{}: {}'.format(name, desc) for name, desc in self.host.bridge.blogImportList()])
+                print u'\n'.join([u'{}: {}'.format(name, desc) for name, desc in self.host.bridge.blogImportList()])
             else:
                 try:
                     short_desc, long_desc = self.host.bridge.blogImportDesc(self.args.importer)
@@ -90,7 +90,7 @@
             self.host.quit()
         else:
             # we have a location, an import is requested
-            options = dict(self.args.option)
+            options = {key: value for key, value in self.args.option}
             if self.args.host:
                 options['host'] = self.args.host
             if self.args.ignore_tls_errors: