new_contents: # pylint: disable=C0111,R0903
  
  """Displays the temperature on the current location based on the ip
  
  Requires the following python packages:
      * urllib
  
  """
  
  import bumblebee.input
  import bumblebee.output
  import bumblebee.engine
  import json
  from urllib.request import urlopen
  
  class Module(bumblebee.engine.Module):
      def __init__(self, engine, config):
          super(Module, self).__init__(engine, config,
              bumblebee.output.Widget(full_text=self.temperature)
          )
          self._timer = 0
          self._temperature = 0
  
      def temperature(self, widget):
          return "{}°C".format(self._temperature)
  
      def update(self, widgets):
          if self._timer == 0:
              location_url = 'http://ipinfo.io/json'
              location = json.loads(urlopen(location_url).read())
              # city = location['city']
              # country = location['country']
              coord = location['loc'].split(',')
              # weather_url = 'http://api.openweathermap.org/data/2.5/weather?q={city},{country}'.format(city=city, country=country)
              weather_url = 'http://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid=9c672428ac92772c6437191a43a5b13f&units=metric'.format(lat=coord[0], lon=coord[1])
              weather = json.loads(urlopen(weather_url).read())
              self._temperature = weather['main']['temp']
              self._timer += 1
              return
          if self._timer < 300:
              self._timer += 1
              return
          self._timer = 0
  
  # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
  
subject: Add rudimentary weather module