Skip to main content

Library to access Tryton server as a client

Project description

A library to access Tryton’s models like a client.

Installing

See INSTALL

Example of usage

>>> from proteus import config, Model, Wizard, Report

Configuration

Configuration to connect to a sqlite memory database using trytond as module.

>>> config = config.set_trytond('sqlite:///:memory:')

Installing a module

Find the module, call the activate button and run the upgrade wizard.

>>> Module = Model.get('ir.module')
>>> party_module, = Module.find([('name', '=', 'party')])
>>> party_module.click('activate')
>>> Wizard('ir.module.activate_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')])
>>> party.lang = en
>>> party.save()
>>> party.lang.code
u'en'

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')(...)]

Sorting addresses and register order

Addresses are ordered by sequence which means they can be stored following a specific order. The set_sequence method stores the current order.

>>> address = party.addresses.new(zip='69')
>>> party.save()
>>> address = party.addresses.new(zip='23')
>>> party.save()

Now changing the order.

>>> reversed_addresses = list(reversed(party.addresses))
>>> while party.addresses:
...     _ = party.addresses.pop()
>>> party.addresses.extend(reversed_addresses)
>>> party.addresses.set_sequence()
>>> party.save()
>>> party.addresses == reversed_addresses
True

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

Project details


Release history Release notifications | RSS feed

This version

4.8.3

Download files

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

Source Distribution

proteus-4.8.3.tar.gz (39.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

proteus-4.8.3-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

proteus-4.8.3-py2-none-any.whl (26.7 kB view details)

Uploaded Python 2

File details

Details for the file proteus-4.8.3.tar.gz.

File metadata

  • Download URL: proteus-4.8.3.tar.gz
  • Upload date:
  • Size: 39.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.7.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.15

File hashes

Hashes for proteus-4.8.3.tar.gz
Algorithm Hash digest
SHA256 ad6f9704b48f56b88368e824849ab0745c3ae4cdd6ee8122840a186b838eba23
MD5 e484dfe09e2c9f61e18a114988643d29
BLAKE2b-256 498fd2ac265e0adc7c6c33df8ca04203812b1652608e381a0281037df8db8eb1

See more details on using hashes here.

File details

Details for the file proteus-4.8.3-py3-none-any.whl.

File metadata

  • Download URL: proteus-4.8.3-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.7.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.15

File hashes

Hashes for proteus-4.8.3-py3-none-any.whl
Algorithm Hash digest
SHA256 673426e43ba0d367163e51354d330810515ce6b383cdfc70627c016f73c68ca2
MD5 eb7540965590a18ac9a0b5e0ee0c57f7
BLAKE2b-256 60146628ec48c32ad9594ccf89130738611c18f770d1d417bd003db0f57c9768

See more details on using hashes here.

File details

Details for the file proteus-4.8.3-py2-none-any.whl.

File metadata

  • Download URL: proteus-4.8.3-py2-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/36.7.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.15

File hashes

Hashes for proteus-4.8.3-py2-none-any.whl
Algorithm Hash digest
SHA256 4e59f690c41676790a7602457e1c9e4c134fe8c8b0b3d0d0e87743d656ab2049
MD5 0d59d0737f654cd575c9865c8dbae277
BLAKE2b-256 46dc5f70aebb64ee143f095bbce20a7502131ec8551d9733ec06bca8f964a0be

See more details on using hashes here.

Supported by

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