app/soc/logic/helper/timeline.py
changeset 1220 1adb4d1cce64
parent 1208 10cef80ad917
child 1307 091a21cf3627
equal deleted inserted replaced
1219:aad447d05cfc 1220:1adb4d1cce64
    33     period: The name of a period (without start or end).
    33     period: The name of a period (without start or end).
    34   """
    34   """
    35 
    35 
    36   return isBeforeEvent(entity, '%s_start' % period)
    36   return isBeforeEvent(entity, '%s_start' % period)
    37 
    37 
       
    38 
    38 def isBeforeEvent(entity, event):
    39 def isBeforeEvent(entity, event):
    39   """Returns true iff the current DateTime is before the given event.
    40   """Returns true iff the current DateTime is before the given event.
    40 
    41 
    41   Args:
    42   Args:
    42     entity: Instance of a timeline model.
    43     entity: Instance of a timeline model.
    46 
    47 
    47   if event_time:
    48   if event_time:
    48     return datetime.datetime.utcnow() < event_time
    49     return datetime.datetime.utcnow() < event_time
    49   else:
    50   else:
    50     return False
    51     return False
       
    52 
    51 
    53 
    52 def isActivePeriod(entity, period):
    54 def isActivePeriod(entity, period):
    53   """Returns true iff the current DateTime is between period_start and period_end.
    55   """Returns true iff the current DateTime is between period_start and period_end.
    54 
    56 
    55   Args:
    57   Args:
    63   period_started = isAfterEvent(entity, period_start)
    65   period_started = isAfterEvent(entity, period_start)
    64   period_not_ended = isBeforeEvent(entity, period_end)
    66   period_not_ended = isBeforeEvent(entity, period_end)
    65 
    67 
    66   return period_started and period_not_ended
    68   return period_started and period_not_ended
    67 
    69 
       
    70 
    68 def isAfterPeriod(entity, period):
    71 def isAfterPeriod(entity, period):
    69   """Returns true iff the current DateTime is after the given period_end.
    72   """Returns true iff the current DateTime is after the given period_end.
    70 
    73 
    71   Args:
    74   Args:
    72     entity: Instance of a timeline model.
    75     entity: Instance of a timeline model.
    73     period: The name of a period (without start or end).
    76     period: The name of a period (without start or end).
    74   """
    77   """
    75 
    78 
    76   return isAfterEvent(entity, '%s_end' % period)
    79   return isAfterEvent(entity, '%s_end' % period)
       
    80 
    77 
    81 
    78 def isAfterEvent(entity, event):
    82 def isAfterEvent(entity, event):
    79   """Returns true iff the current DateTime is after the given event.
    83   """Returns true iff the current DateTime is after the given event.
    80 
    84 
    81   Args:
    85   Args:
    86 
    90 
    87   if event_time:
    91   if event_time:
    88     return event_time < datetime.datetime.utcnow()
    92     return event_time < datetime.datetime.utcnow()
    89   else:
    93   else:
    90     return False
    94     return False
       
    95 
    91 
    96 
    92 def getDateTimeByName(entity, name):
    97 def getDateTimeByName(entity, name):
    93   """Returns the DateTime property with the given name. 
    98   """Returns the DateTime property with the given name. 
    94 
    99 
    95   Args:
   100   Args: