Skip to main content

Make your Odoo scripts sing.

Project description

https://travis-ci.org/camptocamp/anthem.svg?branch=master

Anthem is a tool to help scripting Odoo instances for automated setup, upgrades, testing and more.

It should be an alternative to the other tools like oerpscenario.

Make your own songs

Writing your songs is as easy as creating a Python Package. The songs functions called by anthem must have a positional ctx argument.

## songs/install.py

def setup_company(ctx):
    """ Setup company """
    company = ctx.env.ref('base.main_company')
    company.name = 'My Company'


def main(ctx):
    setup_company(ctx)

Execute your songs

Use the command line anthem. Provided your songs and openerp are in the PYTHONPATH:

anthem songs.install::main -c path/to/openerp.cfg

Anthem will execute the function main of the module songs.install with a ctx initialized with an Odoo env.

Instead of using -c for the command line, you can export the environment variable OPENERP_SERVER with the path of the configuration file.

export OPENERP_SERVER=path/to/openerp.cfg
anthem songs.install::main

In order to have openerp in the PYTHONPATH, you might install it as a package with pip install -e or directly modify the PYTHONPATH.

In order to have your songs in the PYTHONPATH, the better is to make a Python package out of them.

Run the tests

To run anthem’s tests, it is a good idea to to an editable install of it in a virtualenv, and then intall and run pytest as follows:

% git clone https://github.com/camptocamp/anthem.git
Cloning into 'anthem'...
% cd anthem
% python2 -m virtualenv env
% source env/bin/activate
% pip install -e .
% pip install pytest
% py.test

Release History

Unreleased

0.2.0 (2016-07-22)

Features

  • Ability to log descriptions and timings in songs with the context manager Context.log and the decorator anthem.log.

    from anthem import log
    
    @log
    def setup_company(ctx):
        """ Setup company """
        # do stuff
        with ctx.log('other stuff'):
            # do other stuff
    
    @log
    def load_data(ctx):
        """ Load data """
        # load
    
    @log
    def main(ctx):
        setup_company(ctx)
        load_data(ctx)

    If we run anthem on main, we will get:

    running... main
       running... Setup company
          running... other stuff
          other stuff: 0.850s
       Setup company: 1.100s
       running... Load data
       Load data: 2.900s
    main: 4.000s

0.1.3 (2016-07-07)

Fixes

  • Correct lyric to create or update a record

0.1.2 (2016-07-07)

  • Add a lyric to create a xmlid

  • Add a lyric to create or update a record

0.1.1 (2016-06-23)

  • Fixed crash on non-editable install.

0.1.0 (2016-06-23)

Initial release.

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

anthem-0.2.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

anthem-0.2.0-py2-none-any.whl (9.4 kB view details)

Uploaded Python 2

File details

Details for the file anthem-0.2.0.tar.gz.

File metadata

  • Download URL: anthem-0.2.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for anthem-0.2.0.tar.gz
Algorithm Hash digest
SHA256 14cb571bfad300e68be98a7df74fb41a0e9aa69f4334bebf91c544858e6295d5
MD5 f5efa7374ab8ff6dca228ca9dc86bf3d
BLAKE2b-256 bf24e89c17d58e8b8e4568081c7b36d9dc3158bdca5210682c123f1b3aac86ec

See more details on using hashes here.

File details

Details for the file anthem-0.2.0-py2-none-any.whl.

File metadata

File hashes

Hashes for anthem-0.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 e9399fbfa6dd6b49fac258058dbb9d037bda13e47b25c56dfdfb22b893c403bf
MD5 b4a87b274cc7af3300281cec8f4806a2
BLAKE2b-256 2d3a8a3ffbd8ac012e791061e68e303d497bfc4f3c19f5b3c3c6289a29ba862a

See more details on using hashes here.

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