Skip to content

tobithiel/rottentomatoes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rottentomatoes.py




                      ,jf.          .K                                          
                    KKKKKKKt        iK    .                                     
                    KKK  KKK       KKKKK iK    .D,                              
                    KKK  KKK        KK,:jKKKK KKKKK                             
                    KKKtLKK.  GKK   KK  KKKKKDKK  KK ;. KKj                     
                    KKKKKKG  KKKKK .KK   KK  KKKKKKK KKKKKK                     
                    KK,,:KKKtKK fKK.KKjK KK  KK;     KK  KK                     
                    KK   KKKDKK .KK KKKL KK K KKKKKG KK  KK                     
                    KK   KKK KK  KK      KKKK  KKKt  KK  KK                     
 KKKKKKKKKK         KK   KKK KKKKKD       jt         KK  KK                     
 KKKKKKKKKK                   ;KK                                               
 KKKKKKKKKK                                    KE                        GEE    
    :KKK                KKK: ,KKK             DKE     KKKKK.           KKKKKK.  
     KKK       D :  KKKKKKKKDKKKKK           KKKKKK  :KKDKKK           KK  LEE  
     KKK   KKKKKK   KKKKKKKKKEKKKKj GKKKKKK,,KKKKKK .KKKtKtKK.         KKKKKj   
     KKK  KKKKKKK.  KKK   KKK  EKKD KKK fKKK  KK     KfttttKKL KKKKKK  KKKKKKK  
     KKK  KKKKKKKKK KKK   KKK  EKKD      DKK  KK    KKKDttKKK;EKKKKKKK  KKKKKKK 
     KKK. KKKKKKKKK.KKK   KKK  LKKD  DKKKKKK iKK    KKjKtKttK KKK  ;KK      KKK 
     KKKt KKKKKKKKK KKK   KKK  tKKD KKKKiKKK GKK  K.,KKKtKKKK KKKKKKKKfKKKKKKK  
     KKKE KKKKKKKKK KKK   KKK  jKKDKKK   KKK GKKLLK; jKiKKKK .KKKKKKKKD KKKKK   
     KKKK ;KKKKKKKK              tfKKKEKKKKK  KKKKK           KK,               
           GKKKK                    KKKKDKKK                  KKKEDKKK          
             KKK                                               KKKKKK           



                   https://github.com/zachwill/rottentomatoes

Changelog

V1.0.1

  • 100% test coverage.
  • Removal of all += operators -- now using ''.join() instead.

V1.0

  • Initial release.

What is this?

rottentomatoes offers an easy-to-use Python wrapper to interact with the Rotten Tomatoes API. Before you try and use the API, make sure you # to get an API Key.

In order to cut down on boilerplate code, you can then save your API key in the rottentomatoes_api_key.py file.

Also, note that this package is in no way associated or endorsed by RottenTomatoes.com or Flixster, Inc.

Installation

If you have pip installed, then run the following command:

pip install rottentomatoes

You can also run easy_install:

easy_install rottentomatoes

Or, if you want to help develop the package, just git clone the Github repository:

git clone https://github.com/zachwill/rottentomatoes.git

Usage

Without saving your API key in the rottentomatoes_api_key.py file:

>>> from rottentomatoes import RT
>>> RT('my_api_key').search('some movie here')

With your API key saved:

>>> from rottentomatoes import RT
>>> RT().search('some movie here')

NOTE: Documentation from this point forward will assume you have saved your Rotten Tomatoes Developer API Key to the rottentomatoes_api_key.py file (which you should consider doing in order to cut down on boilerplate code).

Methods

  • search -- Rotten Tomatoes movie search. Returns a list of dictionaries. Possible kwargs include: page and page_limit.

    >>> rt = RT()
    >>> rt.search('the lion king')
    [{'movie': 'here'}, {'movie': 'here'}, ...]

    >>> rt.search('fight club', page_limit=2)
    [{'movie': 1}, {'movie': 2}]

    >>> rt.search('disney', page=2)
    [{'movie': 'from second page'}, {'movie': 'from second page'}, ...]
  • lists -- Displays the lists available in the Rotten Tomatoes API.

    >>> rt = RT()
    >>> rt.lists()
    {'links': {'movies': 'http://link-to-movies',
               'dvds': 'http://link-to-dvds'}}

    >>> rt.lists('dvds')
    {'links': {'new_releases': 'http://link-to-new-releases'}}

    >>> rt.lists(directory='dvds')
    {'links': {'new_releases': 'http://link-to-new-releases'}}

    >>> rt.lists('dvds', 'new_releases')
    {'your data': 'is right here'}

    >>> rt.lists(directory='dvds', sub='new_releases')
    {'your data': 'is right here'}

    >>> rt.lists('movies')
    {'links': {'box_office': 'http://link-to-box-office-movies',
               'in_theaters': 'http://link-to-movies-in-theaters',
               'opening': 'http://link-to-opening-movies',
               'upcoming': 'http://link-to-upcoming-movies'}

    >>> rt.lists('movies', 'box_office')
    {'your data': 'is right here'}

    >>> rt.lists('movies', 'box_office', page_limit=5)
    {'only five': 'box office movies'}

    >>> rt.lists('movies', 'opening')
    {'your data': 'is right here'}
  • info -- Return info for a movie given its id. Arguments for specific_info include cast and reviews.

    >>> rt = RT()
    >>> fight_club = '13153'
    >>> rt.info(fight_club)
    {'your data': 'is right here'}

    >>> rt.info(fight_club, 'cast')
    {'cast info': 'is right here'}

    >>> rt.info(fight_club, 'reviews')
    {'reviews': 'are right here'}
  • new -- Short method to return just opened theatrical movies or newly released dvds. Returns a list of dictionaries.

    >>> rt = RT()
    >>> rt.new('movies')
    [{'movie': 'here'}, {'movie': 'here'}, ...]

    >>> rt.new('dvds')
    [{'dvd': 'here'}, {'dvd': 'here'}, ...]
  • movies -- Short method for returning specific movie lists. Possible sub arguments include: box_office, in_theaters, opening, and upcoming.

    >>> rt = RT()
    >>> rt.movies('in_theaters', page_limit=5)
    {'top five': 'movies in theaters'}

    >>> rt.movies('opening', page_limit=5)
    {'top five': 'movies opening'}

    >>> rt.movies('upcoming', page=2)
    {'page 2': 'of upcoming movies'}
  • dvds -- Short method for returning specific dvd lists. Currently, only one sub argument is possible: new_releases.

    >>> RT().dvds(page_limit=5)
    {'only 5': 'newly released dvds'}
  • feeling_lucky -- Similar to Google's I'm Feeling Lucky button. Returns first instance of search term.

    >>> RT().feeling_lucky('memento')
    {'first result': 'for memento'}

Tests

In order to run the tests for rottentomatoes.py, make sure you have the mock library installed.

Also, all code complies with the PEP 8 Style Guide.

License

Author: Zach Williams

All code released under the Unlicense (a.k.a. Public Domain).

About

Rotten Tomatoes API for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%