Hi Guys,
I have the following virtual fields and for some reason one of them gives
an error that I can't explain, I'm hoping one of you guys can shed some
light on it:
db.nessus_host_summary.total = Field.Virtual(
'total',
lambda row: int(row.nessus_host_summary.count_info) +
int(row.nessus_host_summary.count_low) +
int(row.nessus_host_summary.count_med) +
int(row.nessus_host_summary.count_high) +
int(row.nessus_host_summary.count_crit))
#Calculate Virtual fields for percentages
db.nessus_host_summary.critprct = Field.Virtual(
'critprct',
lambda row: int((float(row.nessus_host_summary.count_crit)/int(row.
nessus_host_summary.total))*100))
db.nessus_host_summary.highprct = Field.Virtual(
'highprct',
lambda row: int((float(row.nessus_host_summary.count_high)/int(row.
nessus_host_summary.total))*100))
db.nessus_host_summary.medprct = Field.Virtual(
'medprct',
lambda row: int((float(row.nessus_host_summary.count_med)/int(row.
nessus_host_summary.total))*100))
db.nessus_host_summary.lowprct = Field.Virtual(
'lowprct',
lambda row: int((float(row.nessus_host_summary.count_low)/int(row.
nessus_host_summary.total))*100))
#Get remainder to make 100%
db.nessus_host_summary.infoprct = Field.Virtual(
'infoprct',
lambda row: 100 - int(row.nessus_host_summary.critprct) -
int(row.nessus_host_summary.highprct) -
int(row.nessus_host_summary.medprct) -
int(row.nessus_host_summary.lowprct))
In [8]: for row in db(db.nessus_host_summary).select(): print row.total
44
51
51
50
46
In [9]: for row in db(db.nessus_host_summary).select(): print row.lowprct
4
3
3
4
4
In [10]: for row in db(db.nessus_host_summary).select(): print row.medprct
13
11
11
12
13
In [11]: for row in db(db.nessus_host_summary).select(): print row.highprct
0
0
0
0
0
In [12]: for row in db(db.nessus_host_summary).select(): print row.critprct
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
C:\Users\jensenn\web2py\applications\rsoapps\models\menu.py in <module>()
----> 1 for row in db(db.nessus_host_summary).select(): print row.critprct
C:\Users\jensenn\web2py\gluon\dal.pyc in __getitem__(self, k)
7527 return self[key]
7528 except:
-> 7529 raise ae
7530
7531 __setitem__ = lambda self, key, value: setattr(self, str(key),
value
)
AttributeError: 'Row' object has no attribute 'critprct'
I can't figure out why the critprct row gives this error, highprct has the
same values being calculated.
Any thoughts?
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.