Skip to content

Commit 7d950ee

Browse files
cleanup
1 parent 94b5c4a commit 7d950ee

File tree

4 files changed

+23
-30
lines changed

4 files changed

+23
-30
lines changed

datajoint/table.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
logger = logging.getLogger(__name__)
2020

2121

22-
class _rename_map(tuple):
22+
class _RenameMap(tuple):
2323
""" for internal use """
2424
pass
2525

@@ -375,7 +375,7 @@ def delete(self, verbose=True):
375375
graph = conn.dependencies
376376
graph.load()
377377
delete_list = collections.OrderedDict(
378-
(name, _rename_map(next(iter(graph.parents(name).items()))) if name.isdigit() else FreeTable(conn, name))
378+
(name, _RenameMap(next(iter(graph.parents(name).items()))) if name.isdigit() else FreeTable(conn, name))
379379
for name in graph.descendants(self.full_table_name))
380380

381381
# construct restrictions for each relation
@@ -405,7 +405,7 @@ def delete(self, verbose=True):
405405
table.restrict([
406406
r.proj() if isinstance(r, FreeTable) else (
407407
delete_list[r[0]].proj(**{a: b for a, b in r[1]['attr_map'].items()})
408-
if isinstance(r, _rename_map) else r)
408+
if isinstance(r, _RenameMap) else r)
409409
for r in restrictions[name]])
410410
if safe:
411411
print('About to delete:')

tests/schema.py

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import random
66
import numpy as np
77
import datajoint as dj
8-
import os, signal
8+
import inspect
99
from . import PREFIX, CONN_INFO
1010

1111
schema = dj.schema(PREFIX + '_test1', connection=dj.conn(**CONN_INFO))
@@ -278,35 +278,26 @@ def make(self, key):
278278

279279

280280
@schema
281-
class DjExceptionNames(dj.Lookup):
281+
class DjExceptionName(dj.Lookup):
282282
definition = """
283283
dj_exception_name: char(64)
284284
"""
285+
285286
@property
286287
def contents(self):
287-
ret = []
288-
for e in dir(dj.errors):
289-
ea = getattr(dj.errors, e)
290-
if callable(ea):
291-
try:
292-
werks = (isinstance(ea, type(Exception))
293-
and isinstance(ea(), Exception))
294-
except TypeError as te:
295-
pass
296-
if werks:
297-
ret.append((e,))
298-
return ret
288+
return [[member_name] for member_name, member_type in inspect.getmembers(dj.errors)
289+
if inspect.isclass(member_type) and issubclass(member_type, Exception)]
299290

300291

301292
@schema
302-
class ErrorClassTable(dj.Computed):
293+
class ErrorClass(dj.Computed):
303294
definition = """
304-
-> DjExceptionNames
295+
-> DjExceptionName
305296
"""
306-
def make(self, key):
307-
ename = key['dj_exception_name']
308-
raise getattr(dj.errors, ename)(ename)
309297

298+
def make(self, key):
299+
exception_name = key['dj_exception_name']
300+
raise getattr(dj.errors, exception_name)
310301

311302

312303
@schema

tests/test_alter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,5 @@ def test_alter():
3939
Experiment().alter(prompt=False)
4040
restored = schema.connection.query("SHOW CREATE TABLE " + Experiment.full_table_name).fetchone()[1]
4141
assert_equal(original, restored)
42-
assert_not_equal(original, altered)
42+
assert_not_equal(original, altered)
43+

tests/test_jobs.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from decimal import Decimal
21
from nose.tools import assert_true, assert_false, assert_equals
32
from . import schema
43
from datajoint.jobs import ERROR_MESSAGE_LENGTH, TRUNCATION_APPENDIX
@@ -46,6 +45,7 @@ def test_reserve_job():
4645
assert_false(schema.schema.jobs,
4746
'failed to clear error jobs')
4847

48+
4949
def test_restrictions():
5050
# clear out jobs table
5151
jobs = schema.schema.jobs
@@ -62,6 +62,7 @@ def test_restrictions():
6262
'There should be only one entries with error status in table a')
6363
jobs.delete()
6464

65+
6566
def test_sigint():
6667
# clear out job table
6768
schema.schema.jobs.delete()
@@ -75,6 +76,7 @@ def test_sigint():
7576
assert_equals(error_message, 'KeyboardInterrupt')
7677
schema.schema.jobs.delete()
7778

79+
7880
def test_sigterm():
7981
# clear out job table
8082
schema.schema.jobs.delete()
@@ -90,14 +92,13 @@ def test_sigterm():
9092

9193

9294
def test_suppress_dj_errors():
93-
''' test_suppress_dj_errors: dj errors suppressable w/o native py blobs'''
95+
""" test_suppress_dj_errors: dj errors suppressable w/o native py blobs """
9496
schema.schema.jobs.delete()
9597
with dj.config(enable_python_native_blobs=False):
96-
schema.ErrorClassTable().populate(
97-
reserve_jobs=True, suppress_errors=True)
98-
99-
assert len(schema.DjExceptionNames()) == len(schema.DjExceptionNames
100-
& schema.schema.jobs)
98+
schema.ErrorClass.populate(reserve_jobs=True, suppress_errors=True)
99+
number_of_exceptions = len(schema.DjExceptionName())
100+
assert_true(number_of_exceptions > 0)
101+
assert_equals(number_of_exceptions, len(schema.schema.jobs))
101102

102103

103104
def test_long_error_message():

0 commit comments

Comments
 (0)