comparoob(1) compare products


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


Console application to compare products.

Supported websites:

* lacentrale (Vehicule prices at
* prixcarburants (French governement website to compare fuel prices)


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.


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
know UNIX "ls" command.

Default is limited to 40 results.


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.


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)
what backend(s) to exclude (comma separated)
-I, --insecure
do not validate SSL


-d, --debug
display debug messages. Set up it twice to more verbosity
-q, --quiet
display only error messages
-v, --verbose
display info messages
file to save logs
-a, --save-responses
save every response


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)


select output formatter (csv, htmltable, json, json_line, multiline, price, prices, simple, table, webkit)
do not display header
do not display item keys
file to export result


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.


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 [email protected] --condition 'label|rewe'
Get transactions containing "rewe".

boobank history [email protected] --condition 'date>2013-12-01 AND date<2013-12-09'
Get transactions betweens the 2th December and 8th December 2013.

boobank history [email protected] --condition 'date>2013-12-01  LIMIT 10'
Get transactions after the 2th December in the last 10 transactions


Copyright(C) 2012-2016 Romain Bignon

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