23
KissCartoon API Documentation Release 0.1 Thyrst Jul 16, 2017

KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

  • Upload
    others

  • View
    74

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API DocumentationRelease 0.1

Thyrst

Jul 16, 2017

Page 2: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for
Page 3: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

Contents

1 Reference Guide 31.1 Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 KissCartoon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 CartoonList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5 Episode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.6 Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Installation 7

3 Usage 9

4 Need help? 11

5 Issues 13

6 TODOs 15

7 Contributing 17

8 Indices and tables 19

i

Page 4: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

ii

Page 5: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

KissCartoon is an unofficial API for kisscartoon.io website. It’s written for Python 3, tested on Python3.6 andPython3.4

Contents 1

Page 6: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

2 Contents

Page 7: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 1

Reference Guide

This is a brief introduction to all KissCartoon API’s features.

Import

You’ll get all necessary by this import:

from KissCartoon import KissCartoon, GENRE, STATUS

KissCartoon

KissCartoon class represent object of a specific page. As argument you pass URL of a site, default site is kisscar-toon.io, but the domain name can change whenever, what was reason to do it this way. Also for accesing mirror siteswith this API.

With KissCartoon you can access lists of top ten series that are on the home page. You can get them with propertiesnewest, most_popular and recently_added.

>>> kiss = KissCartoon() # same as KissCartoon('kiscartoon.io')>>> print(kiss.newest)[ Series(title='Smurfs: The Lost Village', ...),

Series(title='Leap!', ...),Series(title='We Bare Bears Season 3', ...),Series(title='Archer - Season 8', ...),Series(title='Teen Titans: The Judas Contract', ...),Series(title='SpongeBob Sea Side Story (2017)', ...),Series(title='Final Fantasy VII: Advent Children Complete', ...),Series(title='The Boss Baby (2017)', ...),Series(title='Tangled: The Series', ...),Series(title='The Grim Adventures of the KND', ...)]

3

Page 8: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

KissCartoon is also used for creating a CartoonList. There are three methods: .search, .list and .list_genre: each method returns a CartoonList. The difference is that each method allows slightly differentfiltering of results.

.list method

.list method takes first_letter, status and page as arguments.

first_letter Filter series by an initial letter.

status Filter series by their current status (ongoing/completed). You should use predefined constants. SeeConstants.

page Set the list to a given page. Default is 1

>>> kiss.list(first_letter='r', status=STATUS.ONGOING)CartoonList(url='https://kisscartoon.io/Status/Ongoing/?c=r&', page=1)

.list_genre method

.list_genre method takes genre and page as arguments.

genre Filter series by their genre. See Constants.

page Set the list to a given page. Default is 1

>>> kiss.list_genre(GENRE.ADVENTURE, page=3)CartoonList(url='https://kisscartoon.io/Genre/Adventure/?', page=3)

.search method

.search method takes title, genres, status and page as arguments.

title Search series by their name.

genres Search series by their genres. It should be list of wanted genres.)

status Search series by their current status (ongoing/completed).

page Set the list to a given page. Default is 1

>>> for series in kiss.search('rick', genres=[GENRE.ADVENTURE, GENRE.COMEDY]):... print(series)...Rick and Morty ExtrasRick and Morty Season 2Rick and Morty Season 1Rick and Morty - Season 3Rick & Steve the Happiest Gay Couple in All the World

CartoonList

CartoonList represents a list of series that is available on the webpage. We can create list by our own with it’sURL. However it’s better to use KissCartoon object which will generate the URL for us.

4 Chapter 1. Reference Guide

Page 9: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

CartoonList has following attributes:

url URL of a list on the current page

page Current page

max_page Number of pages in a current list

series Series on the current page

You can use .next and .back methods for navigating through a list. When you attempt to go beyond the limits (1and‘‘max_page‘‘), method raises PaginatorError:

>>> from kisscartoon import *>>> kiss_list = KissCartoon().list(page=1)>>> kiss_list.back()Traceback (most recent call last):

File "<stdin>", line 1, in <module>File "/home/thyrst/Tools/kisscartoon/kisscartoon.py", line 356, in backraise PaginatorError('No previous page.')

kisscartoon.PaginatorError: No previous page.

For navigating to any random page, you can use .goto method which takes page number as an argument. However,goto won’t check if you attempt to go on an empty page, therefore it’s better to use precedent methods.

For getting sum of series on all pages, simply call len function on a list:

>>> len(kiss_list)4403

CartoonList is a subclass of Iterator, so you can iterate over it:

>>> ongoing = 0>>> for series in kiss_list:... if series.status == STATUS.ONGOING:... ongoing += 1...>>> print('Ongoing: %d%%' % (100*ongoing/len(kiss_list)))Ongoing: 6%

Series

Series represents one season of series. Object has following attributes:

title Name of series

url URL

image URL of image cover

genres List of genres of series

latest_episode Latest Added episode of series

episodes List of Episode

summary Description of series

status Status

views Number of views

1.4. Series 5

Page 10: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

aired A year or date that were series aired

Episode

Episode object has following attributes:

title Title of an episode

url URL

date_added Date the episode was added to the site (datetime object)

download_links Dictionary of links to download episode. This is not implemented yet.

Constants

You will use these constants for working with Series and for creating CartoonList. See iterator example.

Genres

GENRE.ACTION ActionGENRE.ADVENTURE AdventureGENRE.ANIMATION AnimationGENRE.BIOGRAPHY BiographyGENRE.COMEDY ComedyGENRE.CRIME CrimeGENRE.DOCUMENTARY DocumentaryGENRE.DRAMA DramaGENRE.FAMILY FamilyGENRE.FANTASY FantasyGENRE.GAMESHOW Game-ShowGENRE.HISTORY HistoryGENRE.HORROR HorrorGENRE.MOVIE MovieGENRE.MUSIC MusicGENRE.MUSICAL MusicalGENRE.MYSTERY MysteryGENRE.PRESCHOOL PreschoolGENRE.ROMANCE RomanceGENRE.SCIFI Sci-FiGENRE.SHORT ShortGENRE.SPORT SportGENRE.SUPERNATURAL SupernaturalGENRE.THRILLER ThrillerGENRE.WAR War

Status

STATUS.ONGOING OngoingSTATUS.COMPLETED Completed

6 Chapter 1. Reference Guide

Page 11: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 2

Installation

The package is on Pypi, so you can install it simply with pip install kisscartoon-api

7

Page 12: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

8 Chapter 2. Installation

Page 13: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 3

Usage

See the Reference Guide page.

9

Page 14: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

10 Chapter 3. Usage

Page 15: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 4

Need help?

If you have trouble using KissCartoon API, make a new issue on the GitHub page of the project or mail me [email protected]

11

Page 16: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

12 Chapter 4. Need help?

Page 17: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 5

Issues

Bypass for anti-bot protection doesn’t work at 100%, so you’ll get a BlockedAccess error sometimes. I’m workingon it.

13

Page 18: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

14 Chapter 5. Issues

Page 19: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 6

TODOs

• Sorting lists by sorts categories that are available on the KissCartoon site (Sort by alphabet, Sort by popularity,Latest update, New cartoon).

• Logging in

• Get download links of an episode (this will be a tricky one)

15

Page 20: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

16 Chapter 6. TODOs

Page 21: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 7

Contributing

For testing use pytest: pytest tests.py. Feel free to send a pull request.

17

Page 22: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

KissCartoon API Documentation, Release 0.1

18 Chapter 7. Contributing

Page 23: KissCartoon API Documentation - media.readthedocs.org · KissCartoon API Documentation, Release 0.1 KissCartoon is an unofficial API forkisscartoon.iowebsite. It’s written for

CHAPTER 8

Indices and tables

• genindex

• modindex

• search

19