class_docstr: GeoNames geocoder.
  
  Documentation at:
      http://www.geonames.org/export/geonames-search.html
  
  Reverse geocoding documentation at:
      http://www.geonames.org/export/web-services.html#findNearbyPlaceName
class_docstr_tok: ["GeoNames","geocoder",".","Documentation","at",":","http",":","\/\/www.geonames.org\/export\/geonames-search.html","Reverse","geocoding","documentation","at",":","http",":","\/\/www.geonames.org\/export\/web-services.html","#","findNearbyPlaceName"]
docstr: Find the timezone for a point in `query`.
  
  GeoNames always returns a timezone: if the point being queried
  doesn't have an assigned Olson timezone id, a ``pytz.FixedOffset``
  timezone is used to produce the :class:`geopy.timezone.Timezone`.
  
  :param query: The coordinates for which you want a timezone.
  :type query: :class:`geopy.point.Point`, list or tuple of (latitude,
      longitude), or string as "%(latitude)s, %(longitude)s"
  
  :param int timeout: Time, in seconds, to wait for the geocoding service
      to respond before raising a :class:`geopy.exc.GeocoderTimedOut`
      exception. Set this only if you wish to override, on this call
      only, the value set during the geocoder's initialization.
  
  :rtype: :class:`geopy.timezone.Timezone`.
docstr_tok: ["Find","the","timezone","for","a","point","in","`","query","`",".","GeoNames","always","returns","a","timezone",":","if","the","point","being","queried","does","n't","have","an","assigned","Olson","timezone","id",",","a","``","pytz.FixedOffset","``","timezone","is","used","to","produce","the",":","class",":","`","geopy.timezone.Timezone","`",".",":","param","query",":","The","coordinates","for","which","you","want","a","timezone",".",":","type","query",":",":","class",":","`","geopy.point.Point","`",",","list","or","tuple","of","(","latitude",",","longitude",")",",","or","string","as","``","%","(","latitude",")","s",",","%","(","longitude",")","s","''",":","param","int","timeout",":","Time",",","in","seconds",",","to","wait","for","the","geocoding","service","to","respond","before","raising","a",":","class",":","`","geopy.exc.GeocoderTimedOut","`","exception",".","Set","this","only","if","you","wish","to","override",",","on","this","call","only",",","the","value","set","during","the","geocoder","'s","initialization",".",":","rtype",":",":","class",":","`","geopy.timezone.Timezone","`","."]
code: def reverse_timezone(self, query, *, timeout=DEFAULT_SENTINEL):
      """
      Find the timezone for a point in `query`.
  
      GeoNames always returns a timezone: if the point being queried
      doesn't have an assigned Olson timezone id, a ``pytz.FixedOffset``
      timezone is used to produce the :class:`geopy.timezone.Timezone`.
  
      :param query: The coordinates for which you want a timezone.
      :type query: :class:`geopy.point.Point`, list or tuple of (latitude,
          longitude), or string as "%(latitude)s, %(longitude)s"
  
      :param int timeout: Time, in seconds, to wait for the geocoding service
          to respond before raising a :class:`geopy.exc.GeocoderTimedOut`
          exception. Set this only if you wish to override, on this call
          only, the value set during the geocoder's initialization.
  
      :rtype: :class:`geopy.timezone.Timezone`.
      """
      ensure_pytz_is_installed()
  
      try:
          lat, lng = self._coerce_point_to_string(query).split(",")
      except ValueError:
          raise ValueError("Must be a coordinate pair or Point")
  
      params = {
          "lat": lat,
          "lng": lng,
          "username": self.username,
      }
  
      url = "?".join((self.api_timezone, urlencode(params)))
  
      logger.debug(
          "%s.reverse_timezone: %s", self.__class__.__name__, url
      )
      return self._call_geocoder(
          url, self._parse_json_timezone, timeout=timeout
      )
  
file_path: geopy/geopy/geocoders/geonames.py
imports: from functools import partial
  from urllib.parse import urlencode
  from geopy.exc import GeocoderAuthenticationFailure, GeocoderInsufficientPrivileges, GeocoderQueryError, GeocoderQuotaExceeded, GeocoderServiceError
  from geopy.geocoders.base import DEFAULT_SENTINEL, Geocoder
  from geopy.location import Location
  from geopy.timezone import ensure_pytz_is_installed, from_fixed_gmt_offset, from_timezone_name
  from geopy.util import logger
label_desc: Use image node_id 6 for calling the GeoNames obj's underlying member method code with example usage: obj.reverse_timezone(query) and returns: self