Reference Guide¶
This is a brief introduction to all KissCartoon API’s features.
KissCartoon¶
KissCartoon
class represent object of a specific page.
As argument you pass URL of a site, default site is kisscartoon.io,
but the domain name can change whenever, what was reason to do it this way.
Also for accesing mirror sites with this API.
With KissCartoon
you can access lists of top ten series that are on the home page.
You can get them with properties newest
, 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', ...)]
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 different filtering 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. See Constants. |
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 Extras
Rick and Morty Season 2
Rick and Morty Season 1
Rick and Morty - Season 3
Rick & 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’s URL. However it’s better to use
KissCartoon object which will generate the URL for us.
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 (1
and``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 back
raise 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 |
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 |
Action |
GENRE.ADVENTURE |
Adventure |
GENRE.ANIMATION |
Animation |
GENRE.BIOGRAPHY |
Biography |
GENRE.COMEDY |
Comedy |
GENRE.CRIME |
Crime |
GENRE.DOCUMENTARY |
Documentary |
GENRE.DRAMA |
Drama |
GENRE.FAMILY |
Family |
GENRE.FANTASY |
Fantasy |
GENRE.GAMESHOW |
Game-Show |
GENRE.HISTORY |
History |
GENRE.HORROR |
Horror |
GENRE.MOVIE |
Movie |
GENRE.MUSIC |
Music |
GENRE.MUSICAL |
Musical |
GENRE.MYSTERY |
Mystery |
GENRE.PRESCHOOL |
Preschool |
GENRE.ROMANCE |
Romance |
GENRE.SCIFI |
Sci-Fi |
GENRE.SHORT |
Short |
GENRE.SPORT |
Sport |
GENRE.SUPERNATURAL |
Supernatural |
GENRE.THRILLER |
Thriller |
GENRE.WAR |
War |
Status¶
STATUS.ONGOING |
Ongoing |
STATUS.COMPLETED |
Completed |