MCPcopy Index your code
hub / github.com/pyload/pyload / DB

Class DB

module/plugins/internal/misc.py:86–123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84
85
86class DB(object):
87
88 def __init__(self, plugin):
89 self.plugin = plugin
90
91 def store(self, key, value):
92 """
93 Saves a value persistently to the database
94 """
95 entry = json.dumps(value, ensure_ascii=False).encode('base64')
96 self.plugin.pyload.db.setStorage(self.plugin.classname, key, entry)
97
98 def retrieve(self, key=None, default=None):
99 """
100 Retrieves saved value or dict of all saved entries if key is None
101 """
102 entry = self.plugin.pyload.db.getStorage(self.plugin.classname, key)
103
104 if key:
105 if entry is None:
106 value = default
107 else:
108 value = json.loads(entry.decode('base64'))
109 else:
110 if not entry:
111 value = default
112 else:
113 value = dict((k, json.loads(v.decode('base64')))
114 for k, v in value.items())
115
116 return value
117
118 def delete(self, key):
119 """
120 Delete entry in db
121 """
122 self.plugin.pyload.db.delStorage(self.plugin.classname, key)
123 self.plugin.pyload.db.commit()
124
125
126class Expose(object):

Callers 1

_initMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected