123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package tables
- import (
- "encoding/json"
- "io/ioutil"
- )
- type Definitions struct {
- IsLabelArg map[string]bool
- LabelBlacklist map[string]bool
- IsListArg map[string]bool
- IsSortableListArg map[string]bool
- SortableBlacklist map[string]bool
- SortableWhitelist map[string]bool
- NamePriority map[string]int
- StripLabelLeadingSlashes bool
- ShortenAbsoluteLabelsToRelative bool
- }
- func ParseJSONDefinitions(file string) (Definitions, error) {
- var definitions Definitions
- data, err := ioutil.ReadFile(file)
- if err != nil {
- return definitions, err
- }
- err = json.Unmarshal(data, &definitions)
- return definitions, err
- }
- func ParseAndUpdateJSONDefinitions(file string, merge bool) error {
- definitions, err := ParseJSONDefinitions(file)
- if err != nil {
- return err
- }
- if merge {
- MergeTables(definitions.IsLabelArg, definitions.LabelBlacklist, definitions.IsListArg, definitions.IsSortableListArg, definitions.SortableBlacklist, definitions.SortableWhitelist, definitions.NamePriority, definitions.StripLabelLeadingSlashes, definitions.ShortenAbsoluteLabelsToRelative)
- } else {
- OverrideTables(definitions.IsLabelArg, definitions.LabelBlacklist, definitions.IsListArg, definitions.IsSortableListArg, definitions.SortableBlacklist, definitions.SortableWhitelist, definitions.NamePriority, definitions.StripLabelLeadingSlashes, definitions.ShortenAbsoluteLabelsToRelative)
- }
- return nil
- }
|