Selaa lähdekoodia

fix broken tag in old db format

oz123 11 vuotta sitten
vanhempi
commit
9cf909b406
3 muutettua tiedostoa jossa 29 lisäystä ja 4 poistoa
  1. 25 1
      pwman/data/tags.py
  2. 3 2
      pwman/ui/cli.py
  3. 1 1
      pwman/ui/tools.py

+ 25 - 1
pwman/data/tags.py

@@ -23,12 +23,36 @@
 from pwman.util.crypto import CryptoEngine
 
 
-class Tag(object):
+class Tag:
     """
     tags are specific strings used to classify nodes
     the methods in this class override some built-ins
     for strings.
     """
+    def __init__(self, name):
+        self.set_name(name)
+
+    def __eq__(self, other):
+        if other._name == self._name:
+            return True
+        else:
+            return False
+
+    def get_name(self):
+        enc = CryptoEngine.get()
+        return enc.decrypt(self._name)
+
+    def set_name(self, name):
+        enc = CryptoEngine.get()
+        self._name = enc.encrypt(name)
+
+    def __str__(self):
+        enc = CryptoEngine.get()
+        return enc.decrypt(self._name)
+
+
+class TagNew(object):
+
     def __init__(self, name):
         enc = CryptoEngine.get()
         self._name = enc.encrypt(name)

+ 3 - 2
pwman/ui/cli.py

@@ -29,6 +29,7 @@ import pwman.util.generator as generator
 from pwman.data.nodes import Node
 from pwman.data.nodes import NewNode
 from pwman.data.tags import Tag
+from pwman.data.tags import TagNew as TagN
 from pwman.util.crypto import CryptoEngine
 from pwman.util.crypto import zerome
 import pwman.util.config as config
@@ -919,7 +920,7 @@ class PwmanCliNew(PwmanCli):
 
         taglist = tools.getinput("Tags: ", defaultstr, complete)
         tagstrings = taglist.split()
-        tags = [Tag(tn) for tn in tagstrings]
+        tags = [TagN(tn) for tn in tagstrings]
 
         return tags
 
@@ -978,7 +979,7 @@ class PwmanCliNew(PwmanCli):
         try:
             tags = []
             for ts in tagstrings:
-                tags.append(Tag(ts))
+                tags.append(TagN(ts))
             self._db.filter(tags)
             tags = self._db.currenttags()
             print "Current tags: ",

+ 1 - 1
pwman/ui/tools.py

@@ -28,7 +28,7 @@ import sys
 import struct
 import os
 import colorama
-from pwman.data.tags import Tag
+from pwman.data.tags import TagNew as Tag
 
 if sys.platform != 'win32':
     import termios