API client for ticketscloud.ru
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
.bumpversion.cfg
.gitignore
.travis.yml
AUTHORS.rst
CONTRIBUTING.rst
Changelog
LICENSE
MANIFEST.in
Makefile
README.rst
requirements-test.txt
requirements.txt
setup.cfg
setup.py
test.sqlite
test_client.py
ticketscloud.py
tox.ini

README.rst

Ticketscloud API Client

Ticketscloud API Client -- A python client for API ticketscloud.ru

Build Status https://pypip.in/d/ticketscloud/badge.png https://badge.fury.io/py/ticketscloud.png

Docs are available at https://ticketscloud.readthedocs.org/. Pull requests with documentation enhancements and/or fixes are awesome and most welcome.

Requirements

  • python >= 2.6

Installation

Ticketscloud API Client could be installed using pip:

pip install ticketscloud

Usage

Initialize API client

You should have api_token, from the TC service.

from ticketscloud import TCClient

client = TCClient(api_token='your-token-here')

Customize options

client = TCClient(
    access_token='your-token-here',
    api_root='http://ticketscloud.ru',
    api_version='v1',
    loglevel='info',
    user_agent='TC-Client',
)

Working with TC API

The client has nice and easy syntax. Just have a look:

# Get events list GET http://ticketscloud.ru/v1/resources/events
client.api.resources.events()
client.api.resources.events['event-id']()

# Get deals list with scheme GET http://ticketscloud.ru/v1/resources/deals
client.api.resources.deals(**{
    'fields-schema': 'id,event{id},term{extra}', 'status': 'accepted'})

# Create a new order POST http://ticketscloud.ru/v1/resources/orders/
client.api.resources.orders.post(total=..., event=...)

# Update a order PATCH http://ticketscloud.ru/v1/resources/orders/<id>
client.api.resources.orders['id'].patch(status=)

# You could also use a 'getitem' syntax for resources
client.api.resources['custom-resource-name'](**params)
# Same there
client.api['resources']['custom-resource-name'](**params)

# And etc. I hope you make decision how the client works :)

Context manager

You could temporary redefine the client settings in context:

with client.ctx(loglevel='DEBUG'):
    # More logging here
    client.api.resources.deals(**params)

Raw api request

You could make a raw request to TC API:

client.request(method='GET', url='v1/resources/events', data={...})

Have a nice codding!

Bug tracker

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/Dipsomaniac/ticketscloud/issues

Contributing

Development of starter happens at github: https://github.com/Dipsomaniac/ticketscloud

Contributors

  • klen (Kirill Klenov)

License

Licensed under a BSD license.