def locations_for(self, city_name, country=None, matching='nocase'):
        """
        Returns a list of Location objects corresponding to
        the int IDs and relative toponyms and 2-chars country of the cities
        matching the provided city name.
        The rule for identifying matchings is according to the provided
        `matching` parameter value.
        If `country` is provided, the search is restricted to the cities of
        the specified country.
        :param country: two character str representing the country where to
        search for the city. Defaults to `None`, which means: search in all
        countries.
        :param matching: str among `exact` (literal, case-sensitive matching),
        `nocase` (literal, case-insensitive matching) and `like` (matches cities
        whose name contains as a substring the string fed to the function, no
        matter the case). Defaults to `nocase`.
        :raises ValueError if the value for `matching` is unknown
        :return: list of `weatherapi25.location.Location` objects
        """
        if not city_name:
            return []
        if matching not in self.MATCHINGS:
            raise ValueError("Unknown type of matching: "
                             "allowed values are %s" % ", ".join(self.MATCHINGS))
        if country is not None and len(country) != 2:
            raise ValueError("Country must be a 2-char string")
        splits = self._filter_matching_lines(city_name, country, matching)
        return [Location(item[0], float(item[3]), float(item[2]),
                         int(item[1]), item[4]) for item in splits]
Returns a list of Location objects corresponding to
        the int IDs and relative toponyms and 2-chars country of the cities
        matching the provided city name.
        The rule for identifying matchings is according to the provided
        `matching` parameter value.
        If `country` is provided, the search is restricted to the cities of
        the specified country.
        :param country: two character str representing the country where to
        search for the city. Defaults to `None`, which means: search in all
        countries.
        :param matching: str among `exact` (literal, case-sensitive matching),
        `nocase` (literal, case-insensitive matching) and `like` (matches cities
        whose name contains as a substring the string fed to the function, no
        matter the case). Defaults to `nocase`.
        :raises ValueError if the value for `matching` is unknown
        :return: list of `weatherapi25.location.Location` objects