blob: 5206f994f78c50d5f7ad7edbdb9e95f6ea0798ac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
"""describes the ImCmd class"""
import sys
from sqlalchemy import Column, Integer, LargeBinary, String
from simplejson import json
from sqlalchemy.orm import class_mapper
class ImCmd(Base):
"""defines the table class"""
__tablename__ = 'im_cmd'
id = Column(Integer, primary_key=True)
date = Column(Integer)
remote_addr = Column(String(16))
name = Column(String(16))
url = Column(String(256))
dir = Column(String(2))
oldfile = Column(String(256))
newfile = Column(String(256))
cmd = Column(LargeBinary)
dataobj = Column(LargeBinary)
tag = Column(String(50))
def serialize(self, columns=None):
"""returns the class as a dictionary"""
if not columns:
columns = [c.key for c in class_mapper(self.__class__).columns]
col_val = []
for c in columns:
if c == "dataobj":
val = getattr(self, c)
if val is not None:
try:
val = json.loads(val)
except json.JSONDecodeError:
sys.stderr.write("Could not decode json: %s\n" % val)
sys.stderr.write(
"bad value in db, id = %s\n" % getattr(self, "id")
)
pass
col_val.append((c, val))
else:
col_val.append((c, getattr(self, c)))
return dict(col_val)
|