Skip to main content

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

CHANGES.txt

Project details


Download files

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

Source Distribution

PyStrawpoll-0.1.4.zip (6.6 kB view details)

Uploaded Source

File details

Details for the file PyStrawpoll-0.1.4.zip.

File metadata

  • Download URL: PyStrawpoll-0.1.4.zip
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyStrawpoll-0.1.4.zip
Algorithm Hash digest
SHA256 95b4efb83aa6bef788f03deda84ca77ac89dd7791c26a66dd8f9993883a39748
MD5 002599cf1531057dddbe66c731a52810
BLAKE2b-256 87294d756deedb95227963317ac4252398c40016936efb804d66ee69751d850a

See more details on using hashes here.

Supported by

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