oz123 пре 10 година
родитељ
комит
f2c073f518
3 измењених фајлова са 33 додато и 20 уклоњено
  1. 16 15
      pwman/ui/base.py
  2. 16 4
      pwman/ui/baseui.py
  3. 1 1
      pwman/ui/tools.py

+ 16 - 15
pwman/ui/base.py

@@ -67,7 +67,7 @@ class HelpUI(object):  # pragma: no cover
     def help_list(self):
         self.usage("list <tag> ...")
         print ("List nodes that match current or specified filter.",
-               " l is an alias.")
+               " ls is an alias.")
 
     def help_EOF(self):
         self.help_exit()
@@ -187,20 +187,20 @@ class BaseCommands(HelpUI):
         else:
             print ("Can't copy to clipboard, no xsel found in the system!")
 
-    def do_open(self, args):
-        ids = self.get_ids(args)
-        if not args:
-            self.help_open()
-            return
-        if len(ids) > 1:
-            print ("Can open only 1 link at a time ...")
-            return None
-        try:
-            node = self._db.getnodes(ids)
-            url = node[0].url
-            tools.open_url(url)
-        except Exception as e:
-            self.error(e)
+   # def do_open(self, args):
+   #     ids = self.get_ids(args)
+   #     if not args:
+   #         self.help_open()
+   #         return
+   #     if len(ids) > 1:
+   #         print ("Can open only 1 link at a time ...")
+   #         return None
+   #     try:
+   #         node = self._db.getnodes(ids)
+   #         url = node[0].url
+   #         tools.open_url(url)
+   #     except Exception as e:
+   #         self.error(e)
 
     def do_edit(self, arg, menu=None):
         ids = self.get_ids(arg)
@@ -321,6 +321,7 @@ class BaseCommands(HelpUI):
         a range of IDs, with begin-end.
         e.g. 1-3 , will get 1 to 3.
         """
+        # TODO: add documentation and testing
         ids = []
         rex = re.compile("^(?P<begin>\d+)(?:-(?P<end>\d+))?$")
         rex = rex.match(args)

+ 16 - 4
pwman/ui/baseui.py

@@ -35,11 +35,23 @@ from .base import HelpUI
 
 class BaseCommands(HelpUI):
 
-    def do_copy(self, args):
+    def do_copy(self, args):  # pargma: no cover
         """copy item to clipboard"""
         pass
 
-    def do_exit(self, args):
+    def do_open(self, args):  # pragma: no cover
+        ids = self.get_ids(args)
+        if not args:
+            self.help_open()
+            return
+
+        nodes = self._db.getnodes(ids)
+        for node in nodes:
+            ce = CryptoEngine.get()
+            url = ce.decrypt(node[3])
+            tools.open_url(url)
+
+    def do_exit(self, args):  # pragma: no cover
         """close the text console"""
         self._db.close()
         return True
@@ -161,11 +173,11 @@ class BaseCommands(HelpUI):
                 node[3],
                 node[4],
                 node[5:]))
+            _nodes_inst[-1]._id = node[0]
 
         head = self._format_line(cols-32)
         print(tools.typeset(head, Fore.YELLOW, False))
         for idx, node in enumerate(_nodes_inst):
-            node._id = idx + 1
             self._print_node_line(node, rows, cols)
 
     def _get_input(self, prompt):
@@ -175,7 +187,7 @@ class BaseCommands(HelpUI):
 
     def _get_secret(self):
         # TODO: enable old functionallity, with password generator.
-        if sys.stdin.isatty():
+        if sys.stdin.isatty():  # pragma: no cover
             p = getpass.getpass()
         else:
             p = sys.stdin.readline().rstrip()

+ 1 - 1
pwman/ui/tools.py

@@ -138,7 +138,7 @@ def open_url(link, macosx=False):  # pragma: no cover
     try:
         sp.Popen([uopen, link], stdin=sp.PIPE)
     except OSError as e:
-        print ("Executing open_url failed with:\n", e)
+        print("Executing open_url failed with:\n", e)
 
 
 def getpassword(question, argsgiven=None,