
| Current Path : /home/ift/52_procpy/dataninja/95__misc/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //home/ift/52_procpy/dataninja/95__misc/autotest.py |
# -*- coding: utf-8 -*-
import os
import re
import sys
import time
import procpy
import logging
import pickle
import dill
import collections
import math
logger = logging.getLogger()
level = logging.DEBUG # alternatives: logging.DEBUG, logging.INFO, logging.WARNING
logger.setLevel(level)
def log(msg, debug=False, exception=False):
if debug:
logging.debug("%s: %s" % (multiprocessing.current_process().name, msg))
else:
logging.info("%s: %s" % (multiprocessing.current_process().name, msg))
#*************************************************************************
class Report (object):
def __init__(self, db):
self.db = db
#*************************************************************************
def extract (self,testitem="",param=[]):
"""
"""
cursor = self.db.query_data("OBJID like '" + testitem + "%'")
mode = 1
requs = {}
while (0 == 0):
entry = procpy.objpickle.from_mongo_dict( self.db.next_obj(cursor) )
if not entry:
break
if mode == 1:
try:
arch = entry.ARCH
except:
arch = "NOARCH"
for r in entry.REQU:
item = entry.OBJID
while (0 == 0):
e_key = r + "-" + arch + "-" + item
try:
requs[e_key]
except:
requs[e_key] = [r,arch,item,0,0,0,0,0.0,"","","",""]
val = float(entry.REQU[r])
if entry.REQU[r] < 0.0001:
print r
requs[e_key][3] += 1
elif entry.REQU[r] < 1:
requs[e_key][4] += 1
requs[e_key][7] += math.log(float(entry.REQU[r]))
elif entry.REQU[r] < 1000:
requs[e_key][5] += 1
else:
requs[e_key][6] += 1
m = re.search(r"^(.*)\.(.*)$",item)
if not m:
break
item = m.group(1)
print requs
#*************************************************************************