code: def brpop(self, keys, timeout=0):
          
          if timeout is None:
              timeout = 0
          keys = list_or_args(keys, None)
          keys.append(timeout)
          return self.execute_command('BRPOP', *keys)
docs: RPOP a value off of the first non-empty list
          named in the ``keys`` list.
  
          If none of the lists in ``keys`` has a value to RPOP, then block
          for ``timeout`` seconds, or until a value gets pushed on to one
          of the lists.
  
          If timeout is 0, then block indefinitely.