Skip to content

Pipeline configurations generated from CHAPbook #2

@keara-soloway

Description

@keara-soloway

I think there are 2 small bugs in generating CHAP configurations from the notebook:

CHAPaaS/chap.go

Lines 179 to 194 in 99dabf2

func genChapConfig(user, module, reader, writer string) string {
config := "pipeline:\n"
reader = strings.ToLower(reader)
writer = strings.ToLower(writer)
if reader == "yaml" {
config += " - common.YAMLReader: {}"
} else if reader == "nexus" {
config += " - common.NexuReader: {}"
}
//config += " - UserProcessor: {}\n - common.PrintProcessor: {}"
config += fmt.Sprintf(" - users.%s.%s.UserProcessor: {}\n", user, module)
config += " - common.PrintProcessor: {}\n"
if writer == "yaml" {
config += " - common.YAMLWriter: {}"
} else if writer == "nexus" {
config += " - common.NexuWriter: {}"

Missing \n-s on L184, L186, L192, and L194, and NexusReader is missing an "s" on L186 and L194.

Here's what I see in CHAPbook: if I select a YAMLReader, put some code in the notebook for the UserProcessor, then click "Run", the output is this:

pipeline:
  - common.YAMLReader: {}  - users.keara-soloway.userprocessor.UserProcessor: {}
  - common.PrintProcessor: {}
run non-profiled code
Traceback (most recent call last):
  File "/home/chess_chapaas/chess/install/bin/CHAP", line 33, in 
    sys.exit(load_entry_point('ChessAnalysisPipeline===PACKAGE-VERSION', 'console_scripts', 'CHAP')())
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/CHAP/runner.py", line 53, in main
    runner(opts)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/CHAP/runner.py", line 67, in runner
    config = safe_load(file)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/__init__.py", line 125, in safe_load
    return load(stream, SafeLoader)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/__init__.py", line 81, in load
    return loader.get_single_data()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/constructor.py", line 49, in get_single_data
    node = self.get_single_node()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 36, in get_single_node
    document = self.compose_document()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 55, in compose_document
    node = self.compose_node(None, None)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 133, in compose_mapping_node
    item_value = self.compose_node(node, item_key)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 82, in compose_node
    node = self.compose_sequence_node(anchor)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 111, in compose_sequence_node
    node.value.append(self.compose_node(node, index))
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 84, in compose_node
    node = self.compose_mapping_node(anchor)
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/composer.py", line 127, in compose_mapping_node
    while not self.check_event(MappingEndEvent):
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/parser.py", line 428, in parse_block_mapping_key
    if self.check_token(KeyToken):
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/scanner.py", line 116, in check_token
    self.fetch_more_tokens()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/scanner.py", line 215, in fetch_more_tokens
    return self.fetch_block_entry()
  File "/home/chess_chapaas/chess/venv/lib64/python3.9/site-packages/yaml/scanner.py", line 491, in fetch_block_entry
    raise ScannerError(None, None,
yaml.scanner.ScannerError: sequence entries are not allowed here
  in "/home/chess_chapaas/chess/chap/users/keara-soloway/chap.yaml", line 2, column 28

(and similar for NexusReader).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions