allisson/python-simple-rest-client

View on GitHub
examples/github.py

Summary

Maintainability
A
0 mins
Test Coverage
from simple_rest_client.api import API
from simple_rest_client.resource import Resource


class EventResource(Resource):
    actions = {
        "public_events": {"method": "GET", "url": "events"},
        "repository_events": {"method": "GET", "url": "/repos/{}/{}/events"},
        "repository_issues_events": {"method": "GET", "url": "/repos/{}/{}/issues/events"},
        "public_network_events": {"method": "GET", "url": "/networks/{}/{}/events"},
        "public_organization_events": {"method": "GET", "url": "/orgs/{}/events"},
        "user_received_events": {"method": "GET", "url": "/users/{}/received_events"},
        "public_user_received_events": {"method": "GET", "url": "/users/{}/received_events/public"},
        "user_events": {"method": "GET", "url": "/users/{}/events"},
        "public_user_events": {"method": "GET", "url": "/users/{}/events/public"},
        "organization_events": {"method": "GET", "url": "/users/{}/events/orgs/{}"},
    }


# https://github.com/settings/tokens
headers = {"Authorization": "token valid-token"}
github_api = API(api_root_url="https://api.github.com", headers=headers, json_encode_body=True)
github_api.add_resource(resource_name="events", resource_class=EventResource)
print("github_api.events.public_events={!r}".format(github_api.events.public_events()))
print(
    "github_api.events.repository_events={!r}".format(
        github_api.events.repository_events("allisson", "python-simple-rest-client")
    )
)
github_api.close_client()