42 |
42 |
metadata = MetaData()
|
43 |
43 |
columns = []
|
44 |
44 |
columns.append(Column('serial', BigInteger, primary_key=True))
|
45 |
|
config = Table('qh_serials', metadata, *columns, mysql_engine='InnoDB')
|
46 |
|
|
|
45 |
Table('qh_serials', metadata, *columns, mysql_engine='InnoDB')
|
|
46 |
|
47 |
47 |
metadata.create_all(engine)
|
48 |
48 |
return metadata.sorted_tables
|
49 |
49 |
|
... | ... | |
69 |
69 |
rows = r.fetchall()
|
70 |
70 |
r.close()
|
71 |
71 |
return rows
|
72 |
|
|
|
72 |
|
|
73 |
def lookup(self, serials):
|
|
74 |
"""Return the serials."""
|
|
75 |
|
|
76 |
if not serials:
|
|
77 |
return []
|
|
78 |
s = select([self.qh_serials.c.serial])
|
|
79 |
s = s.where(self.qh_serials.c.serial.in_(serials))
|
|
80 |
r = self.conn.execute(s)
|
|
81 |
rows = r.fetchall()
|
|
82 |
r.close()
|
|
83 |
return [row[0] for row in rows]
|
|
84 |
|
73 |
85 |
def insert_serial(self, serial):
|
74 |
86 |
"""Insert a serial.
|
75 |
87 |
"""
|
76 |
88 |
|
77 |
89 |
s = self.qh_serials.insert()
|
78 |
90 |
r = self.conn.execute(s, serial=serial)
|
79 |
|
inserted_primary_key = r.inserted_primary_key[0]
|
80 |
91 |
r.close()
|
81 |
|
return inserted_primary_key
|
|
92 |
|
|
93 |
def insert_many(self, serials):
|
|
94 |
"""Insert multiple serials.
|
|
95 |
"""
|
|
96 |
|
|
97 |
r = self.conn.execute(
|
|
98 |
self.qh_serials.insert(),
|
|
99 |
list({'serial':s} for s in serials)
|
|
100 |
)
|
|
101 |
r.close()
|
|
102 |
|
|
103 |
def delete_many(self, serials):
|
|
104 |
if not serials:
|
|
105 |
return
|
|
106 |
st = self.qh_serials.delete().where(
|
|
107 |
self.qh_serials.c.serial.in_(serials)
|
|
108 |
)
|
|
109 |
self.conn.execute(st).close()
|