ObjScorecardEdit extends ObjScorecard to provide YAML import/export
functionality for scorecard definitions. It exports all attribute rows for
a given scorecard/version/package combination, and can reimport them with
fresh GUIDs.
Exported files are written to local.documents/scorecards/ by default.
ObjScorecard.ObjScorecard
→ ObjScorecardEdit.ObjScorecardEdit ← this module
| Table | Purpose |
|---|---|
def_scorecard |
Attribute rows per scorecard/version/package |
Auto-generated and redundant fields are stripped on export:
ScorecardGuid, Scorecard, Version, CreatedAt, UpdatedAt.
These are regenerated or re-added from context on import.
scorecard: MY_SCORECARD
version: v1
attributes:
- Variable: AGE
AttributeID: 0
AttributeType: ASSIGN
Score: 0.5
Active: Y
- Variable: AGE
AttributeID: 1
AttributeType: RANGE
ValueFrom: 18
ValueTo: 25
Score: 1.0
Active: Y
import_from_data() deletes all existing rows for the
(Scorecard, Version, Package) combination before reinserting. Each row
receives a fresh uuid4() ScorecardGuid on every import.
# Export active version of a scorecard
python factory.core/extend.edit/ObjScorecardEdit.py save MY_SCORECARD
# Export specific version
python factory.core/extend.edit/ObjScorecardEdit.py save MY_SCORECARD \
--version v2
# Custom output filename
python factory.core/extend.edit/ObjScorecardEdit.py save MY_SCORECARD \
--filename backup.yaml
# Import from YAML file
python factory.core/extend.edit/ObjScorecardEdit.py load my_scorecard_v1.yaml
# List all scorecards for the active package
python factory.core/extend.edit/ObjScorecardEdit.py list-scorecards
# Override package on any command
python factory.core/extend.edit/ObjScorecardEdit.py save MY_SCORECARD \
--package homechoice
| Method | Purpose |
|---|---|
load(scorecard, package, version) |
Load attribute rows from DB |
list_scorecards(package) |
List all scorecards and versions |
export_to_file(scorecard, filename, package, version) |
Export to YAML |
import_from_data(data, package) |
Import from in-memory dict |
import_from_file(filename, package) |
Import from YAML file |