fix failing checks + cosmetic renames (#13)
Reviewed-on: #13 Co-authored-by: vickydotbat <vickydotbat@tutamail.com> Co-committed-by: vickydotbat <vickydotbat@tutamail.com>
This commit was merged in pull request #13.
This commit is contained in:
+58
-58
@@ -35,7 +35,7 @@ type autogenManifest struct {
|
||||
Repo string `json:"repo"`
|
||||
Ref string `json:"ref"`
|
||||
GeneratedAt string `json:"generated_at"`
|
||||
HeadVisualeffects *project.HeadVisualeffectsConfig `json:"accessory_visualeffects,omitempty"`
|
||||
AccessoryVisualeffects *project.AccessoryVisualeffectsConfig `json:"accessory_visualeffects,omitempty"`
|
||||
Entries []autogenManifestEntry `json:"entries"`
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ func applyAutogenConsumers(p *project.Project, collected []nativeCollectedDatase
|
||||
case "parts_rows":
|
||||
result = augmentWithAutogeneratedParts(result, autogenPartsInventory(entries))
|
||||
case "accessory_visualeffects":
|
||||
result, err = augmentWithAutogeneratedHeadVisualeffects(result, entries, consumer, manifest.HeadVisualeffects)
|
||||
result, err = augmentWithAutogeneratedAccessoryVisualeffects(result, entries, consumer, manifest.AccessoryVisualeffects)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -178,7 +178,7 @@ func preserveAutogenConsumerLockEntries(collected []nativeCollectedDataset, cons
|
||||
func autogenConsumerManagedLockKeyMatcher(consumer project.AutogenConsumerConfig) func(string) bool {
|
||||
switch consumer.Mode {
|
||||
case "accessory_visualeffects":
|
||||
policy := resolveHeadVisualeffectsPolicy(consumer, nil)
|
||||
policy := resolveAccessoryVisualeffectsPolicy(consumer, nil)
|
||||
delimiter := policy.Delimiter
|
||||
if delimiter == "" {
|
||||
delimiter = "/"
|
||||
@@ -186,7 +186,7 @@ func autogenConsumerManagedLockKeyMatcher(consumer project.AutogenConsumerConfig
|
||||
prefix := "visualeffects:"
|
||||
groups := make(map[string]struct{}, len(policy.Groups))
|
||||
for group, groupPolicy := range policy.Groups {
|
||||
token := applyHeadVisualeffectCase(headVisualeffectGroupToken(group, groupPolicy, policy), policy)
|
||||
token := applyAccessoryVisualeffectCase(accessoryVisualeffectGroupToken(group, groupPolicy, policy), policy)
|
||||
if strings.TrimSpace(token) != "" {
|
||||
groups[token] = struct{}{}
|
||||
}
|
||||
@@ -816,12 +816,12 @@ func augmentWithAutogeneratedCachedModels(collected []nativeCollectedDataset, en
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func augmentWithAutogeneratedHeadVisualeffects(collected []nativeCollectedDataset, entries []autogenManifestEntry, consumer project.AutogenConsumerConfig, manifestPolicy *project.HeadVisualeffectsConfig) ([]nativeCollectedDataset, error) {
|
||||
func augmentWithAutogeneratedAccessoryVisualeffects(collected []nativeCollectedDataset, entries []autogenManifestEntry, consumer project.AutogenConsumerConfig, manifestPolicy *project.AccessoryVisualeffectsConfig) ([]nativeCollectedDataset, error) {
|
||||
if len(entries) == 0 {
|
||||
return collected, nil
|
||||
}
|
||||
|
||||
policy := resolveHeadVisualeffectsPolicy(consumer, manifestPolicy)
|
||||
policy := resolveAccessoryVisualeffectsPolicy(consumer, manifestPolicy)
|
||||
result := append([]nativeCollectedDataset(nil), collected...)
|
||||
for i, dataset := range result {
|
||||
if dataset.Dataset.Name != "visualeffects" {
|
||||
@@ -871,12 +871,12 @@ func augmentWithAutogeneratedHeadVisualeffects(collected []nativeCollectedDatase
|
||||
}
|
||||
|
||||
for _, entry := range entries {
|
||||
key, label, modelStem, groupPolicy, ok := headVisualeffectIdentity(dataset.Dataset.Name, entry, policy)
|
||||
key, label, modelStem, groupPolicy, ok := accessoryVisualeffectIdentity(dataset.Dataset.Name, entry, policy)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
if existing, exists := rowByKey[key]; exists {
|
||||
applyDiscoveredHeadVisualeffectDefaults(existing, dataset.Columns, modelStem, label, policy, groupPolicy)
|
||||
applyDiscoveredAccessoryVisualeffectDefaults(existing, dataset.Columns, modelStem, label, policy, groupPolicy)
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -889,7 +889,7 @@ func augmentWithAutogeneratedHeadVisualeffects(collected []nativeCollectedDatase
|
||||
}
|
||||
lockData[key] = rowID
|
||||
}
|
||||
newRow := createDefaultHeadVisualeffectRow(dataset.Columns, rowID, key, label, modelStem, policy, groupPolicy)
|
||||
newRow := createDefaultAccessoryVisualeffectRow(dataset.Columns, rowID, key, label, modelStem, policy, groupPolicy)
|
||||
rows = append(rows, newRow)
|
||||
rowByKey[key] = newRow
|
||||
}
|
||||
@@ -912,8 +912,8 @@ func nextAvailableAutogenID(used map[int]struct{}) int {
|
||||
}
|
||||
}
|
||||
|
||||
type headVisualeffectsPolicy struct {
|
||||
Groups map[string]headVisualeffectsGroupPolicy
|
||||
type accessoryVisualeffectsPolicy struct {
|
||||
Groups map[string]accessoryVisualeffectsGroupPolicy
|
||||
GroupTokenSource string
|
||||
CategoryFrom string
|
||||
Delimiter string
|
||||
@@ -925,22 +925,22 @@ type headVisualeffectsPolicy struct {
|
||||
RowDefaults map[string]string
|
||||
}
|
||||
|
||||
type headVisualeffectsGroupPolicy struct {
|
||||
type accessoryVisualeffectsGroupPolicy struct {
|
||||
Prefix string
|
||||
ModelColumns []string
|
||||
RowDefaults map[string]string
|
||||
}
|
||||
|
||||
func resolveHeadVisualeffectsPolicy(consumer project.AutogenConsumerConfig, manifestPolicy *project.HeadVisualeffectsConfig) headVisualeffectsPolicy {
|
||||
policy := defaultHeadVisualeffectsPolicy()
|
||||
func resolveAccessoryVisualeffectsPolicy(consumer project.AutogenConsumerConfig, manifestPolicy *project.AccessoryVisualeffectsConfig) accessoryVisualeffectsPolicy {
|
||||
policy := defaultAccessoryVisualeffectsPolicy()
|
||||
if manifestPolicy != nil {
|
||||
applyHeadVisualeffectsConfig(&policy, *manifestPolicy)
|
||||
applyAccessoryVisualeffectsConfig(&policy, *manifestPolicy)
|
||||
}
|
||||
applyHeadVisualeffectsConfig(&policy, consumer.HeadVisualeffects)
|
||||
applyAccessoryVisualeffectsConfig(&policy, consumer.AccessoryVisualeffects)
|
||||
return policy
|
||||
}
|
||||
|
||||
func applyHeadVisualeffectsConfig(policy *headVisualeffectsPolicy, cfg project.HeadVisualeffectsConfig) {
|
||||
func applyAccessoryVisualeffectsConfig(policy *accessoryVisualeffectsPolicy, cfg project.AccessoryVisualeffectsConfig) {
|
||||
for group, groupCfg := range cfg.Groups {
|
||||
group = strings.TrimSpace(group)
|
||||
prefix := strings.TrimSpace(groupCfg.Prefix)
|
||||
@@ -951,13 +951,13 @@ func applyHeadVisualeffectsConfig(policy *headVisualeffectsPolicy, cfg project.H
|
||||
if prefix != "" {
|
||||
groupPolicy.Prefix = prefix
|
||||
}
|
||||
if columns := normalizeHeadVisualeffectsModelColumns(groupCfg.ModelColumn, groupCfg.ModelColumns); len(columns) > 0 {
|
||||
if columns := normalizeAccessoryVisualeffectsModelColumns(groupCfg.ModelColumn, groupCfg.ModelColumns); len(columns) > 0 {
|
||||
groupPolicy.ModelColumns = columns
|
||||
}
|
||||
if groupPolicy.RowDefaults == nil {
|
||||
groupPolicy.RowDefaults = map[string]string{}
|
||||
}
|
||||
mergeStringMap(groupPolicy.RowDefaults, normalizeHeadVisualeffectsRowDefaults(groupCfg.RowDefaults))
|
||||
mergeStringMap(groupPolicy.RowDefaults, normalizeAccessoryVisualeffectsRowDefaults(groupCfg.RowDefaults))
|
||||
policy.Groups[group] = groupPolicy
|
||||
}
|
||||
if strings.TrimSpace(cfg.GroupTokenSource) != "" {
|
||||
@@ -984,12 +984,12 @@ func applyHeadVisualeffectsConfig(policy *headVisualeffectsPolicy, cfg project.H
|
||||
if strings.TrimSpace(cfg.ModelColumn) != "" {
|
||||
policy.ModelColumn = strings.TrimSpace(cfg.ModelColumn)
|
||||
}
|
||||
mergeStringMap(policy.RowDefaults, normalizeHeadVisualeffectsRowDefaults(cfg.RowDefaults))
|
||||
mergeStringMap(policy.RowDefaults, normalizeAccessoryVisualeffectsRowDefaults(cfg.RowDefaults))
|
||||
}
|
||||
|
||||
func defaultHeadVisualeffectsPolicy() headVisualeffectsPolicy {
|
||||
return headVisualeffectsPolicy{
|
||||
Groups: map[string]headVisualeffectsGroupPolicy{
|
||||
func defaultAccessoryVisualeffectsPolicy() accessoryVisualeffectsPolicy {
|
||||
return accessoryVisualeffectsPolicy{
|
||||
Groups: map[string]accessoryVisualeffectsGroupPolicy{
|
||||
"chest_accessories": {},
|
||||
"head_accessories": {},
|
||||
"head_decorations": {},
|
||||
@@ -1011,7 +1011,7 @@ func defaultHeadVisualeffectsPolicy() headVisualeffectsPolicy {
|
||||
}
|
||||
}
|
||||
|
||||
func normalizeHeadVisualeffectsModelColumns(modelColumn string, modelColumns []string) []string {
|
||||
func normalizeAccessoryVisualeffectsModelColumns(modelColumn string, modelColumns []string) []string {
|
||||
var result []string
|
||||
if column := strings.TrimSpace(modelColumn); column != "" {
|
||||
result = append(result, column)
|
||||
@@ -1028,7 +1028,7 @@ func normalizeHeadVisualeffectsModelColumns(modelColumn string, modelColumns []s
|
||||
return result
|
||||
}
|
||||
|
||||
func normalizeHeadVisualeffectsRowDefaults(defaults map[string]string) map[string]string {
|
||||
func normalizeAccessoryVisualeffectsRowDefaults(defaults map[string]string) map[string]string {
|
||||
result := map[string]string{}
|
||||
for column, value := range defaults {
|
||||
column = strings.TrimSpace(column)
|
||||
@@ -1046,44 +1046,44 @@ func mergeStringMap(target map[string]string, source map[string]string) {
|
||||
}
|
||||
}
|
||||
|
||||
func headVisualeffectIdentity(dataset string, entry autogenManifestEntry, policy headVisualeffectsPolicy) (string, string, string, headVisualeffectsGroupPolicy, bool) {
|
||||
entry = normalizeHeadVisualeffectEntry(entry)
|
||||
func accessoryVisualeffectIdentity(dataset string, entry autogenManifestEntry, policy accessoryVisualeffectsPolicy) (string, string, string, accessoryVisualeffectsGroupPolicy, bool) {
|
||||
entry = normalizeAccessoryVisualeffectEntry(entry)
|
||||
group, ok := policy.Groups[entry.Group]
|
||||
if !ok || strings.TrimSpace(entry.ModelStem) == "" {
|
||||
return "", "", "", headVisualeffectsGroupPolicy{}, false
|
||||
return "", "", "", accessoryVisualeffectsGroupPolicy{}, false
|
||||
}
|
||||
modelStem := strings.TrimSpace(entry.ModelStem)
|
||||
stem := stripHeadVisualeffectModelPrefix(modelStem, policy)
|
||||
stem := stripAccessoryVisualeffectModelPrefix(modelStem, policy)
|
||||
stem = strings.TrimSpace(stem)
|
||||
if stem == "" {
|
||||
return "", "", "", headVisualeffectsGroupPolicy{}, false
|
||||
return "", "", "", accessoryVisualeffectsGroupPolicy{}, false
|
||||
}
|
||||
category := headVisualeffectCategory(entry, policy)
|
||||
groupToken := headVisualeffectGroupToken(entry.Group, group, policy)
|
||||
category := accessoryVisualeffectCategory(entry, policy)
|
||||
groupToken := accessoryVisualeffectGroupToken(entry.Group, group, policy)
|
||||
values := map[string]string{
|
||||
"dataset": dataset,
|
||||
"group": applyHeadVisualeffectCase(groupToken, policy),
|
||||
"group": applyAccessoryVisualeffectCase(groupToken, policy),
|
||||
"group_raw": entry.Group,
|
||||
"prefix": applyHeadVisualeffectCase(group.Prefix, policy),
|
||||
"category": applyHeadVisualeffectCase(category, policy),
|
||||
"prefix": applyAccessoryVisualeffectCase(group.Prefix, policy),
|
||||
"category": applyAccessoryVisualeffectCase(category, policy),
|
||||
"category_upper": strings.ToUpper(category),
|
||||
"category_segment": headVisualeffectDelimitedSegment(applyHeadVisualeffectCase(category, policy), policy.Delimiter),
|
||||
"category_segment_upper": headVisualeffectDelimitedSegment(strings.ToUpper(category), policy.Delimiter),
|
||||
"subgroup": applyHeadVisualeffectCase(entry.Subgroup, policy),
|
||||
"stem": applyHeadVisualeffectCase(stem, policy),
|
||||
"category_segment": accessoryVisualeffectDelimitedSegment(applyAccessoryVisualeffectCase(category, policy), policy.Delimiter),
|
||||
"category_segment_upper": accessoryVisualeffectDelimitedSegment(strings.ToUpper(category), policy.Delimiter),
|
||||
"subgroup": applyAccessoryVisualeffectCase(entry.Subgroup, policy),
|
||||
"stem": applyAccessoryVisualeffectCase(stem, policy),
|
||||
"stem_upper": strings.ToUpper(stem),
|
||||
"model_stem": modelStem,
|
||||
"delimiter": policy.Delimiter,
|
||||
}
|
||||
key := expandHeadVisualeffectsFormat(policy.KeyFormat, values)
|
||||
label := expandHeadVisualeffectsFormat(policy.LabelFormat, values)
|
||||
key := expandAccessoryVisualeffectsFormat(policy.KeyFormat, values)
|
||||
label := expandAccessoryVisualeffectsFormat(policy.LabelFormat, values)
|
||||
if strings.TrimSpace(key) == "" || strings.TrimSpace(label) == "" {
|
||||
return "", "", "", headVisualeffectsGroupPolicy{}, false
|
||||
return "", "", "", accessoryVisualeffectsGroupPolicy{}, false
|
||||
}
|
||||
return key, label, modelStem, group, true
|
||||
}
|
||||
|
||||
func normalizeHeadVisualeffectEntry(entry autogenManifestEntry) autogenManifestEntry {
|
||||
func normalizeAccessoryVisualeffectEntry(entry autogenManifestEntry) autogenManifestEntry {
|
||||
entry.Group = strings.TrimSpace(entry.Group)
|
||||
if strings.TrimSpace(entry.Group) == "" && strings.TrimSpace(entry.Source) != "" {
|
||||
parts := strings.Split(filepath.ToSlash(entry.Source), "/")
|
||||
@@ -1106,7 +1106,7 @@ func normalizeHeadVisualeffectEntry(entry autogenManifestEntry) autogenManifestE
|
||||
return entry
|
||||
}
|
||||
|
||||
func stripHeadVisualeffectModelPrefix(modelStem string, policy headVisualeffectsPolicy) string {
|
||||
func stripAccessoryVisualeffectModelPrefix(modelStem string, policy accessoryVisualeffectsPolicy) string {
|
||||
stem := modelStem
|
||||
for _, prefix := range policy.StripModelPrefixes {
|
||||
prefix = strings.TrimSpace(prefix)
|
||||
@@ -1118,7 +1118,7 @@ func stripHeadVisualeffectModelPrefix(modelStem string, policy headVisualeffects
|
||||
return stem
|
||||
}
|
||||
|
||||
func headVisualeffectGroupToken(groupName string, group headVisualeffectsGroupPolicy, policy headVisualeffectsPolicy) string {
|
||||
func accessoryVisualeffectGroupToken(groupName string, group accessoryVisualeffectsGroupPolicy, policy accessoryVisualeffectsPolicy) string {
|
||||
if policy.GroupTokenSource == "folder_name" {
|
||||
return groupName
|
||||
}
|
||||
@@ -1128,7 +1128,7 @@ func headVisualeffectGroupToken(groupName string, group headVisualeffectsGroupPo
|
||||
return groupName
|
||||
}
|
||||
|
||||
func headVisualeffectCategory(entry autogenManifestEntry, policy headVisualeffectsPolicy) string {
|
||||
func accessoryVisualeffectCategory(entry autogenManifestEntry, policy accessoryVisualeffectsPolicy) string {
|
||||
switch policy.CategoryFrom {
|
||||
case "immediate_parent":
|
||||
return strings.TrimSpace(entry.Category)
|
||||
@@ -1139,14 +1139,14 @@ func headVisualeffectCategory(entry autogenManifestEntry, policy headVisualeffec
|
||||
}
|
||||
}
|
||||
|
||||
func headVisualeffectDelimitedSegment(value, delimiter string) string {
|
||||
func accessoryVisualeffectDelimitedSegment(value, delimiter string) string {
|
||||
if strings.TrimSpace(value) == "" {
|
||||
return ""
|
||||
}
|
||||
return value + delimiter
|
||||
}
|
||||
|
||||
func applyHeadVisualeffectCase(value string, policy headVisualeffectsPolicy) string {
|
||||
func applyAccessoryVisualeffectCase(value string, policy accessoryVisualeffectsPolicy) string {
|
||||
switch policy.Case {
|
||||
case "lower":
|
||||
return strings.ToLower(value)
|
||||
@@ -1157,7 +1157,7 @@ func applyHeadVisualeffectCase(value string, policy headVisualeffectsPolicy) str
|
||||
}
|
||||
}
|
||||
|
||||
func expandHeadVisualeffectsFormat(format string, values map[string]string) string {
|
||||
func expandAccessoryVisualeffectsFormat(format string, values map[string]string) string {
|
||||
result := format
|
||||
for key, value := range values {
|
||||
result = strings.ReplaceAll(result, "{"+key+"}", value)
|
||||
@@ -1165,7 +1165,7 @@ func expandHeadVisualeffectsFormat(format string, values map[string]string) stri
|
||||
return result
|
||||
}
|
||||
|
||||
func createDefaultHeadVisualeffectRow(columns []string, rowID int, key, label, modelStem string, policy headVisualeffectsPolicy, group headVisualeffectsGroupPolicy) map[string]any {
|
||||
func createDefaultAccessoryVisualeffectRow(columns []string, rowID int, key, label, modelStem string, policy accessoryVisualeffectsPolicy, group accessoryVisualeffectsGroupPolicy) map[string]any {
|
||||
row := map[string]any{
|
||||
"id": rowID,
|
||||
"key": key,
|
||||
@@ -1180,13 +1180,13 @@ func createDefaultHeadVisualeffectRow(columns []string, rowID int, key, label, m
|
||||
for column, value := range group.RowDefaults {
|
||||
row[column] = value
|
||||
}
|
||||
for _, column := range headVisualeffectModelColumns(policy, group) {
|
||||
for _, column := range accessoryVisualeffectModelColumns(policy, group) {
|
||||
row[column] = modelStem
|
||||
}
|
||||
return row
|
||||
}
|
||||
|
||||
func applyDiscoveredHeadVisualeffectDefaults(row map[string]any, columns []string, modelStem, label string, policy headVisualeffectsPolicy, group headVisualeffectsGroupPolicy) {
|
||||
func applyDiscoveredAccessoryVisualeffectDefaults(row map[string]any, columns []string, modelStem, label string, policy accessoryVisualeffectsPolicy, group accessoryVisualeffectsGroupPolicy) {
|
||||
if isNullLikeValue(row["Label"]) {
|
||||
row["Label"] = label
|
||||
}
|
||||
@@ -1200,7 +1200,7 @@ func applyDiscoveredHeadVisualeffectDefaults(row map[string]any, columns []strin
|
||||
row[column] = value
|
||||
}
|
||||
}
|
||||
for _, column := range headVisualeffectModelColumns(policy, group) {
|
||||
for _, column := range accessoryVisualeffectModelColumns(policy, group) {
|
||||
if isNullLikeValue(row[column]) {
|
||||
row[column] = modelStem
|
||||
}
|
||||
@@ -1212,7 +1212,7 @@ func applyDiscoveredHeadVisualeffectDefaults(row map[string]any, columns []strin
|
||||
}
|
||||
}
|
||||
|
||||
func headVisualeffectModelColumns(policy headVisualeffectsPolicy, group headVisualeffectsGroupPolicy) []string {
|
||||
func accessoryVisualeffectModelColumns(policy accessoryVisualeffectsPolicy, group accessoryVisualeffectsGroupPolicy) []string {
|
||||
if len(group.ModelColumns) > 0 {
|
||||
return group.ModelColumns
|
||||
}
|
||||
@@ -1230,14 +1230,14 @@ func formatAutogenManifest(root string, producer project.AutogenProducerConfig,
|
||||
GeneratedAt: time.Now().UTC().Format(time.RFC3339),
|
||||
Entries: entries,
|
||||
}
|
||||
if autogenHeadVisualeffectsConfigConfigured(producer.HeadVisualeffects) {
|
||||
cfg := producer.HeadVisualeffects
|
||||
manifest.HeadVisualeffects = &cfg
|
||||
if autogenAccessoryVisualeffectsConfigConfigured(producer.AccessoryVisualeffects) {
|
||||
cfg := producer.AccessoryVisualeffects
|
||||
manifest.AccessoryVisualeffects = &cfg
|
||||
}
|
||||
return json.MarshalIndent(manifest, "", " ")
|
||||
}
|
||||
|
||||
func autogenHeadVisualeffectsConfigConfigured(cfg project.HeadVisualeffectsConfig) bool {
|
||||
func autogenAccessoryVisualeffectsConfigConfigured(cfg project.AccessoryVisualeffectsConfig) bool {
|
||||
return len(cfg.Groups) > 0 ||
|
||||
strings.TrimSpace(cfg.GroupTokenSource) != "" ||
|
||||
strings.TrimSpace(cfg.CategoryFrom) != "" ||
|
||||
|
||||
Reference in New Issue
Block a user