Skip to main content

Django implementation for vkontakte API Polls

Project description

Django Vkontakte Polls
======================

[![PyPI version](https://badge.fury.io/py/django-vkontakte-polls.png)](http://badge.fury.io/py/django-vkontakte-polls) [![Build Status](https://travis-ci.org/ramusus/django-vkontakte-polls.png?branch=master)](https://travis-ci.org/ramusus/django-vkontakte-polls) [![Coverage Status](https://coveralls.io/repos/ramusus/django-vkontakte-polls/badge.png?branch=master)](https://coveralls.io/r/ramusus/django-vkontakte-polls

Приложение позволяет взаимодействовать с голосованиями групп через Вконтакте API используя стандартные модели Django

Установка
---------

pip install django-vkontakte-polls

В `settings.py` необходимо добавить:

INSTALLED_APPS = (
...
'oauth_tokens',
'taggit',
'vkontakte_api',
'vkontakte_places',
'vkontakte_groups',
'vkontakte_users',
'vkontakte_wall',
'vkontakte_polls',
'm2m_history',
)

# oauth-tokens settings
OAUTH_TOKENS_HISTORY = True # to keep in DB expired access tokens
OAUTH_TOKENS_VKONTAKTE_CLIENT_ID = '' # application ID
OAUTH_TOKENS_VKONTAKTE_CLIENT_SECRET = '' # application secret key
OAUTH_TOKENS_VKONTAKTE_SCOPE = ['ads,wall,photos,friends,stats'] # application scopes
OAUTH_TOKENS_VKONTAKTE_USERNAME = '' # user login
OAUTH_TOKENS_VKONTAKTE_PASSWORD = '' # user password
OAUTH_TOKENS_VKONTAKTE_PHONE_END = '' # last 4 digits of user mobile phone

Покрытие методов API
--------------------

* [polls.getById](http://vk.com/dev/polls.getById) – возвращает детальную информацию об опросе;
* [polls.getVoters](http://vk.com/dev/polls.getVoters) – получает список идентификаторов пользователей, которые выбрали определенные варианты ответа в опросе;

Использование парсера
---------------------

* Получение проголосовавших за ответ пользователей;

Примеры использования
---------------------

### Получение голосования

>>> from vkontakte_polls.models import Poll, Group, Post
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> post = Post.objects.create(remote_id='-16297716_190770', wall_owner=group)
>>> poll = Poll.remote.fetch(83838453, group, post)
>>> poll.pk
83838453
>>> poll.question
А ты занимаешься спортом? (открытое голосование)
>>> poll.votes_count
2170
>>> poll.owner
<Group: Coca-Cola>
>>> poll.created
datetime.datetime(2013, 4, 8, 12, 59, 2)

### Получение всех ответов голосования

>>> poll.answers.all()
[<Answer: Да, профессионально!>, <Answer: Регулярно хожу в спортзал.>, <Answer: Бегаю в тёплое время года.>, <Answer: Играю с друзьями в футбол.>, <Answer: Нет, я просто стараюсь вести здоровый образ жизни.>, <Answer: Нет, но очень хотелось бы.>, <Answer: Свой вариант (расскажу в комментариях).>]
>>> poll.answers.count()
7
>>> answer = poll.answers.all()[0]
>>> answer.pk
266067655L
>>> answer.text
Да, профессионально!
>>> answer.votes_count
581
>>> answer.rate
26.77

### Получение всех пользователей, проголосовавших за ответ

>>> answer.fetch_voters()
[<User: Оля Белова>, <User: Никита Панов>, <User: Валентина Кан>, '...(remaining elements truncated)...']
>>> answer.voters.count()
581

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

django-vkontakte-polls-0.6.1.tar.gz (25.3 kB view details)

Uploaded Source

File details

Details for the file django-vkontakte-polls-0.6.1.tar.gz.

File metadata

File hashes

Hashes for django-vkontakte-polls-0.6.1.tar.gz
Algorithm Hash digest
SHA256 052bbd42d9facd7ff8bccb288e8fedde1fd3dfe63dec9bce1f6f1da155f0c08f
MD5 38b58e609f71ae18d5bc17086093b62b
BLAKE2b-256 d515bbfb10fe7d0647ed5f5bd434654a3a16a77902bf5dea64bd58f4c37dbfa3

See more details on using hashes here.

Supported by

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