Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/local/bin/python
2# encoding: utf-8
3"""
4*Count the transients with a given flagset*
6:Author:
7 David Young
8"""
9from builtins import zip
10from builtins import object
11import sys
12import os
15class models_transients_count(object):
16 """
17 The worker class for the `models_transients_count` module
19 **Key Arguments**
21 - ``log`` -- logger
22 - ``request`` -- the pyramid request
23 - ``mwfFlag`` -- marshall workflow location
24 - ``awfFlag`` -- alert workflow location
25 - ``cFlag`` -- classification flag
26 - ``snoozes`` -- snoozed flag
28 """
30 def __init__(
31 self,
32 log,
33 request,
34 mwfFlag=None,
35 awfFlag=None,
36 cFlag=None,
37 snoozed=None
38 ):
39 self.log = log
40 log.debug("instansiating a new 'models_transients_count' object")
41 self.request = request
42 self.mwfFlag = mwfFlag
43 self.awfFlag = awfFlag
44 self.cFlag = cFlag
45 self.snoozed = snoozed
46 # xt-self-arg-tmpx
48 return None
50 def close(self):
51 del self
52 return None
54 def get(self):
55 """get the models_transients_count object
57 **Return**
59 - ``models_transients_count``
60 """
61 self.log.debug('starting the ``get`` method')
63 mwfFlag = self.mwfFlag
64 awfFlag = self.awfFlag
65 cFlag = self.cFlag
66 snoozed = self.snoozed
68 # BUILD THE QUERY TO COUNT THE TRANSIENTS WITHIN A GIVEN MARSHALL
69 # SIDEBAR LIST
70 sqlQuery = """select count from meta_workflow_lists_counts where 1=1 """
72 # AMEND WHERE CLAUSE TO INCLUDE WORKFLOW LOCATION FLAGS #
73 extraWhere = ""
74 if(mwfFlag != None):
75 extraWhere = """%(extraWhere)s AND listName= %(mwfFlag)s """ % locals(
76 )
78 if(awfFlag != None):
79 extraWhere = """%(extraWhere)s AND listName= %(awfFlag)s """ % locals(
80 )
82 if(cFlag != None):
83 extraWhere = """%(extraWhere)s AND listName = "classified" """ % locals(
84 )
86 if(snoozed != None):
87 extraWhere = """%(extraWhere)s AND listName = "snoozed" """ % locals(
88 )
90 sqlQuery = """%(sqlQuery)s %(extraWhere)s;""" % locals()
92 rowsTmp = self.request.db.execute(sqlQuery).fetchall()
93 rows = []
94 rows[:] = [dict(list(zip(list(row.keys()), row))) for row in rowsTmp]
96 count = 0
97 for row in rows:
98 count += row["count"]
100 self.log.debug('completed the ``get`` method')
101 return count
102 # xt-class-method