 |
Note: For more comprehensive examples, download and extract one of the
AG packages (it can be opened with a zip program) and read through agSRB.py (or mirrored here).
- Start a Python interactive shell in the same directory as the
built library.
- Python 2.4.3 (#1, Jul 26
2006, 20:13:39)
[GCC 3.4.6] on linux2
Type "help", "copyright",
"credits" or "license" for more information.
- Then import the library with:
- To check if they have been properly imported:
- >>> dir(srb)
['__doc__', '__file__', '__name__', 'coll_rename', 'connect',
'disconnect', 'get_error', 'get_obj_metadata', 'get_objs_in_coll',
'get_subcoll_name', 'get_subcolls', 'get_user_metadata',
'issue_ticket', 'mk_collection', 'more_objs_in_coll', 'more_subcolls',
'obj_close', 'obj_create', 'obj_delete', 'obj_open', 'obj_read',
'obj_rename', 'obj_seek', 'obj_ti_open', 'obj_write', 'register_user',
'remove_ticket', 'remove_user', 'rm_collection', 'rm_user_metadata',
'set_user_metadata', 'ti_connect']
- Try connecting to a test account hosted at UQ Vislab (usually
accessible during GMT+10 working hours)
- >>> conn =
srb.connect('laing.vislab.uq.edu.au', '5544', 'demo', 'ENCRYPT1',
'test', 'test', '')
>>> conn
1
- To list the SRB data items in '/A/home/test.demo':
- >>> nums =
srb.get_objs_in_coll(conn, 0, 16, '/A/home/test.demo')
>>> for num in
range(nums):
...
srb.get_obj_metadata(conn, 0, num)
...
'GenericData.png'
'SRB3_4_2client.tar'
'app.log'
- To make a new SRB collection in '/A/home/test.demo':
- >>>
srb.mk_collection(conn, 0, '/A/home/test.demo', 'newdir')
0
- To list the SRB collections in '/A/home/test.demo':
- >>> nums =
srb.get_subcolls(conn, 0, '/A/home/test.demo')
>>> for num in range(nums):
... srb.get_subcoll_name(conn, num)
...
'/A/home/test.demo/newdir'
- To issue a ticket to a SRB data item:
- >>>
srb.issue_ticket(conn, 'GenericData.png', '/A/home/test.demo', '', '',
'', -1, "ticketuser@sdsc")
(0, 'DYwERng3Sb')
- To return verbose messages from SRB error codes:
- >>>
srb.get_error(-3201)
'DATA_NOT_IN_CAT:
DATA_NOT_IN_CAT'
>>>
srb.get_error(-3202)
'DATA_NOT_IN_DOMN:
DATA_NOT_IN_DOMN'
>>>
srb.get_error(-3203)
'USER_NOT_IN_DOMN:
USER_NOT_IN_DOMN'
- Don't forget to disconnect when you are done:
|