Skip to content
  • Tiago Peixoto's avatar
    Complete overhaul of command line parsing, and support for loading graph-tool... · cb61cc74
    Tiago Peixoto authored
    Complete overhaul of command line parsing, and support for loading graph-tool as whole as a python module
        
    The command line parsing was completely rewritten. It now supports
    better parsing of sub-options, with type checking and grouping
    support. Error reporting was also significantly improved, and it now
    warns of invalid options and option values, before the option is
    executed. Some syntax has changed, such as range filtering:
    --[vertex|edge]-range-filter was replaced by
    --exclude-[vertex|edge]-range and --keep-[vertex|edge]-range, which
    should have a clearer meaning. Ranges can also be specified now by
    comparison operators (>,<,>=,<=,=), such as ">=10", to indicate a
    range of (10, inf). In addition, ranges can now be easily open or
    closed at either end, by suffixing the specific end with '*', to
    indicate it is closed, ex: "10 700*" means (10,700].
        
    The graph-tool script can now be loaded as a python module (it must be
    renamed first to 'something.py'). All the command line options (except
    'for' and 'history' which become irrelevant) are available as
    functions, with full description and optional parameter support. In
    addition, pure function objects can be given as parameters where
    expressions are asked, instead of strings and files, which enables
    convenient extension of graph-tool.
    cb61cc74