Skip to main content

Otter - The Odoo time tracker

Project description

Otter - The Odoo time tracker

PyPI version Latest Release .github/workflows/ci.yaml License PRs Welcome

Note: This project is still in an early development stage!

Installation and upgrade

Installation and upgrade can simply be done with Pip:

pip install odoo-otter --upgrade

Alternatively, you can download one of the prebuilt standalone binaries from the latest releases and put it into your system's path.

After installation or upgrade, check the installation with:

otter -v

Usage

Help

The help can be accesses with the following command:

otter -h

Configure connection to Odoo

When using Otter for the first time, you need to configure the connection to Odoo and your Otter:

otter config

Follow the instructions on the screen. Enter the Odoo URL, select a database from the list and select the number of recent projects you want to get displayed. If all data was entered correctly, you can now login to Odoo.

Login to Odoo

When using Otter for the first time or when your Odoo session expired, login to Odoo:

otter login

Follow the instructions on the screen; enter your username and your password. If all data was entered correctly, you are logged in to Odoo and your session will stored locally (your password will not be stored!).

NOTE: Currently, the login is only valid for about a week.

Logout from Odoo

Use the following command to logout from Odoo. This will delete your locally stored session.

otter logout

Sync from and to Odoo

Before you can start using Otter, you will need to sync the remote Odoo projects and tasks to the local Otter database:

otter sync

This is also the command to use whenever you want to sync your local time tracking records to Odoo. By default, Otter will only sync the local records up to the last day ('yesterday'). This prevents you from accidentally syncing records that you are still going work on on the current work day. Sometimes - for example at the end of a week or a month - you also want to sync your records of the current work day. This can be done by providing the date option with the value TODAY like this:

otter sync --date TODAY

Tracking your work time

The strength of Otter is to switch between many project tasks throughout a work day without having to add a work description every time. Otter will concatenate all work descriptions belonging to the same project task and the same work day when performing the sync to Odoo automatically. And it will also automatically adjust the work time to 15 minutes blocks (note that very short tasks below 15 minutes might be dropped by that automatic adjustment).

To start working on a project task, just run the following command and follow the instructions.

otter start

While a project task is active, you can always add a description for your current work.

otter describe "[TICKET-123] Implement functionality and tests"

To see whether a project task is currently active, run the following command:

otter status

And to stop your work, just run:

otter stop

Sometimes you might forget to start or stop a task in time. You can fix that by passing the time option to either the start or stop command with the following argument format:

  • "HH:MM" (for current day)
  • "YYYY-MM-DD HH:MM" (for a fixed date)

Example:

otter start --time "12:15"

In order to see the overall worktime for the current day, run:

otter show

You can also pass the date option with the following argument format:

  • "YYYY-MM-DD"

Example:

otter show --date 2021-10-01

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

odoo-otter-0.1.0.tar.gz (13.1 kB view hashes)

Uploaded Source

Built Distribution

odoo_otter-0.1.0-py3-none-any.whl (21.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page