diff --git a/scopes/storage/tracking.py b/scopes/storage/tracking.py index 9939dda..74e771e 100644 --- a/scopes/storage/tracking.py +++ b/scopes/storage/tracking.py @@ -81,9 +81,15 @@ class Container(object): self.table = self.getTable() def get(self, trackId): - stmt = self.table.select().where(self.table.c.trackid == trackId) + stmt = self.table.select().where(self.table.c.trackid == int(trackId)) return self.makeTrack(self.session.execute(stmt).first()) + def __getitem__(self, trackId): + tr = self.get(trackId) + if tr is None: + raise KeyError(trackId) + return tr + def query(self, **crit): stmt = self.table.select().where( and_(*self.setupWhere(crit))).order_by(self.table.c.trackid) diff --git a/scopes/tests.py b/scopes/tests.py index 66ebab8..a5d225f 100644 --- a/scopes/tests.py +++ b/scopes/tests.py @@ -34,7 +34,8 @@ class Test(unittest.TestCase): trid01 = tracks.save(tr01) self.assertTrue(trid01 > 0) - tr01a = tracks.get(trid01) + #tr01a = tracks.get(trid01) + tr01a = tracks['%07i' % trid01] self.assertEqual(tr01a.head, tr01.head) self.assertEqual(tr01a.trackId, trid01) self.assertEqual(tr01a.data.get('activity'), 'testing')