summaryrefslogtreecommitdiff
path: root/Db/__init__.py
blob: f4ebc576874ff8a9d6a52a946e3105f24520bd0c (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# coding: utf-8
import time, sys
HOST = "lalalizard.com"
USER = "asdfus"
PASSWORD = "gTYgT&M6q"
DATABASE = "asdfus"

from sqlalchemy import Column, Integer, LargeBinary, String, create_engine, sql 
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
_NULL = sql.null()

Base = declarative_base()
metadata = Base.metadata

class ImCmd(Base):
    __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))

class Db(object):
  def __init__(self):
    engine = create_engine('mysql://{}:{}@{}/{}'.format(
      USER, 
      PASSWORD, 
      HOST,
      DATABASE
    ))
    self.Session = sessionmaker(bind=engine)

  def insert_cmd (
    self, 
    date=time.time(), 
    remote_addr=_NULL, 
    username=_NULL, 
    url=_NULL, 
    directory=_NULL, 
    oldfile=_NULL, 
    newfile=_NULL, 
    cmd=_NULL, 
    dataobj=_NULL, 
    tag=_NULL):

#    sys.stderr.write("date={}".format(str(date)) + "\n")
#    sys.stderr.write("remote_addr={}".format(str(remote_addr)) + "\n")
#    sys.stderr.write("name={}".format(str(username)) + "\n")
#    sys.stderr.write("url={}".format(str(url)) + "\n")
#    sys.stderr.write("dir={}".format(str(directory)) + "\n")
#    sys.stderr.write("oldfile={}".format(str(oldfile)) + "\n")
#    sys.stderr.write("newfile={}".format(str(newfile)) + "\n")
#    sys.stderr.write("cmd={}".format(str(cmd)) + "\n")
#    sys.stderr.write("dataobj={}".format(str(dataobj)) + "\n")
#    sys.stderr.write("tag={}".format(str(tag)) + "\n")
    try:
      session = self.Session()
      entry = ImCmd(
        date=date,
        remote_addr=remote_addr,
        name=username,
        url=url,
        dir=directory,
        oldfile=oldfile,
        newfile=newfile,
        cmd=cmd,
        dataobj=dataobj,
        tag=tag
      )
      session.add(entry)
      session.commit()
      #FIXME session.close()....
    except Exception as e:
      sys.stderr.write("Unable to commit database entry\n");
      sys.stderr.write(str(e))