Changes between Version 4 and Version 5 of contributed/SpaceTokenInformationProvider


Ignore:
Timestamp:
09/25/07 15:05:07 (13 years ago)
Author:
patrick
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • contributed/SpaceTokenInformationProvider

    v4 v5  
    2727reservation when clocks are adjusted. 
    2828 
    29 {{{ 
    30 #!/usr/bin/env python 
    31 import time,re,sys 
    32 import psycopg2,psycopg2.extras 
    33  
    34 database='dcache' 
    35 dbuser='srmdcache' 
    36 dbpasswd='blablabla' 
    37 pghost='localhost' 
    38 pgport=str(5432) 
    39  
    40 host='somehost.somedomain' 
    41 path='/pnfs/somedomain/data' 
    42  
    43 ldif=''' 
    44 dn: GlueVOInfoLocalID=%s:%s,GlueSEUniqueID=%s,mds-vo-name=local,o=grid 
    45 objectClass: GlueSATop 
    46 objectClass: GlueVOInfo 
    47 objectClass: GlueKey 
    48 objectClass: GlueSchemaVersion 
    49 GlueVOInfoLocalID: %s:%s 
    50 GlueVOInfoName: %s:%s 
    51 GlueVOInfoPath: %s/%s 
    52 GlueVOInfoTag: %s 
    53 GlueVOInfoAccessControlBaseRule: %s 
    54 GlueChunkKey: GlueSALocalID=%s 
    55 GlueChunkKey: GlueSEUniqueID=%s 
    56 GlueSchemaVersionMajor: 1 
    57 GlueSchemaVersionMinor: 3 
    58 ''' 
    59  
    60 def get_milliseconds(): 
    61     milliseconds=long(1000*time.time()) 
    62     return milliseconds 
    63  
    64 def main(): 
    65     milliseconds=get_milliseconds() 
    66  
    67     command="SELECT vogroup,description FROM srmspace WHERE state=0 and ( (creationtime+lifetime)>"+str(milliseconds)+" or lifetime=-1 ) and vogroup<>'null' and description not like 'srm2%' and description<>'null';" 
    68     try: 
    69         connectstring="dbname="+database+" user="+dbuser+" password="+dbpasswd+" host="+pghost+" port="+pgport 
    70         p=psycopg2.connect(connectstring) 
    71         curs=p.cursor(cursor_factory=psycopg2.extras.DictCursor) 
    72         curs.execute(command) 
    73         rows=curs.fetchall() 
    74         p.close() 
    75  
    76     except StandardError, args: 
    77         err="%s: %s 
    78 " % (args.__class__.__name__, args) 
    79         sys.stderr.write(err) 
    80         sys.exit(1) 
    81     except: 
    82         err="Something went wrong in inserting the data into the database 
    83 " 
    84         sys.stderr.write(err) 
    85         sys.exit(1) 
    86  
    87     a=re.compile('/') 
    88     for row in rows: 
    89         vo=a.sub('',row[0],count=1) 
    90         descr=row[1] 
    91  
    92         print ldif%(vo,descr,host,vo,descr,vo,descr,path,vo,descr,vo,vo,host) 
    93  
    94          
    95  
    96 if __name__ =='__main__': 
    97      
    98     main() 
    99  
    100 }}} 
    101  
    10229 
    10330----