Metadata-Version: 1.1
Name: proteus
Version: 3.2.9
Summary: Library to access Tryton server as a client
Home-page: http://www.tryton.org/
Author: Tryton
Author-email: issue_tracker@tryton.org
License: LGPL-3
Download-URL: http://downloads.tryton.org/3.2/
Description: proteus
        =======
        
        A library to access Tryton's models like a client.
        
        Installing
        ----------
        
        See INSTALL
        
        Example of usage
        ----------------
        
            >>> from proteus import config, Model, Wizard
        
        Creating a database
        ~~~~~~~~~~~~~~~~~~~
        
        Configuration to connect to a sqlite memory database using trytond as module.
        
            >>> config = config.set_trytond(':memory:', database_type='sqlite')
        
        When connecting to a database that doesn't exist, Proteus will create it.
        If no database name was given, then Proteus will generate one. It will choose
        ':memory': for 'sqlite' type otherwise `'test_%' % int(time.time())`.
        
        Installing a module
        ~~~~~~~~~~~~~~~~~~~
        
        Find the module, call the install button and run the install wizard.
        
            >>> Module = Model.get('ir.module.module')
            >>> party_module, = Module.find([('name', '=', 'party')])
            >>> party_module.click('install')
            >>> Wizard('ir.module.module.install_upgrade').execute('upgrade')
        
        Creating a party
        ~~~~~~~~~~~~~~~~
        
        First instanciate a new Party:
        
            >>> Party = Model.get('party.party')
            >>> party = Party()
            >>> party.id < 0
            True
        
        Fill the fields:
        
            >>> party.name = 'ham'
        
        Save the instance into the server:
        
            >>> party.save()
            >>> party.name
            u'ham'
            >>> party.id > 0
            True
        
        Setting the language of the party
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        The language on party is a `Many2One` relation field. So it requires to get a
        `Model` instance as value.
        
            >>> Lang = Model.get('ir.lang')
            >>> (en,) = Lang.find([('code', '=', 'en_US')])
            >>> party.lang = en
            >>> party.save()
            >>> party.lang.code
            u'en_US'
        
        Creating an address for the party
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Addresses are store on party with a `One2Many` field. So the new address just
        needs to be appended to the list `addresses`.
        
            >>> address = party.addresses.new(zip='42')
            >>> party.save()
            >>> party.addresses #doctest: +ELLIPSIS
            [proteus.Model.get('party.address')(...)]
        
        Adding category to the party
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        Categories are linked to party with a `Many2Many` field.
        
        So first create a category
        
            >>> Category = Model.get('party.category')
            >>> category = Category()
            >>> category.name = 'spam'
            >>> category.save()
        
        Append it to categories of the party
        
            >>> party.categories.append(category)
            >>> party.save()
            >>> party.categories #doctest: +ELLIPSIS
            [proteus.Model.get('party.category')(...)]
        
        Support
        -------
        
        If you encounter any problems with Tryton, please don't hesitate to ask
        questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
        
          http://bugs.tryton.org/
          http://groups.tryton.org/
          http://wiki.tryton.org/
          irc://irc.freenode.net/tryton
        
        License
        -------
        
        See LICENSE
        
        Copyright
        ---------
        
        See COPYRIGHT
        
        
        For more information please visit the Tryton web site:
        
          http://www.tryton.org/
        
Keywords: tryton library cli
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Framework :: Tryton
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Legal Industry
Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
