Skip to content

feat: update/add csv conversion scripts - #19

Merged
gh0st42 merged 10 commits into
mainfrom
feat/update-csv-conversion-scripts
Aug 24, 2026
Merged

feat: update/add csv conversion scripts#19
gh0st42 merged 10 commits into
mainfrom
feat/update-csv-conversion-scripts

Conversation

@axodentally

Copy link
Copy Markdown
Collaborator

Update the old csv to ccp script and add another for csv to compose files.

This allows generating scenario contact files (.ccp) and compose files (yml) from CCSDS reference scenario CSV files, making the CSV file the source of truth for both ccp and yml, making them derived artefacts.

The scripts generate the network names based on source and destination node name and sometimes the 'label'.
For that, the scripts first strip any '_ul' and '_dl' suffixes, that would only indicate a link's direction.
Then, for each connection in the form of a (src, dst) set, all net-labels are collected. If a (src, dst) set then has more than one label over all connections, it is believed that multiple, distinct networks/links should be created between those nodes.
Otherwise only one network is used for those connections.

That makes the parsing really robust and predictable, without any additional requirements for specific labels in the CSV.

Noteworthy changes:

  • The --ignore-delay option got removed. If a need for it arises, it can easily be added again

For further details, see individual commit messages.

as previously parsing was fragile, relying on specific syntax for the
'labels' in the CSV file.
Now the network topology is actually analyzed and it's then decided, if
a pair of nodes has multiple networks between them and therefor need to
specify the individual interface to use in the ccp file.
currently only high -> hi and low -> lo, but can easily be extended.
Allows for converting the lunar communications scenario without using
hashes for the docker networks.
@axodentally

Copy link
Copy Markdown
Collaborator Author

This change is part of the following stack:

Change managed by git-spice.

@gh0st42
gh0st42 merged commit c53ce87 into main Aug 24, 2026
1 check passed

@sylvesterkaczmarek sylvesterkaczmarek left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--mount-compose is broken with the default --output -: graph_to_compose() invents compose.yml for the bind mount but writes the generated YAML only to stdout. The emitted compose file therefore references a host file that was never created (or the wrong file if stdout is redirected elsewhere). Require a real output path when mounting, or bind the actual output path, and add a stdout regression.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants