Skip to content
Commits on Source (4)
Weboob is a free software written by:
Woob is a free software written by:
Romain Bignon <romain@weboob.org>
* Core team;
......
......@@ -12,7 +12,7 @@ then
dossier=$1
else
echo "Usage: $0 FOLDER"
echo "For example : $0 /tmp/weboob_session_NLSIls/freemobile/"
echo "For example : $0 /tmp/woob_session_NLSIls/freemobile/"
exit 1
fi
......
Weboob
Woob
==========
Weboob is a project which provides a core library, modules and applications
Woob is a project which provides a core library, modules and applications
such as boobank.
Overview
......@@ -20,9 +20,9 @@ in a multi-threaded way.
The core library provides base classes which help developers write
modules and applications.
Weboob is written in Python and is distributed under the LGPLv3+ license.
Woob is written in Python and is distributed under the LGPLv3+ license.
For more information, please go to the official website at http://weboob.org/
For more information, please go to the official website at http://woob.tech/
##Installation
......@@ -49,7 +49,7 @@ depending on your Ubuntu Version. Or put it in `~/.config/openbox/autostart`
###Dependencies
- weboob >= 1.0
- woob >= 1.0
- gir1.2-appindicator3 >= 0.1
- gir1.2-notify >= 0.7
......@@ -58,7 +58,7 @@ depending on your Ubuntu Version. Or put it in `~/.config/openbox/autostart`
If the app indicator fails to show in Ubuntu versions, consider installing
python-appindicator with
`sudo apt-get install python-appindicator` weboob gir1.2-appindicator3 gir1.2-notify`
`sudo apt-get install python-appindicator` woob gir1.2-appindicator3 gir1.2-notify`
##Author Information
- Bezleputh (<bezleputh@gmail.com>)
......@@ -5,8 +5,8 @@
version='2.1',
description='show your bank accounts in your System Tray',
long_description='boobank_indicator will show you bank accounts and associated transactions in your system tray. Your bank accounts should be configured in boobank',
keywords='weboob boobank tray icon',
url='http://weboob.org/',
keywords='woob bank tray icon',
url='http://woob.tech/',
license='GNU LGPL 3',
author='Bezleputh',
author_email='bezleputh@gmail.com',
......
......@@ -4,20 +4,20 @@
# Copyright(C) 2010-2011 Romain Bignon
#
# This file is part of weboob.
# This file is part of woob.
#
# weboob is free software: you can redistribute it and/or modify
# woob is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# weboob is distributed in the hope that it will be useful,
# woob is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
# along with woob. If not, see <http://www.gnu.org/licenses/>.
from __future__ import print_function
......
......@@ -182,7 +182,7 @@ sub fetch {
}
}
}
# execute weboob
# execute woob
open my $data, q(-|), $weboob or croak "Couldn't execute program: $ERRNO";
my @lines = <$data>;
close $data or carp "unable to close: $ERRNO";
......
......@@ -25,16 +25,16 @@
### Configuration ###
## Mandatory options ##
# env.capa: The Weboob capability to load
# env.capa: The Woob capability to load
# Example: env.capa CapBank
#
# env.do: The Weboob command to call. It can take more than one argument.
# env.do: The Woob command to call. It can take more than one argument.
# With two argument, the second is used as parameter for the command.
# The third is used to restrict backends.
# Example: env.do get_balance
#
# env.import: The import line to import the capabilities
# Example: from weboob.capabilities.bank import CapBank
# Example: from woob.capabilities.bank import CapBank
#
# env.attribvalue: The attribut name of objects returned by the do command.
# For example, the "balance" member of Account objects
......
......@@ -15,7 +15,7 @@
_module = bnporc
website = pp
login = 123456
password = `pass show weboob/bnporc21/password`
password = `pass show woob/bnporc21/password`
"""
from __future__ import print_function
......@@ -29,7 +29,7 @@
SECRET_KEYWORDS = ('password', 'secret')
FILE = os.getenv('WEBOOB_BACKENDS') or os.path.expanduser('~/.config/weboob/backends')
FILE = os.getenv('WOOB_BACKENDS') or os.path.expanduser('~/.config/woob/backends')
if not os.path.exists(FILE):
print('the backends file does not exist')
......@@ -54,12 +54,12 @@
mtc = re.match(regex, line)
if mtc and not mtc.group(2).startswith('`'):
cmd = ['pass', 'insert', 'weboob/%s/%s' % (backend, mtc.group(1))]
cmd = ['pass', 'insert', 'woob/%s/%s' % (backend, mtc.group(1))]
stdin = 2 * ('%s\n' % mtc.group(2))
proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
proc.communicate(stdin.encode('utf-8'))
if proc.returncode == 0:
print('%s = `pass show weboob/%s/%s`' % (mtc.group(1), backend, mtc.group(1)), file=outp)
print('%s = `pass show woob/%s/%s`' % (mtc.group(1), backend, mtc.group(1)), file=outp)
continue
else:
errors += 1
......
Weboob session importer
=======================
Woob session importer
=====================
This is a webextension to export a weboob session URL and cookies and load it in
This is a webextension to export a woob session URL and cookies and load it in
a real browser.
Build
......@@ -16,7 +16,7 @@ To build a package, `web-ext build` can be used.
Use
---
To export the session with weboob-debug for example:
To export the session with woob-debug for example:
>>> print(json.dumps(browser.export_session()))
......@@ -24,5 +24,5 @@ Copy the JSON output (sample):
{"url": "https://example.com/foo", "cookies": [{"name": "foo", "value": "bar"}]}
Then click on the Weboob toolbar button of your browser and paste the JSON.
The browser will set the cookies from weboob and go to the same URL.
Then click on the Woob toolbar button of your browser and paste the JSON.
The browser will set the cookies from woob and go to the same URL.
{
"manifest_version": 2,
"name": "Weboob session importer",
"name": "Woob session importer",
"version": "0.0.1",
"description": "Import Weboob session URL and cookies",
"homepage_url": "http://weboob.org",
"description": "Import Woob session URL and cookies",
"homepage_url": "http://woob.tech",
"icons": {
"48": "logo.png"
......@@ -19,7 +19,7 @@
"browser_action": {
"browser_style": true,
"default_icon": "logo.png",
"default_title": "Import Weboob session",
"default_title": "Import Woob session",
"default_popup": "popup.html"
}
}
.\" -*- coding: utf-8 -*-
.\" This file was generated automatically by tools/make_man.sh.
.TH WOOB-ATHON 1 "03 March 2021" "woob-athon 2\&.1"
.SH NAME
woob-athon \- participate in a Woobathon
.SH SYNOPSIS
.B woob\-athon
[\-dqv] [\-b \fIbackends\fR] [\-cnfs] \fIwoobathon\fR
.br
.B woob\-athon
[\-\-help] [\-\-version]
.SH DESCRIPTION
.LP
Console application to participate to a Woobathon.
.SS Supported websites:
* dlfp (Da Linux French Page news website)
.br
* mediawiki (Wikis running MediaWiki, like Wikipedia)
.br
* redmine (The Redmine project management web application)
.SH WOOB\-ATHON COMMANDS
.TP
\fBaddtask\fR \fIBACKEND\fR \fICAPABILITY\fR
.br
Add a new task.
.TP
\fBcancel\fR
.br
Cancel the current task.
.TP
\fBclose\fR \fIWINNER\fR
.br
Close the event and set the winner.
.TP
\fBdebug\fR
.br
Launch a debug Python shell
.TP
\fBdone\fR
.br
Set the current task as done.
.TP
\fBedit\fR [event | me]
.br
Edit information about you or about event.
.TP
\fBinfo\fR
.br
Display information about this event.
.TP
\fBjoin\fR
.br
Join this event.
.TP
\fBleave\fR
.br
Leave this event.
.TP
\fBmembers\fR
.br
Display members information.
.TP
\fBprogress\fR
.br
Display progress of members.
.TP
\fBremtask\fR \fITASK_ID\fR
.br
Remove a task.
.TP
\fBstart\fR [\fITASK_ID\fR]
.br
Start a task. If you don't give a task ID, the first available
.br
task will be taken.
.TP
\fBtasks\fR
.br
Display all tasks of members.
.SH WOOB COMMANDS
.TP
\fBbackends\fR [\fIACTION\fR] [\fIBACKEND_NAME\fR]...
.br
Select used backends.
.br
.br
ACTION is one of the following (default: list):
.br
* enable enable given backends
.br
* disable disable given backends
.br
* only enable given backends and disable the others
.br
* list list backends
.br
* add add a backend
.br
* register register a new account on a website
.br
* edit edit a backend
.br
* remove remove a backend
.br
* list\-modules list modules
.TP
\fBcd\fR [\fIPATH\fR]
.br
Follow a path.
.br
".." is a special case and goes up one directory.
.br
"" is a special case and goes home.
.TP
\fBcondition\fR [\fIEXPRESSION\fR | off]
.br
If an argument is given, set the condition expression used to filter the results. See CONDITION section for more details and the expression.
.br
If the "off" value is given, conditional filtering is disabled.
.br
.br
If no argument is given, print the current condition expression.
.TP
\fBcount\fR [\fINUMBER\fR | off]
.br
If an argument is given, set the maximum number of results fetched.
.br
NUMBER must be at least 1.
.br
"off" value disables counting, and allows infinite searches.
.br
.br
If no argument is given, print the current count value.
.TP
\fBformatter\fR [list | \fIFORMATTER\fR [\fICOMMAND\fR] | option \fIOPTION_NAME\fR [on | off]]
.br
If a FORMATTER is given, set the formatter to use.
.br
You can add a COMMAND to apply the formatter change only to
.br
a given command.
.br
.br
If the argument is "list", print the available formatters.
.br
.br
If the argument is "option", set the formatter options.
.br
Valid options are: header, keys.
.br
If on/off value is given, set the value of the option.
.br
If not, print the current value for the option.
.br
.br
If no argument is given, print the current formatter.
.TP
\fBlogging\fR [\fILEVEL\fR]
.br
Set logging level.
.br
.br
Availables: debug, info, warning, error.
.br
* quiet is an alias for error
.br
* default is an alias for warning
.TP
\fBls\fR [\-d] [\-\fIU\fR] [\fIPATH\fR]
.br
List objects in current path.
.br
If an argument is given, list the specified path.
.br
Use \-U option to not sort results. It allows you to use a "fast path" to
.br
return results as soon as possible.
.br
Use \-d option to display information about a collection (and to not
.br
display the content of it). It has the same behavior than the well
.br
known UNIX "ls" command.
.br
.br
Default is limited to 40 results.
.TP
\fBquit\fR
.br
Quit the application.
.TP
\fBselect\fR [\fIFIELD_NAME\fR]... | "$direct" | "$full"
.br
If an argument is given, set the selected fields.
.br
$direct selects all fields loaded in one http request.
.br
$full selects all fields using as much http requests as necessary.
.br
.br
If no argument is given, print the currently selected fields.
.SH OPTIONS
.TP
\fB\-\-version\fR
show program's version number and exit
.TP
\fB\-h\fR, \fB\-\-help\fR
show this help message and exit
.TP
\fB\-b BACKENDS\fR, \fB\-\-backends=BACKENDS\fR
what backend(s) to enable (comma separated)
.TP
\fB\-e EXCLUDE_BACKENDS\fR, \fB\-\-exclude\-backends=EXCLUDE_BACKENDS\fR
what backend(s) to exclude (comma separated)
.TP
\fB\-I\fR, \fB\-\-insecure\fR
do not validate SSL
.TP
\fB\-\-nss\fR
Use NSS instead of OpenSSL
.TP
\fB\-\-auto\-update\fR
Automatically check for updates when a bug in a module is encountered
.SH LOGGING OPTIONS
.TP
\fB\-d\fR, \fB\-\-debug\fR
display debug messages. Set up it twice to more verbosity
.TP
\fB\-q\fR, \fB\-\-quiet\fR
display only error messages
.TP
\fB\-v\fR, \fB\-\-verbose\fR
display info messages
.TP
\fB\-\-logging\-file=LOGGING_FILE\fR
file to save logs
.TP
\fB\-a\fR, \fB\-\-save\-responses\fR
save every response
.TP
\fB\-\-export\-session\fR
log browser session cookies after login
.SH RESULTS OPTIONS
.TP
\fB\-c CONDITION\fR, \fB\-\-condition=CONDITION\fR
filter result items to display given a boolean expression. See CONDITION section
for the syntax
.TP
\fB\-n COUNT\fR, \fB\-\-count=COUNT\fR
limit number of results (from each backends)
.TP
\fB\-s SELECT\fR, \fB\-\-select=SELECT\fR
select result item keys to display (comma separated)
.SH FORMATTING OPTIONS
.TP
\fB\-f FORMATTER\fR, \fB\-\-formatter=FORMATTER\fR
select output formatter (csv, htmltable, json, json_line, multiline, simple,
table, webkit)
.TP
\fB\-\-no\-header\fR
do not display header
.TP
\fB\-\-no\-keys\fR
do not display item keys
.TP
\fB\-O OUTFILE\fR, \fB\-\-outfile=OUTFILE\fR
file to export result
.SH 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 "\fBfield operator value\fR". The field to test is always the left member of the expression.
.LP
The field is a member of the objects returned by the command. For example, a bank account has "balance", "coming" or "label" fields.
.SS The following operators are supported:
.TP
=
Test if object.field is equal to the value.
.TP
!=
Test if object.field is not equal to the value.
.TP
>
Test if object.field is greater than the value. If object.field is date, return true if value is before that object.field.
.TP
<
Test if object.field is less than the value. If object.field is date, return true if value is after that object.field.
.TP
|
This operator is available only for string fields. It works like the Unix standard \fBgrep\fR command, and returns True if the pattern specified in the value is in object.field.
.SS Expression combination
.LP
You can make a expression combinations with the keywords \fB" AND "\fR, \fB" OR "\fR an \fB" LIMIT "\fR.
.LP
The \fBLIMIT\fR keyword can be used to limit the number of items upon which running the expression. \fBLIMIT\fR can only be placed at the end of the expression followed by the number of elements you want.
.SS Examples:
.nf
.B boobank ls \-\-condition 'label=Livret A'
.fi
Display only the "Livret A" account.
.PP
.nf
.B boobank ls \-\-condition 'balance>10000'
.fi
Display accounts with a lot of money.
.PP
.nf
.B boobank history account@backend \-\-condition 'label|rewe'
.fi
Get transactions containing "rewe".
.PP
.nf
.B boobank history account@backend \-\-condition 'date>2013\-12\-01 AND date<2013\-12\-09'
.fi
Get transactions betweens the 2th December and 8th December 2013.
.PP
.nf
.B boobank history account@backend \-\-condition 'date>2013\-12\-01 LIMIT 10'
.fi
Get transactions after the 2th December in the last 10 transactions
.SH COPYRIGHT
Copyright(C) 2011-2021 Romain Bignon
.LP
For full copyright information see the COPYING file in the woob package.
.LP
.RE
.SH FILES
"~/.config/woob/backends"
.SH SEE ALSO
Home page: http://woob.tech/applications/woob-athon
# [weboob-kiwibank](https://github.com/infertux/weboob-kiwibank)
[Kiwibank](http://www.kiwibank.co.nz/) module for the [Weboob](http://weboob.org/) project
[Kiwibank](http://www.kiwibank.co.nz/) module for the [Woob](http://woob.tech/) project
......@@ -29,8 +29,8 @@
from woob import __version__
WEBOOB_MODULES = os.getenv(
'WEBOOB_MODULES',
WOOB_MODULES = os.getenv(
'WOOB_MODULES',
os.path.realpath(os.path.join(os.path.dirname(__file__), '../../modules')))
BOILERPLATE_PATH = os.getenv(
'BOILERPLATE_PATH',
......@@ -68,7 +68,7 @@ def __init__(self, args):
self.login = False
def write(self, filename, contents):
return write(os.path.join(WEBOOB_MODULES, self.name, filename), contents)
return write(os.path.join(WOOB_MODULES, self.name, filename), contents)
def template(self, name, **kwargs):
if '.' not in name:
......
......@@ -25,7 +25,7 @@
import traceback
import lxml.etree
from weboob.browser.filters import standard
from woob.browser.filters import standard
class Error(SyntaxError):
......@@ -141,7 +141,7 @@ def search_py(root):
parser.add_argument('-w', '--warnings', action='store_true')
args = parser.parse_args()
modpath = os.getenv('WEBOOB_MODULES', os.path.normpath(os.path.dirname(__file__) + '/../modules'))
modpath = os.getenv('WOOB_MODULES', os.path.normpath(os.path.dirname(__file__) + '/../modules'))
for fn in search_py(modpath):
with open(fn) as fd:
try:
......
......@@ -23,7 +23,7 @@ def write_request(entry, fd):
if 'postData' in entry:
if entry['postData'].get('x-binary'):
# non-standard key emitted by weboob
# non-standard key emitted by woob
body = entry['postData']['text'].encode('latin-1')
else:
body = entry['postData']['text'].encode()
......
......@@ -30,7 +30,7 @@
from datetime import datetime
from textwrap import dedent
from weboob.tools.application.base import Application
from woob.tools.application.base import Application
BASE_PATH = os.path.join(os.path.dirname(__file__), os.pardir)
DEST_DIR = 'man'
......@@ -106,7 +106,7 @@ def format_option_strings(self, option):
def main():
# TODO rename when apps have changed folder
scripts_path = os.path.join(BASE_PATH, 'weboob', 'applications')
scripts_path = os.path.join(BASE_PATH, 'woob', 'applications')
files = sorted(os.listdir(scripts_path))
completions = dict()
......
......@@ -2,10 +2,10 @@
# -*- coding: utf-8 -*-
"""
Script to format XUNIT output from unittests as a JSON string ready to be sent
to a [Weboob-CI](https://github.com/Phyks/weboob-ci) instance.
to a [Woob-CI](https://github.com/Phyks/weboob-ci) instance.
* `XUNIT` is the XUNIT file to handle.
* `ORIGIN` is an origin string as described in the Weboob-CI documentation
* `ORIGIN` is an origin string as described in the Woob-CI documentation
(basically just a string to identify the source of the unittests results).
"""
from __future__ import print_function
......@@ -23,7 +23,7 @@ def main(xunit, origin):
modules = {}
other_testcases = []
for tc in ts:
if tc.classname.startswith("weboob."):
if tc.classname.startswith("woob."):
other_testcases.append(repr(tc))
continue
module = tc.classname.split(".")[0]
......
......@@ -75,10 +75,10 @@ if [ ! -n "${XUNIT_OUT}" ]; then
XUNIT_OUT=""
fi
# Handle Weboob-CI variables
# Handle Woob-CI variables
if [ -n "${WOOB_CI_TARGET}" ]; then
if [ ! -n "${WOOB_CI_ORIGIN}" ]; then
WOOB_CI_ORIGIN="Weboob unittests run"
WOOB_CI_ORIGIN="Woob unittests run"
fi
# Set up xunit reporting
XUNIT_OUT="${WOOB_TMPDIR}/xunit.xml"
......@@ -127,7 +127,7 @@ if [ -n "${BACKEND}" ]; then
STATUS=$?
else
if [ $TEST_CORE = 1 ]; then
echo "=== Weboob ==="
echo "=== Woob ==="
CORE_TESTS=$(mktemp)
${PYTHON} -m nose --cover-package woob -c ${WOOB_DIR}/setup.cfg --logging-level=DEBUG -sv 2>&1 | tee "${CORE_TESTS}"
STATUS_CORE=$?
......
import weboob.tools.captcha.virtkeyboard as OLD
import woob.tools.captcha.virtkeyboard as OLD
# can't import *, __all__ is incomplete...
for attr in dir(OLD):
......@@ -31,7 +31,7 @@ class SimpleVirtualKeyboard(object):
(x0, y0, x1, y1) on grid image from left to right and top to
down, European reading way. It's not symbols in the image.
:type matching_symbols_coords: dict[str:4-tuple(int)]
:param browser: Browser of weboob session.
:param browser: Browser of woob session.
Allow to dump tiles files in same directory than session folder
:type browser: obj(Browser)
......@@ -81,7 +81,7 @@ def build_path(self, browser=None):
if browser and browser.responses_dirname:
return browser.responses_dirname
else:
return tempfile.mkdtemp(prefix='weboob_session_')
return tempfile.mkdtemp(prefix='woob_session_')
def load_image(self, file, margin=None, convert=None):
self.image = Image.open(file)
......
......@@ -5,7 +5,7 @@
import os
import sys
from weboob.core import Woob
from woob.core import Woob
# Hint: use this script with file:///path/to/local/modules/ in sources.list
# if you want to correctly check all modules.
......