Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.stsci.edu/spst/UnixTransition/doc/par_comp.py
Дата изменения: Fri Feb 28 14:46:10 2014
Дата индексирования: Sat Mar 1 14:17:51 2014
Кодировка:

Поисковые слова: orion
#!/usr/bin/env python
# Module par_comp.py
#
# Report on parallel statistics.
#
# Translated from Ron Downes' SQR by Don Chance
#
# Modification history:
# 08-26-2013 drc Initial translation.
#
import sys
import stpydb
import time_util
import spss_sys_util
import proposal_util
import string
from snap_comp import get_completed_visits, get_unique

ASSIST_DB = spss_sys_util.get_environ_variable("ASSIST_DB")[0]

def get_par_props(cycle):
"""Return all PAR proposals for the input cycle.
"""
db = stpydb.stpydb(dbmsName=ASSIST_DB)
db.query('select *')
db.query('from prop_trackv')
db.query('where cycle = %i' % cycle)
db.query('and status != "withdrawn"')
db.query('and type like "%PAR%"')
results = {}
props = []
while db.execute(results):
props.append(proposal_util.proposal(results.copy()))
return props


def run(*args):
"""Generate a report of parallel statistics.

A single argument is allowed, the cycle. It
defaults to the current cycle.
"""
if args:
cycle = int(args[0])
else:
cycle = spss_sys_util.get_current_cycle()

# Get all parallel proposals for the input cycle
props = get_par_props(cycle)

outfile = "par_comp.rpt"
outfileId = open(outfile, 'w')
now = time_util.spss_time()

outfileId.write('Prop ID Instrument GO/Def Executed Requested Comp_Level_(%) Datasets_retrieved Unique_users Date_report\n')

for prop in props:
prop_id = prop.get('prop_id')
sis = string.join(prop.get_sis(), '/')
#total_visits = get_total_visits(prop_id)
total_visits = prop['init_parallel_orbits']
completed_visits = get_completed_visits(prop_id)
unique_user_count = get_unique(prop_id)
unique_request_count = get_unique(prop_id, False)
outfileId.write(" %5i %-11s %-8s %3i %3i %5.1f %4i %4i %11s\n" % (prop_id,
sis,
prop['type'],
completed_visits,
total_visits,
100*float(completed_visits)/float(total_visits),
unique_request_count,
unique_user_count,
now.strftime('%d-%b-%Y')))

print "Output written to %s" % outfile
return spss_sys_util.SUCCESS


if __name__ == '__main__':
if len(sys.argv) > 1:
run(*tuple(sys.argv[1:]))
else:
run()