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

Features

Bugfixes

Improvements

Documentation

Build

0.3.0 (2016-07-26)

Features

  • Add –quiet mode

Fixes

  • Encode the logged strings to the default encoding or utf8

  • Allow to use Ctrl-c to stop anthem.

  • Set openerp’s loglevel to ERROR, its logs clutter anthem’s own outputs

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.3.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

anthem-0.3.0-py2-none-any.whl (10.3 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for anthem-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3ef15a1b74b27d9d8b998d8e2f9f63468ecd5e92c1fb0fdb41a17e0c8aaac6e8
MD5 d7c42ebbd4f550fde0a236251e83b698
BLAKE2b-256 77c095bfbb0aeeeb2aaee29c2dca00da66f8b8675a49a658694a37c62fc4556f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anthem-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 f42391178ec4e7a85bcf71a405e619c059dfb4721bd08601e00f5069d476c494
MD5 f0628e21189cde696e065e20310951fc
BLAKE2b-256 d96995de3e8e06a175164be1e6c5315bcc573e9b690434644ad1746914040b5f

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