Пример #1
0
 def __init__(self, redis  , access_codes ):
     self.cloud_queue = Cloud_Event_Queue(redis) 
     self.redis = redis
     self.alt = 2400
     self.eto = ETO(2400,access_codes)
     self.access_codes = access_codes
Пример #2
0
class Eto_Management():
   def __init__(self, redis  , access_codes ):
       self.cloud_queue = Cloud_Event_Queue(redis) 
       self.redis = redis
       self.alt = 2400
       self.eto = ETO(2400,access_codes)
       self.access_codes = access_codes
       
   def verify_eto_resource_updated( self, *args ):
       if self.redis.hget("CONTROL_VARIABLES","ETO_RESOURCE_UPDATED") == "TRUE" :
          returnValue = "RESET"  
       else:
          returnValue = "DISABLE"
       
       return returnValue

   def verify_empty_queue( self, *args ):
       if self.redis.llen( "QUEUES:SPRINKLER:IRRIGATION_CELL_QUEUE" ) != 0 :
          returnValue = "RESET"  
       elif self.redis.llen("QUEUES:SPRINKLER:IRRIGATION_QUEUE") != 0 :
          returnValue = "RESET"
       else:
          returnValue = "DISABLE"
      
       return returnValue



   def calculate_daily_eto( self, *args ):
        results = self.eto.integrate_eto_data( )
        print "results",results
        self.redis.hset("CONTROL_VARIABLES","ETO",results[0]["eto"] )
        self.redis.hset("CONTROL_VARIABLES","RAIN",results[0]["rain"])
        self.redis.hset("CONTROL_VARIABLES","ETO_DATA",results[1])
        self.redis.hset("CONTROL_VARIABLES","RAIN_DATA",results[2])        
         
       
        self.update_sprinklers_time_bins_new( results[0]["eto"] )
        self.redis.hset("CONTROL_VARIABLES","ETO_RESOURCE_UPDATED","TRUE") 
  
   def clear_flag( self,chainFlowHandle, chainObj, parameters, event ):
        self.redis.hset("CONTROL_VARIABLES","ETO_RESOURCE_UPDATED","FALSE")



  
   def update_sprinklers_time_bins_new( self, eto_data ): 
        value = self.redis.hget("CONTROL_VARIABLES","ETO_RESOURCE_UPDATED")
        if value == "TRUE":
           return
        print "made it here"
        self.cloud_queue.store_event_queue( "store_eto", eto_data,status = "GREEN") 
        keys = self.redis.hkeys( "ETO_RESOURCE" )
        for j in keys:
	     try:
               temp = self.redis.hget( "ETO_RESOURCE", j )
               temp = float(temp)             
             except: 
	       temp = 0
             temp = temp + eto_data
             if temp > .3 :
               temp = .3
             self.redis.hset( "ETO_RESOURCE",j, temp )
 
        #self.redis.hset("CONTROL_VARIABLES","ETO_RESOURCE_UPDATED","TRUE") 
 

          
   def delete_email_files( self,chainFlowHandle, chainOjb, parameters, event ):  
       print( str(datetime.datetime.now())+"\n")
       print("deleteing emails \n")
       imap_username = '******'
       imap_password = '******'
       delete_cimis_email( imap_username, imap_password )