| 56 | class Db(object): |
| 57 | |
| 58 | def __init__(self, schema, db_path, close_idle=False): |
| 59 | self.db_path = db_path |
| 60 | self.db_dir = os.path.dirname(db_path) + "/" |
| 61 | self.schema = schema |
| 62 | self.schema["version"] = self.schema.get("version", 1) |
| 63 | self.conn = None |
| 64 | self.cur = None |
| 65 | self.progress_sleeping = False |
| 66 | self.log = logging.getLogger("Db:%s" % schema["db_name"]) |
| 67 | self.table_names = None |
| 68 | self.collect_stats = False |
| 69 | self.foreign_keys = False |
| 70 | self.need_commit = False |
| 71 | self.query_stats = {} |
| 72 | self.db_keyvalues = {} |
| 73 | self.delayed_queue = [] |
| 74 | self.delayed_queue_thread = None |
| 75 | self.close_idle = close_idle |
| 76 | self.last_query_time = time.time() |
| 77 | self.last_sleep_time = time.time() |
| 78 | self.num_execute_since_sleep = 0 |
| 79 | |
| 80 | def __repr__(self): |
| 81 | return "<Db#%s:%s close_idle:%s>" % (id(self), self.db_path, self.close_idle) |