removed default features for lang and sub

This commit is contained in:
Timon Ringwald 2022-08-04 15:49:14 +02:00
parent 2b0d13cadf
commit 691506ccc5

View File

@ -28,22 +28,6 @@ var (
} }
) )
var (
featureLangOther = Feature[string]{
name: "lang",
value: "_",
}
featureSubOther = Feature[string]{
name: "sub",
value: "_",
}
)
func PrintAllFeatures() {
fmt.Printf("string features: %#v\n", stringFeatures)
fmt.Printf("bool features: %#v\n", boolFeatures)
}
var ( var (
// string features are user-defined. 'primary key' is name and value // string features are user-defined. 'primary key' is name and value
stringFeatures = []*Feature[string]{} stringFeatures = []*Feature[string]{}
@ -52,6 +36,11 @@ var (
boolFeatures = []*Feature[bool]{Feature1080p, Feature720p, FeatureTrusted} boolFeatures = []*Feature[bool]{Feature1080p, Feature720p, FeatureTrusted}
) )
func PrintAllFeatures() {
fmt.Printf("string features: %#v\n", stringFeatures)
fmt.Printf("bool features: %#v\n", boolFeatures)
}
func makeStringFeature(name, value string, priority int, essential bool) *Feature[string] { func makeStringFeature(name, value string, priority int, essential bool) *Feature[string] {
for _, feature := range stringFeatures { for _, feature := range stringFeatures {
if feature.name == name && feature.value == value { if feature.name == name && feature.value == value {
@ -79,9 +68,9 @@ func GetStringFeature(name, value string) *Feature[string] {
// lang and sub features have their special '_' value // lang and sub features have their special '_' value
if name == "lang" { if name == "lang" {
return makeStringFeature(name, value, featureLangOther.priority, featureLangOther.essential) return makeStringFeature(name, value, 0, false)
} else if name == "sub" { } else if name == "sub" {
return makeStringFeature(name, value, featureSubOther.priority, featureSubOther.essential) return makeStringFeature(name, value, 0, false)
} }
panic("TODO") panic("TODO")
@ -105,6 +94,14 @@ func ParseEssentialFeatures(essentialFeatureString string) {
} }
} }
func ParsePrioritizedFeatures(prioritizedFeatureString string) {
featureSpecs := strings.Split(prioritizedFeatureString, ",")
for index, featureSpec := range featureSpecs {
handleFeatureSpec(featureSpec, len(featureSpec)-index, false)
}
}
func handleFeatureSpec(featureSpec string, priority int, essential bool) { func handleFeatureSpec(featureSpec string, priority int, essential bool) {
data := strings.Split(featureSpec, ":") data := strings.Split(featureSpec, ":")
name := data[0] name := data[0]