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.

def url_builder(self, latitude, longitude):
        """
        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.
        """
        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