Sfoglia il codice sorgente

fix open command bugs

oz123 10 anni fa
parent
commit
4913fa1ece
3 ha cambiato i file con 10 aggiunte e 5 eliminazioni
  1. 5 0
      pwman/ui/baseui.py
  2. 1 1
      pwman/ui/cli.py
  3. 4 4
      pwman/ui/tools.py

+ 5 - 0
pwman/ui/baseui.py

@@ -248,8 +248,13 @@ class BaseCommands(HelpUIMixin, AliasesMixin):
             url = ce.decrypt(node[3])
             if not url.startswith(("http://", "https://")):
                 url = "https://" + url
+            os.umask(22)
             tools.open_url(url)
 
+            umask = self.config.get_value("Global", "umask")
+            if re.search(r'^\d{4}$', umask):
+                os.umask(int(umask))
+
     def do_exit(self, args):  # pragma: no cover
         """close the text console"""
         self._db.close()

+ 1 - 1
pwman/ui/cli.py

@@ -114,4 +114,4 @@ def main():
     except KeyboardInterrupt as e:
         print(e)
     finally:
-        config.save()
+        config.save()

+ 4 - 4
pwman/ui/tools.py

@@ -116,15 +116,15 @@ def text_to_mcclipboard(text):  # pragma: no cover
         print (e, "\nExecuting pbcoy failed...")
 
 
-def open_url(link, macosx=False):  # pragma: no cover
+def open_url(link, macosx=False, ):  # pragma: no cover
     """
     launch xdg-open or open in MacOSX with url
     """
-    uopen = "xdg-open"
+    uopen = "xdg-open "
     if macosx:
-        uopen = "open"
+        uopen = "open "
     try:
-        sp.Popen([uopen, link], stdin=sp.PIPE)
+        sp.call(uopen+link, shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
     except OSError as e:
         print("Executing open_url failed with:\n", e)