COMPAROOB(1)

NAME
comparoob - compare products

SYNOPSIS
comparoob [-dqv] [-b backends] [-cnfs] [command [arguments..]]
comparoob [--help] [--version]

DESCRIPTION

Console application to compare products.

  Supported websites:
* lacentrale (Vehicule prices at LaCentrale.fr)
* prixcarburants (French governement website to compare fuel prices)

COMPAROOB COMMANDS

debug
    Launch a debug Python shell

info ID
    Get information about a product.

prices [PATTERN]
    Display prices for a product. If a pattern is supplied, do not prompt
    what product to compare.
    Default is limited to 10 results.

WEBOOB COMMANDS

backends [ACTION] [BACKEND_NAME]...
    Select used backends.
    ACTION is one of the following (default: list):
    * enable enable given backends
    * disable disable given backends
    * only enable given backends and disable the others
    * list list backends
    * add add a backend
    * register register a new account on a website
    * edit edit a backend
    * remove remove a backend
    * list-modules list modules

cd [PATH]
    Follow a path.
    ".." is a special case and goes up one directory.
    "" is a special case and goes home.

condition [EXPRESSION | off]
    If an argument is given, set the condition expression used to filter the results. See CONDITION section for more details and the expression.
    If the "off" value is given, conditional filtering is disabled.
    If no argument is given, print the current condition expression.

count [NUMBER | off]
    If an argument is given, set the maximum number of results fetched.
    NUMBER must be at least 1.
    "off" value disables counting, and allows infinite searches.
    If no argument is given, print the current count value.

formatter [list | FORMATTER [COMMAND] | option OPTION_NAME [on | off]]
    If a FORMATTER is given, set the formatter to use.
    You can add a COMMAND to apply the formatter change only to
    a given command.
    If the argument is "list", print the available formatters.
    If the argument is "option", set the formatter options.
    Valid options are: header, keys.
    If on/off value is given, set the value of the option.
    If not, print the current value for the option.
    If no argument is given, print the current formatter.

logging [LEVEL]
    Set logging level.
    Availables: debug, info, warning, error.
    * quiet is an alias for error
    * default is an alias for warning

ls [-d] [-U] [PATH]
    List objects in current path.
    If an argument is given, list the specified path.
    Use -U option to not sort results. It allows you to use a "fast path" to
    return results as soon as possible.
    Use -d option to display information about a collection (and to not
    display the content of it). It has the same behavior than the well
    known UNIX "ls" command.
    Default is limited to 40 results.

quit
    Quit the application.

select [FIELD_NAME]... | "$direct" | "$full"
    If an argument is given, set the selected fields.
    $direct selects all fields loaded in one http request.
    $full selects all fields using as much http requests as necessary.
    If no argument is given, print the currently selected fields.

OPTIONS

--version
    show program's version number and exit

-h, --help
    show this help message and exit

-b BACKENDS, --backends=BACKENDS
    what backend(s) to enable (comma separated)

-e EXCLUDE_BACKENDS, --exclude-backends=EXCLUDE_BACKENDS
    what backend(s) to exclude (comma separated)

-I, --insecure
    do not validate SSL

--nss
    Use NSS instead of OpenSSL

--auto-update
    Automatically check for updates when a bug in a module is encountered

LOGGING OPTIONS

-d, --debug
    display debug messages. Set up it twice to more verbosity

-q, --quiet
    display only error messages

-v, --verbose
    display info messages

--logging-file=LOGGING_FILE
    file to save logs

-a, --save-responses
    save every response

--export-session
    log browser session cookies after login

RESULTS OPTIONS

-c CONDITION, --condition=CONDITION
    filter result items to display given a boolean expression. See CONDITION section for the syntax

-n COUNT, --count=COUNT
    limit number of results (from each backends)

-s SELECT, --select=SELECT
    select result item keys to display (comma separated)

FORMATTING OPTIONS

-f FORMATTER, --formatter=FORMATTER
    select output formatter (csv, htmltable, json, json_line, multiline, price, prices, simple, table, webkit)

--no-header
    do not display header

--no-keys
    do not display item keys

-O OUTFILE, --outfile=OUTFILE
    file to export result

CONDITION
The -c and --condition is a flexible way to filter and get only interesting results. It supports conditions on numerical values, dates, durations and strings. Dates are given in YYYY-MM-DD or YYYY-MM-DD HH:MM format. Durations look like XhYmZs where X, Y and Z are integers. Any of them may be omitted. For instance, YmZs, XhZs or Ym are accepted. The syntax of one expression is "field operator value". The field to test is always the left member of the expression.

The field is a member of the objects returned by the command. For example, a bank account has "balance", "coming" or "label" fields.

  The following operators are supported:

=   Test if object.field is equal to the value.

!=  Test if object.field is not equal to the value.

>   Test if object.field is greater than the value. If object.field is date, return true if value is before that object.field.

<   Test if object.field is less than the value. If object.field is date, return true if value is after that object.field.

|   This operator is available only for string fields. It works like the Unix standard grep command, and returns True if the pattern specified in the value is in object.field.

  Expression combination

You can make a expression combinations with the keywords " AND ", " OR " an " LIMIT ".

The LIMIT keyword can be used to limit the number of items upon which running the expression. LIMIT can only be placed at the end of the expression followed by the number of elements you want.

  Examples:
boobank ls --condition 'label=Livret A'
Display only the "Livret A" account.

boobank ls --condition 'balance>10000'
Display accounts with a lot of money.

boobank history account@backend --condition 'label|rewe'
Get transactions containing "rewe".

boobank history account@backend --condition 'date>2013-12-01 AND date<2013-12-09'
Get transactions betweens the 2th December and 8th December 2013.

boobank history account@backend --condition 'date>2013-12-01 LIMIT 10'
Get transactions after the 2th December in the last 10 transactions

COPYRIGHT
Copyright(C) 2012-2020 Romain Bignon

For full copyright information see the COPYING file in the weboob package.

FILES
"~/.config/weboob/backends"

SEE ALSO
Home page: http://weboob.org/applications/comparoob