added serverSideCursors and blockIterators options
[pygr.git] / pygr / Data.py
blobeebc8a192231c503c89f17369277544e15867ce0
2 import warnings
3 warnings.warn('pygr.Data is deprecated. Use "from pygr import worldbase" instead!',
4 DeprecationWarning, stacklevel=2)
6 from pygr import worldbase
7 from metabase import ResourceServer, dumps, OneToManyRelation, OneToOneRelation,\
8 ManyToManyRelation, WorldbaseNotPortableError, WorldbaseNotFoundError, \
9 WorldbaseMismatchError, WorldbaseEmptyError, WorldbaseReadOnlyError, \
10 WorldbaseSchemaError, WorldbaseNoModuleError, ResourceZone
12 schema = worldbase.schema # ROOT OF OUR SCHEMA NAMESPACE
14 # PROVIDE TOP-LEVEL NAMES IN OUR RESOURCE HIERARCHY
15 Bio = worldbase.Bio
17 getResource = worldbase._mdb # our metabase interface
18 addResource = worldbase._mdb.add_resource
19 def addResourceDict(d, layer=None):
20 'queue a dict of name:object pairs for saving to specified db layer'
21 if layer is not None: # use the named metabase specified by layer
22 mdb = worldbase._mdb.zoneDict[layer] # KeyError if layer not found!
23 else: # use default MetabaseList
24 mdb = worldbase._mdb
25 for k,v in d.items(): # queue each resource in the dictionary
26 mdb.add_resource(k, v)
28 addSchema = worldbase._mdb.add_schema
29 deleteResource = worldbase._mdb.delete_resource
30 dir = worldbase._mdb.dir
31 def newServer(*args, **kwargs):
32 return ResourceServer(worldbase._mdb, *args, **kwargs)
33 save = worldbase._mdb.commit
34 rollback = worldbase._mdb.rollback
35 list_pending = worldbase._mdb.list_pending
36 loads = worldbase._mdb.loads
37 update = worldbase._mdb.update
38 clear_cache = worldbase._mdb.clear_cache
40 # TOP-LEVEL NAMES FOR STANDARDIZED LAYERS
41 here = ResourceZone(getResource, 'here')
42 my = ResourceZone(getResource, 'my')
43 system = ResourceZone(getResource, 'system')
44 subdir = ResourceZone(getResource, 'subdir')
45 remote = ResourceZone(getResource, 'remote')
46 MySQL = ResourceZone(getResource, 'MySQL')
48 __all__ = ('Bio', 'schema', 'getResource', 'addResource', 'addSchema',
49 'deleteResource', 'dir', 'newServer', 'save', 'rollback',
50 'list_pending', 'loads', 'dumps', 'update', 'clear_cache',
51 'OneToManyRelation', 'ManyToManyRelation',
52 'OneToOneRelation', 'WorldbaseNotPortableError',
53 'WorldbaseNotFoundError', 'WorldbaseMismatchError',
54 'WorldbaseEmptyError', 'WorldbaseReadOnlyError',
55 'WorldbaseSchemaError', 'WorldbaseNoModuleError',
56 'here', 'my', 'system', 'subdir', 'remote', 'MySQL')