Hide keyboard shortcuts

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* 

5 

6:Author: 

7 David Young 

8""" 

9from builtins import zip 

10from builtins import object 

11import sys 

12import os 

13 

14 

15class models_transients_count(object): 

16 """ 

17 The worker class for the `models_transients_count` module 

18 

19 **Key Arguments** 

20 

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 

27 

28 """ 

29 

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 

47 

48 return None 

49 

50 def close(self): 

51 del self 

52 return None 

53 

54 def get(self): 

55 """get the models_transients_count object 

56 

57 **Return** 

58 

59 - ``models_transients_count`` 

60 """ 

61 self.log.debug('starting the ``get`` method') 

62 

63 mwfFlag = self.mwfFlag 

64 awfFlag = self.awfFlag 

65 cFlag = self.cFlag 

66 snoozed = self.snoozed 

67 

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 """ 

71 

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 ) 

77 

78 if(awfFlag != None): 

79 extraWhere = """%(extraWhere)s AND listName= %(awfFlag)s """ % locals( 

80 ) 

81 

82 if(cFlag != None): 

83 extraWhere = """%(extraWhere)s AND listName = "classified" """ % locals( 

84 ) 

85 

86 if(snoozed != None): 

87 extraWhere = """%(extraWhere)s AND listName = "snoozed" """ % locals( 

88 ) 

89 

90 sqlQuery = """%(sqlQuery)s %(extraWhere)s;""" % locals() 

91 

92 rowsTmp = self.request.db.execute(sqlQuery).fetchall() 

93 rows = [] 

94 rows[:] = [dict(list(zip(list(row.keys()), row))) for row in rowsTmp] 

95 

96 count = 0 

97 for row in rows: 

98 count += row["count"] 

99 

100 self.log.debug('completed the ``get`` method') 

101 return count 

102 # xt-class-method