code: def url_builder(self, latitude, longitude):
          
          try:
              float(latitude)
              float(longitude)
          except TypeError:
              raise TypeError('Latitude (%s) and Longitude (%s) must be a float number' % (latitude, longitude))
          url = self._darksky_url + self.forecast_io_api_key + '/'
          url += str(latitude).strip() + ',' + str(longitude).strip()
          if self.time_url and not self.time_url.isspace():
              url += ',' + self.time_url.strip()
          url += '?units=' + self.units_url.strip()
          url += '&lang=' + self.lang_url.strip()
          if self.exclude_url is not None:
              excludes = ''
              if self.exclude_url in self._allowed_excludes_extends:
                  excludes += self.exclude_url + ','
              else:
                  for item in self.exclude_url:
                      if item in self._allowed_excludes_extends:
                          excludes += item + ','
              if len(excludes) > 0:
                  url += '&exclude=' + excludes.rstrip(',')
          if self.extend_url is not None:
              extends = ''
              if self.extend_url in self._allowed_excludes_extends:
                  extends += self.extend_url + ','
              else:
                  for item in self.extend_url:
                      if item in self._allowed_excludes_extends:
                          extends += item + ','
              if len(extends) > 0:
                  url += '&extend=' + extends.rstrip(',')
          return url
docs: This function is used to build the correct url to make the request
          to the forecast.io api.
          Recieves the latitude and the longitude.
          Return a string with the url.