No Description

JoostSijm 72d728cc5a Update readme with recent changes 3 years ago
src 07dd1bc0ee Fix issue with brower parameters 3 years ago
tests 4299146a21 Add option to pytest to prevent skip 3 years ago
.gitignore a14a2618cb Ignore build 4 years ago
LICENSE 28ab3e2958 Update license 4 years ago
Pipfile 97087f4ea9 Add pylint to pipfile 3 years ago
Pipfile.lock 97087f4ea9 Add pylint to pipfile 3 years ago
README.md 72d728cc5a Update readme with recent changes 3 years ago
setup.py 5b9c079e15 Bump version 3 years ago
tox.ini c6df959648 Update python version 3 years ago

README.md

Rival-Regions-Wrapper

This library will functions as an authenticator an API wrapper for interaction with Rival Regions. Use at your own risk.

Install

The following steps can be used to install the package with pip:

pip install rival_regions_wrapper

The package should be available globally.

Testing

This appplication supports unit tests, these are located in rival_regions_wrapper/tests/. Intall required dependancies using pipenv install --dev. After installing you should be able to test the python package with pytest. Requests are cached for quick testing using VCR.py located at rival_regions_wrapper/tests/cassettes/. If you run in problems with testing you are advised to them run again after removing the cassettes directory.

The tests read login credentials from the following environment variables: LOGIN_METHOD, USERNAME, PASSWORD. You can set those by creating an file named .env with te following:

LOGIN_METHOD=PLACEHOLDER
USERNAME=PLACEHOLDER
PASSWORD=PLACEHOLDER

Replace PLACEHOLDER with your credentials.

Also must have the chromedriver which can be found here https://sites.google.com/a/chromium.org/chromedriver/home

Add this to the system PATH environmental variable.

Login methods

Currently the only working login method is Google. If you can help me out and make the other login methods working it would be appreciated.

login methods:

  • google
  • vk
  • facebook

Middleware

The API wrapper uses middleware to decide where how to send the request. Middlewares can also be used to write direct requests to Rival Regions.

Current middleware

LocalAuthentication

Use username, password, and login method to log in local instance of the authenticator.

RemoteAuthentication

Connect through a remote API using URL and authentication key.

Examples

Create local authentication middleware and log in with environ variables

import os
from rival_regions_wrapper.middleware import LocalAuthentication

authentication = LocalAuthentication(
  os.environ["USERNAME"],
  os.environ["PASSWORD"],
  os.environ["LOGIN_METHOD"]
)

request region page from Rival Regions

region = authentication.get('listed/upgrades/{}'.format(region_id))

Example of API wrapper to get oil current available resources from a state

from rival_regions_wrapper.api_wrapper import ResourceState

state = 3382
resource = 'oil'
response = ResourceState(authentication, state).info(resource)

For more examples look at the unit tests.

Contact