Python API wrapper for strawpoll (https://github.com/vaibhav-y/py-strawpoll)
Project description
Python wrapper for Strawpoll’s API. Provides methods for reading from and writing to strawpoll via its JSON api.
About
py-strawpoll provides the following:
StrawpollAPIReader class containing methods:
from_json(string): Read a strawpoll into memory from its JSON representation
from_url(url): Read a strawpoll into memory from it’s URL (uses API endpoint to fetch)
from_apiv2(poll_id): Read a strawpoll into memory via it’s poll id (uses API endpoint to fetch)
total_votes()
normalize(): Normalize a poll to the [0, 1] range
votes_for(option_string): Get the raw count of votes for a specific option string
normalized_votes_for(option_string): Get the normalized votes for a specific option string
winner(): Who won the poll?
loser(): Least favoured option
to_clean_dict(): Returns a python dictionary representation of the poll. Ignores any atributes that are null
Usage
Installation
TODO: Create a PyPI package
Fetching a strawpoll
from strawpoll import StrawpollAPIReader
json_string = '{
"title":"What movie should we watch again?",
"options": [
"Sucker punch ",
"Pirates of carribian ",
"Prison logic","Witchhunter"
],
"multi":false,
"permissive": false,
"captcha": true
}'
# Fetch a poll through its API id
poll_a = StrawpollAPIReader.from_apiv2(1)
# Fetch a poll through its URL
poll_b = StrawpollAPIReader.from_url("https://strawpoll.me/1")
# Fetch a poll from its JSON dump
poll_c = StrawpollAPIReader.from_json(json_string)
# These should be the same
if (poll_a == poll_b) and (poll_b == poll_c):
print "Mirror images!"
# Yada yada normalize your data
print poll_a.normalize()
Posting a strawpoll
TODO: APIWriter still in the pipes
Changelog
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.