Passed
Pull Request — master (#566)
by Konstantin
01:50
created

ocrd.cli.wf   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 16
dl 0
loc 40
rs 10
c 0
b 0
f 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A wf_cli() 0 3 1
A validate_workspace() 0 8 1
1
# import os
2
# from os.path import relpath, exists, join, isabs
3
# from pathlib import Path
4
# import sys
5
# from glob import glob   # XXX pathlib.Path.glob does not support absolute globs
6
import io
7
import re
8
9
import click
10
11
from ocrd import Resolver, Workspace, WorkspaceValidator, WorkspaceBackupManager
12
from ocrd_validators import OcrdWfValidator
13
from ocrd_models import OcrdWf, OcrdWfStep
14
from ocrd_utils import getLogger, pushd_popd, EXT_TO_MIME
15
16
log = getLogger('ocrd.cli.wf')
17
18
# ----------------------------------------------------------------------
19
# ocrd wf
20
# ----------------------------------------------------------------------
21
22
@click.group("wf")
23
def wf_cli():
24
    """
25
    Working with OCRD-WF workflows
26
    """
27
28
# ----------------------------------------------------------------------
29
# ocrd wf is-well-formed WF_FILE
30
# ----------------------------------------------------------------------
31
32
@wf_cli.command('is-well-formed')
33
@click.argument('wf_file', required=True, type=click.File('r'))
34
def validate_workspace(wf_file):
35
    """
36
    Try to parse an OCRD-WF workflow.
37
    """
38
    OcrdWf.parse(wf_file.read())
39
    print("ok - well-formed")
40
41