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.

Reply via email to