code: def _request_token(self, method, client):
          '''
          generates a request token
          '''
          if time.time() - self.session.time > grooveshark.const.TOKEN_TIMEOUT:
              self._get_token()
          random_value = self._random_hex()
          return random_value + hashlib.sha1((method + ':' + self.session.token + ':' + grooveshark.const.CLIENTS[client]['token'] + ':' + random_value).encode('utf-8')).hexdigest(f _request_token(self, method, client):
          '''
          generates a request token
          '''
          if time.time() - self.session.time > grooveshark.const.TOKEN_TIMEOUT:
              self._get_token()
          random_value = self._random_hex()
          return random_value + hashlib.sha1((method + ':' + self.session.token + ':' + grooveshark.const.CLIENTS[client]['token'] + ':' + random_value).encode('utf-8')).hexdigest()
docs: generates a request token