Some refactors I noticed when reading through the code

Pretty nicely written, I didnt actually test these. But I think they are sane. Nice project, im going to use it later.
This commit is contained in:
George "elb0w" Tsafas 2013-11-13 09:57:25 -05:00
parent 4856c16b1f
commit 7675198640

View File

@ -15,7 +15,7 @@ log = logging.getLogger(__name__)
class Table(object): class Table(object):
def __init__(self, database, table): def __init__(self, database, table):
self.indexes = dict([(i.name, i) for i in table.indexes]) self.indexes = dict((i.name, i) for i in table.indexes)
self.database = database self.database = database
self.table = table self.table = table
self._is_dropped = False self._is_dropped = False
@ -89,17 +89,17 @@ class Table(object):
self._ensure_columns(row, types=types) self._ensure_columns(row, types=types)
self.table.insert().execute(chunk) self.table.insert().execute(chunk)
self._check_dropped() self._check_dropped()
chunk = [] chunk = []
i = 0 for i, row in enumerate(rows, start=1):
for row in rows:
chunk.append(row) chunk.append(row)
i += 1 if i % chunk_size == 0:
if i == chunk_size:
_process_chunk(chunk) _process_chunk(chunk)
chunk = [] chunk = []
i = 0
if i > 0: if chunk:
_process_chunk(chunk) _process_chunk(chunk)
def update(self, row, keys, ensure=True, types={}): def update(self, row, keys, ensure=True, types={}):
""" """
@ -122,7 +122,7 @@ class Table(object):
keys = [keys] keys = [keys]
self._check_dropped() self._check_dropped()
if not len(keys) or len(keys)==len(row): if not keys or len(keys)==len(row):
return False return False
clause = [(u, row.get(u)) for u in keys] clause = [(u, row.get(u)) for u in keys]
""" """
@ -180,7 +180,7 @@ class Table(object):
If no arguments are given, all records are deleted. If no arguments are given, all records are deleted.
""" """
self._check_dropped() self._check_dropped()
if len(_filter) > 0: if _filter:
q = self._args_to_clause(_filter) q = self._args_to_clause(_filter)
stmt = self.table.delete(q) stmt = self.table.delete(q)
else: else:
@ -201,7 +201,7 @@ class Table(object):
self._ensure_columns(args) self._ensure_columns(args)
clauses = [] clauses = []
for k, v in args.items(): for k, v in args.items():
if isinstance(v, list) or isinstance(v, tuple): if isinstance(v, (list, tuple)):
clauses.append(self.table.c[k].in_(v)) clauses.append(self.table.c[k].in_(v))
else: else:
clauses.append(self.table.c[k] == v) clauses.append(self.table.c[k] == v)
@ -315,7 +315,7 @@ class Table(object):
if _step is None or _step is False or _step == 0: if _step is None or _step is False or _step == 0:
_step = total_row_count _step = total_row_count
if total_row_count > _step and len(order_by) == 0: if total_row_count > _step and not order_by:
_step = total_row_count _step = total_row_count
log.warn("query cannot be broken into smaller sections because it is unordered") log.warn("query cannot be broken into smaller sections because it is unordered")