resultbrowser: remove circular detaildealer import
This commit is contained in:
@ -1,9 +1,12 @@
|
||||
from pprint import pprint
|
||||
from . import details
|
||||
from . import model
|
||||
# from pprint import pprint
|
||||
|
||||
# from . import details
|
||||
from app.detaildealer import detaildealer
|
||||
|
||||
|
||||
def scrub(table_name):
|
||||
return ''.join( chr for chr in table_name if chr.isalnum() or chr == '_' )
|
||||
return "".join(chr for chr in table_name if chr.isalnum() or chr == "_")
|
||||
|
||||
|
||||
class Resulttype:
|
||||
def __init__(self, name, count):
|
||||
@ -16,28 +19,27 @@ class Resulttype:
|
||||
def getCount(self):
|
||||
return self.count
|
||||
|
||||
|
||||
class Variant:
|
||||
def __init__(self, id, name, table, benchmark, detail):
|
||||
self.id = id
|
||||
self.dbname = name
|
||||
self.parenttable = table # TableDetails
|
||||
self.details = detail # VariantDetails
|
||||
self.benchmark = benchmark # BenchmarkDetails
|
||||
self.parenttable = table # TableDetails
|
||||
self.details = detail # VariantDetails
|
||||
self.benchmark = benchmark # BenchmarkDetails
|
||||
self.results = {}
|
||||
self.totalresults = 0
|
||||
|
||||
|
||||
def getMapper(self):
|
||||
mapper = self.benchmark.getMapper()
|
||||
if not mapper: #try benchmark mapper
|
||||
if not mapper: # try benchmark mapper
|
||||
mapper = self.details.getMapper()
|
||||
if not mapper: # of not there, try parent tables mapper
|
||||
if not mapper: # of not there, try parent tables mapper
|
||||
mapper = self.parenttable.getMapper()
|
||||
if not mapper: # no mapper found at all, try default mapper
|
||||
mapper = model.detaildealer.getDefaultMapper()
|
||||
if not mapper: # no mapper found at all, try default mapper
|
||||
mapper = detaildealer.getDefaultMapper()
|
||||
return mapper
|
||||
|
||||
|
||||
def addResulttype(self, name, count):
|
||||
mapper = self.getMapper()
|
||||
label = mapper.getLabel(name)
|
||||
@ -70,17 +72,28 @@ class Variant:
|
||||
return self.totalresults
|
||||
|
||||
def __str__(self):
|
||||
ret = "Variant: " + self.getDetails().getTitle() + " - " + self.getBenchmarkDetails().getTitle() +" (id: " + str( self.id )+ ")" + " "
|
||||
ret += "Total Results: " + str( self.totalresults ) + "\n"
|
||||
ret = (
|
||||
"Variant: "
|
||||
+ self.getDetails().getTitle()
|
||||
+ " - "
|
||||
+ self.getBenchmarkDetails().getTitle()
|
||||
+ " (id: "
|
||||
+ str(self.id)
|
||||
+ ")"
|
||||
+ " "
|
||||
)
|
||||
ret += "Total Results: " + str(self.totalresults) + "\n"
|
||||
for v in self.results:
|
||||
ret += "\t" + v.name + ": " + str( v.count ) + "\n"
|
||||
ret += "\t" + v.name + ": " + str(v.count) + "\n"
|
||||
return ret
|
||||
|
||||
__repr__ = __str__
|
||||
|
||||
'''A ResultTable contains n Variants'''
|
||||
class ResultTable:
|
||||
|
||||
"""A ResultTable contains n Variants"""
|
||||
|
||||
|
||||
class ResultTable:
|
||||
def __init__(self, name, cfg):
|
||||
self.name = scrub(name)
|
||||
self.details = cfg.getTable(name)
|
||||
@ -89,7 +102,7 @@ class ResultTable:
|
||||
def addVariant(self, var):
|
||||
if var.getId() in self.variants:
|
||||
return
|
||||
self.variants[var.getId()] = var # Add if not existing yet
|
||||
self.variants[var.getId()] = var # Add if not existing yet
|
||||
|
||||
def getVariant(self, id):
|
||||
if id in self.variants:
|
||||
@ -97,7 +110,7 @@ class ResultTable:
|
||||
return None
|
||||
|
||||
def getVariantById(self, varid):
|
||||
for k,v in self.variants.items():
|
||||
for k, v in self.variants.items():
|
||||
if int(v.getId()) == int(varid):
|
||||
return v
|
||||
return None
|
||||
@ -110,12 +123,16 @@ class ResultTable:
|
||||
|
||||
def __str__(self):
|
||||
ret = "Result: " + self.getDetails().getTitle() + "\n"
|
||||
for k,v in self.variants.items():
|
||||
for k, v in self.variants.items():
|
||||
ret += "\t" + str(v) + "\n"
|
||||
return ret
|
||||
|
||||
__repr__ = __str__
|
||||
|
||||
'''Overview has n ResultTables'''
|
||||
|
||||
"""Overview has n ResultTables"""
|
||||
|
||||
|
||||
class Overview:
|
||||
def __init__(self):
|
||||
self.tables = {}
|
||||
@ -130,7 +147,7 @@ class Overview:
|
||||
return self.tables.get(dbname, None)
|
||||
|
||||
def getVariantById(self, variant_id):
|
||||
for key,table in self.tables.items():
|
||||
for key, table in self.tables.items():
|
||||
variant = table.getVariantById(variant_id)
|
||||
if variant:
|
||||
return variant
|
||||
@ -139,5 +156,3 @@ class Overview:
|
||||
|
||||
def length(self):
|
||||
return len(self.tables)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user