code: def __get_header_with_auth(self):
          
          auth_header = self.__get_header()
          auth_header['Authorization'] = 'Bearer %s' % self.__token
          token_renew_time = self.__auth_time + timedelta(seconds=self.TOKEN_DURATION_SECONDS)
  
          if datetime.now() > token_renew_time:
              token_max_time = self.__auth_time + timedelta(seconds=self.TOKEN_MAX_DURATION)
              if datetime.now() < token_max_time:
                  self.__refresh_token()
              else:
                  self.login()
  
              auth_header['Authorization'] = 'Bearer %s' % self.__token
  
          return auth_header
docs: This private method returns the HTTP heder filled with the Authorization information with the user token.
          The token validity is monitored whenever this function is called, so according to the swagger page of TheTVDB
          (https://api.thetvdb.com/swagger) the tokens are valid for 24 hours, therefore if a token is generated for over
          23 hours already, this function will also perform a token refresh using TheTVDB refresh_token API. If over 24
          hours have passed since the token generation, a login is performed to generate a new one, instead.
  
          :return: A python dictionary representing the HTTP header to be used in TheTVDB API calls.