Merge branch 'master' into 2master
This commit is contained in:
		
						commit
						ec99c62348
					
				
					 3 changed files with 13 additions and 5 deletions
				
			
		|  | @ -2,6 +2,7 @@ | |||
| 
 | ||||
| """Common utility stuff for the scopes.storage package.""" | ||||
| 
 | ||||
| import base64 | ||||
| from sqlalchemy import create_engine, MetaData, text | ||||
| from sqlalchemy.orm import scoped_session, sessionmaker | ||||
| import threading | ||||
|  | @ -41,6 +42,7 @@ class Storage(object): | |||
|         self.containers[container.itemFactory.prefix] = container | ||||
| 
 | ||||
|     def getItem(self, uid): | ||||
|         uid = base64.urlsafe_b64decode(uid[1:]).decode() | ||||
|         prefix, id = uid.split('-') | ||||
|         id = int(id) | ||||
|         container = self.containers.get(prefix) | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ A track consists of a head (index data, metadata)  with a fixed set of fields an | |||
| data (payload) represented as a dict. | ||||
| """ | ||||
| 
 | ||||
| import base64 | ||||
| from datetime import datetime | ||||
| from sqlalchemy import Table, Column, Index | ||||
| from sqlalchemy import BigInteger, DateTime, Text, func | ||||
|  | @ -28,7 +29,7 @@ class Track(object): | |||
|             self.head[self.headFields[ix]] = k | ||||
|         for k in self.headFields: | ||||
|             if self.head.get(k) is None: | ||||
|                 self.heaad[k] = '' | ||||
|                 self.head[k] = '' | ||||
|             setattr(self, k, self.head[k]) | ||||
|         self.data = kw.get('data') or {} | ||||
|         self.timeStamp = kw.get('timeStamp') | ||||
|  | @ -47,7 +48,9 @@ class Track(object): | |||
|     def uid(self): | ||||
|         if self.trackId is None: | ||||
|             return None | ||||
|         return '%s-%d' % (self.prefix, self.trackId) | ||||
|         raw = ('%s-%d' % (self.prefix, self.trackId)).encode() | ||||
|         return 'b' + base64.urlsafe_b64encode(raw).decode() | ||||
|         #return '%s-%d' % (self.prefix, self.trackId) | ||||
| 
 | ||||
| 
 | ||||
| @registerContainerClass | ||||
|  |  | |||
|  | @ -54,13 +54,16 @@ class Test(unittest.TestCase): | |||
|                             data=dict(activity='concept')) | ||||
|         trid02 = tracks.upsert(tr02) | ||||
|         self.assertEqual(trid02, 31) | ||||
|         self.assertEqual(tr02.uid, 'rec-31') | ||||
|         self.assertEqual(tr02.uid, 'bcmVjLTMx') | ||||
|         #self.assertEqual(tr02.uid, 'rec-31') | ||||
|         tr02.trackId = trid01 | ||||
|         trid021 = tracks.upsert(tr02) | ||||
|         self.assertEqual(trid021, trid01) | ||||
|         self.assertEqual(tr02.uid, 'rec-' + str(trid01)) | ||||
|         self.assertEqual(tr02.uid, 'bcmVjLTE=') | ||||
|         #self.assertEqual(tr02.uid, 'rec-' + str(trid01)) | ||||
| 
 | ||||
|         tr03 = storage.getItem('rec-31') | ||||
|         #tr03 = storage.getItem(b'bcmVjLTE=') | ||||
|         tr03 = storage.getItem('bcmVjLTMx') | ||||
|         self.assertEqual(tr03.trackId, 31) | ||||
| 
 | ||||
|         n = tracks.remove(31) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue