Multi options filters, fixes #231 (#262)

* OWNED environment variable for Mullvad
* CSV are now accepted for all servers filtering environment variables
This commit is contained in:
Quentin McGaw
2020-10-18 17:15:42 -04:00
committed by GitHub
parent c932f48a95
commit af606463ea
26 changed files with 247 additions and 223 deletions

View File

@@ -4,23 +4,23 @@ import (
"github.com/qdm12/gluetun/internal/constants"
)
// GetPurevpnRegion obtains the region (continent) for the PureVPN server from the
// GetPurevpnRegions obtains the regions (continents) for the PureVPN servers from the
// environment variable REGION
func (r *reader) GetPurevpnRegion() (region string, err error) {
func (r *reader) GetPurevpnRegions() (regions []string, err error) {
choices := append(constants.PurevpnRegionChoices(), "")
return r.envParams.GetValueIfInside("REGION", choices)
return r.envParams.GetCSVInPossibilities("REGION", choices)
}
// GetPurevpnCountry obtains the country for the PureVPN server from the
// GetPurevpnCountries obtains the countries for the PureVPN servers from the
// environment variable COUNTRY
func (r *reader) GetPurevpnCountry() (country string, err error) {
func (r *reader) GetPurevpnCountries() (countries []string, err error) {
choices := append(constants.PurevpnCountryChoices(), "")
return r.envParams.GetValueIfInside("COUNTRY", choices)
return r.envParams.GetCSVInPossibilities("COUNTRY", choices)
}
// GetPurevpnCity obtains the city for the PureVPN server from the
// GetPurevpnCities obtains the cities for the PureVPN servers from the
// environment variable CITY
func (r *reader) GetPurevpnCity() (city string, err error) {
func (r *reader) GetPurevpnCities() (cities []string, err error) {
choices := append(constants.PurevpnCityChoices(), "")
return r.envParams.GetValueIfInside("CITY", choices)
return r.envParams.GetCSVInPossibilities("CITY", choices)
}