Skip to content

epics-extensions/dryed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DRYED

Draw your EPICS Database

Python script to produce a Markdown Mermaid Flowchart

Installation

git clone git@drf-gitlab.cea.fr:EPICS/dryed.git

Build using Poetry

First, install Poetry. Refer to the Poetry for instructions.

To build the project, you can run:

poetry install
poetry build

Usage

usage: dryed [-h] [-v {0,1,2,3,4,5}] [-r RECORD_TARGET] inputFile outputFile

Script to display EPICS record to Markdown Mermaid Flowchart

positional arguments:
  inputFile             Input file, EPICS format
  outputFile            Output file, Markdown Mermaid format

options:
  -h, --help            show this help message and exit
  -v {0,1,2,3,4,5}, --verbosity {0,1,2,3,4,5}
                        decrease output verbosity. 5 (Critical), 4 (Error), 3 (Warning, default), 2
                        (Info), 1 (Debug)
  -r RECORD_TARGET, --record_target RECORD_TARGET
                        Record to look for children and parents

Execution

Running Dryed can be done with Poetry:

poetry run dryed myexample.db my_output_example.txt

Example

First Example

> poetry run dryed tests/misc/example.template /tmp/my_output_example.txt
> cat /tmp/my_output_example.txt
flowchart
        PREFIX_myName2--CPP-->PREFIX_name3
        PREFIX_ao-->PREFIX_name3
        PREFIX_myName--PP-->PREFIX_asub
        PREFIX_asub-->PREFIX_ao
        PREFIX_myName2--PP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao

Resulting in Following Mermaid chart

flowchart
        PREFIX_myName2--CPP-->PREFIX_name3
        PREFIX_ao-->PREFIX_name3
        PREFIX_myName--PP-->PREFIX_asub
        PREFIX_asub-->PREFIX_ao
        PREFIX_myName2--PP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao
Loading

Second Example

> poetry run dryed tests/misc/example2.template /tmp/my_output_example2.txt
> cat /tmp/my_output_example2.txt
flowchart
        PREFIX_myName2--CP-->PREFIX_name3
        PREFIX_ao-->PREFIX_name4
        PREFIX_ao2-->PREFIX_name3
        PREFIX_myName--CP-->PREFIX_asub
        PREFIX_asub-->PREFIX_ao
        PREFIX_myName2--CP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao2

Resulting in Following Mermaid chart

flowchart
        PREFIX_myName2--CP-->PREFIX_name3
        PREFIX_ao-->PREFIX_name4
        PREFIX_ao2-->PREFIX_name3
        PREFIX_myName--CP-->PREFIX_asub
        PREFIX_asub-->PREFIX_ao
        PREFIX_myName2--CP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao2
Loading

If you want to do not display the whole file to reduce complexity, you can add a record 'target'. It will display recursively every records connected to this record.

> poetry run dryed tests/misc/example2.template /tmp/my_output_example2.txt -r PREFIX_ao2
> cat /tmp/my_output_example2.txt
flowchart
        classDef target fill:#084
        PREFIX_myName2--CP-->PREFIX_name3
        PREFIX_ao2:::target -->PREFIX_name3
        PREFIX_myName2--CP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao2:::target 

Resulting in Following Mermaid chart

flowchart
        classDef target fill:#084
        PREFIX_myName2--CP-->PREFIX_name3
        PREFIX_ao2:::target -->PREFIX_name3
        PREFIX_myName2--CP-->PREFIX_asub2
        PREFIX_asub2-->PREFIX_ao2:::target 
Loading
⚠️ Mermaid syntax authorize few non-alphanumericalcharacter, thats why $(PREFIX):ao result in PREFIX_ao

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages