django-vkontakte-photos

Django implementation for vkontakte API photos


License
BSD-3-Clause
Install
pip install django-vkontakte-photos==0.8.0

Documentation

Django Vkontakte Photos

PyPI version Build Status Coverage Status

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

Установка

pip install django-vkontakte-photos

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

INSTALLED_APPS = (
    ...
    'oauth_tokens',
    'taggit',
    'vkontakte_api',
    'vkontakte_places,
    'vkontakte_groups',
    'vkontakte_users',
    'vkontakte_photos',
)

# 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

  • photos.getAlbums – возвращает список альбомов пользователя;
  • photos.get – возвращает список фотографий в альбоме;
  • photos.getComments – возвращает список комментариев к фотографии;
  • photos.createComment – создает новый комментарий к фотографии;
  • photos.deleteComment – сдаляет комментарий к фотографии;
  • photos.restoreComment – восстанавливает удаленный комментарий к фотографии;
  • photos.editComment – изменяет текст комментария к фотографии;

В планах:

  • photos.getById – возвращает информацию о фотографиях;
  • photos.getAllComments – возвращает отсортированный в антихронологическом порядке список всех комментариев к конкретному альбому или ко всем альбомам пользователя.

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

  • Получение количества комментариев к фотографии; *
  • Получение количества лайков фотографии; *

(*) Дублирование функционала API

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

Получение фотоальбомов группы через метод группы

Для этого необходимо установить дополнительно приложение django-vkontakte-groups и добавить его в INSTALLED_APPS

>>> from vkontakte_groups.models import Group
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> group.fetch_albums()
[<Album: Coca-Cola привозила кубок мира по футболу FIFA>,
 <Album: Старая реклама Coca-Cola>,
 '...(remaining elements truncated)...']

Фотоальбомы группы доступны через менеджер

>>> group.photoalbums.count()
47

Фотографии всех альбомов группы доступны через менеджер

>>> group.photos.count()
4432

Получение фотоальбомов группы через менеджер

>>> from vkontakte_groups.models import Group
>>> from vkontakte_photos.models import Album
>>> group = Group.remote.fetch(ids=[16297716])[0]
>>> Album.remote.fetch(group=group, ids=[106769855])
[<Album: Coca-Cola привозила кубок мира по футболу FIFA>]

Получение фотографий альбома пользователя через менеджер

Для этого необходимо установить дополнительно приложение django-vkontakte-users и добавить его в INSTALLED_APPS

>>> from vkontakte_users.models import User
>>> from vkontakte_photos.models import Album, Photo
>>> user = User.remote.fetch(ids=[1])[0]
>>> album = Album.remote.fetch(user=user, ids=[159337866])[0]
>>> Photo.remote.fetch(album=album)
[<Photo: Photo object>,
 <Photo: Photo object>,
 <Photo: Photo object>,
 <Photo: Photo object>]