parameters: (self, dt, inc=False)
return_statement: return last
docstring: Returns the last recurrence before the given datetime instance. The
              inc keyword defines what happens if dt is an occurrence. With
              inc=True, if dt itself is an occurrence, it will be returned.
docstring_summary: Returns the last recurrence before the given datetime instance. The
              inc keyword defines what happens if dt is an occurrence. With
              inc=True, if dt itself is an occurrence, it will be returned.
docstring_tokens: Returns the last recurrence before the given datetime instance . The inc keyword defines what happens if dt is an occurrence . With inc = True if dt itself is an occurrence it will be returned .
function: def before(self, dt, inc=False):
          """ Returns the last recurrence before the given datetime instance. The
              inc keyword defines what happens if dt is an occurrence. With
              inc=True, if dt itself is an occurrence, it will be returned. """
          if self._cache_complete:
              gen = self._cache
          else:
              gen = self
          last = None
          if inc:
              for i in gen:
                  if i > dt:
                      break
                  last = i
          else:
              for i in gen:
                  if i >= dt:
                      break
                  last = i
          return last
function_tokens: def before ( self , dt , inc = False ) : if self . _cache_complete : gen = self . _cache else : gen = self last = None if inc : for i in gen : if i > dt : break last = i else : for i in gen : if i >= dt : break last = i return last