pikabu
======

Неофициальный клиент на Python для pikabu.ru

pikabu - это источник интересных статей, фотографий и видео, добавляемых пользователями. Вы добавляете пост: фото, видео или историю.
Данная библиотека была создана от безысходности из-за отсутствия официального Апи на сайте pikabu.ru. Автором библиотеки является [Blackwave](http://pikabu.ru/profile/blackwave).

В ближайшее время планирую добавить публикацию поста/комментария, изменение рейтинга у постов/комментариев и настройки.

## Установка

Из pip:
```bash
$ sudo pip install pikabu
```
Из исходников:
```bash
$ git clone https://github.com/Blackwave-rt/pikabu && cd pikabu-python
$ sudo python setup.py install
```
Готово!

## Быстрый старт

Все до ужаса просто.
   ```python
   import pikabu
   pika_api = pikabu.Api(login='ваш логин', password='ваш пароль')
```
Все дальнейшие операции будут происходить через pika_api.

Например, получим заоблачный рейтинг пользователя [Admin](http://pikabu.ru/profile/admin):
   ```python
   import pikabu
   pika_api = pikabu.Api(login='ваш логин', password='ваш пароль')
   pika_api.users.get("admin", "rating")
```
## Документация по возможностям

###api.posts.get(раздел, страница)
Возвращает массив постов по выборке: горячее, популярные, свежее.

Аргументы: [hot|best|new], страница

Результат: А в результате возвращается массив с объектом "ObjectPosts", который обладает аргументами:
```python
	title    - вернет название поста
	url      - вернет название ссылки
	text     - вернет текст поста (в случае, если это изображение - вернет None)
	image    - вернет изображение поста (в случае, если пост текстовый - вернет None)
	time     - вернет дату создания (два часа назад, etc)
	author   - вернет ник автора
	comments - вернет количество комментариев
	rating   - вернет рейтинг поста
	tags     - вернет массив тегов поста
```
	
###api.users.get(логин, параметр)
Возвращает объект "ObjectUserInfo" в случае, если параметр не был указан. Или (если он все же был указан, лол) возвращает значение запрашиваемого параметра.

####Параметры:
```python
	dor 	 - дата регистрации
	rating   - рейтинг юзера
	comments - количество комментариев
	news     - возвращает массив вида [количество новостей, в горячем]
	actions  - возвращает массив вида [поставил плюсов, поставил минусов]
	avatar   - возвращает ссылку на аватарку юзера
	awards   - возвращает список наград
```

####Пример:
	api.users("Blackwave", dor) - вернет дату регистрации

	api.users("Blackwave") - вернет объект "ObjectUserInfo", который имеет аргументы:
```python
		dor 	   - дата регистрации
		rating   - рейтинг юзера
		comments - количество комментариев
		news     - возвращает массив вида [количество новостей, в горячем]
		actions  - возвращает массив вида [поставил плюсов, поставил минусов]
		avatar   - возвращает ссылку на аватарку юзера
		awards   - возвращает список наград
```

###api.profile
Возвращает информацию по Вашему пользователю. Доступные методы:
```python
		api.profile.dor()
		api.profile.rating()
		api.profile.comments()
		etc
```

###api.comments.get(alias, post_id)
Возвращает комментарии к выбранному посту (алиас вида: nazvanie_temy_1234567)

	api.comments(nazvanie_temy_1234567, 1234567) - вернет объект "ObjectComments" с аргументами:
```python
		id     - id комментария
		rating - рейтинг комментария
		author - логин автора
		time   - время добавления
		text   - текст комментария
```

###api.top_tags.get()
Возвращает популярные за сутки теги. Вид: [название тега, количество]

###api.posts.search(Запрос, cur_page=1, in_hot=True, in_pics=True, in_text=True, in_video=True)
Возвращает результаты поиска в виде объекта ObjectPosts. Аргументы соответствуют api.posts.get

###api.posts.tag(tag_name, page, category=[hot|new|best])
Возвращает отфильтрованные по тегам посты в виде объекта ObjectPosts. Аргументы соответствуют api.posts.get

## Лицензия

Библиотека доступна на условиях лицензии Apache версии 2.0

http://www.apache.org/licenses/LICENSE-2.0
