MyShows API
Object-oriented wrapper over API of myshows.ru
Installation
gem install myshows
Usage
Simply require
require 'rubygems'
require 'myshows'
And use
# authorization is needed for some features
# requires valid login and md5(password)
profile = MyShows::Profile.new 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229'
profile.shows # => all user shows
# you can find show by title among user shows (smart search)
profile.show 'big bang theory' # => show "The Big Bang Theory"
profile.show 'TBBT' # => show "The Big Bang Theory"
search = MyShows::Search.new
tbbt = search.show("The Big Bang Theory").first
tbbt.title # => "The Big Bang Theory"
tbbt.ru_title # => "Теория большого взрыва"
# and many other fields provided by API
tbbt.episodes # => [...] - all episodes
# you can find episode by title (smart search)
pilot = tbbt.episode "the pilot episode"
# or by season and episode number
pilot = tbbt.episode 1, 1
# or by filename
pilot = search.episodes_by_filename('The.Big.Bang.Theory.S01E01.HDTV.XviD-(Kuraj-Bambey).avi')[0]
pilot.title # => "Pilot"
pilot.show # => tbbt
pilot.air_date # => "24.09.2007" (fields parsing would be done later)
# and many other fields provided by API
# note that more than one episode could correspond to one filename
two_episodes = search.episodes_by_filename 'Star.Wars.The.Clone.Wars.s02e01e02.rus.LostFilm.TV.avi'
# if you are authorized:
pilot.uncheck! # => this episode would be marked as 'unwatched'
pilot.check! # => this episode would be marked as 'watched'
Look at rubydoc.info/gems/myshows/ for detailed documentation
Tests
rake spec
TODO
-
support all API (other user profiles, all unwatched episodes, …)
-
show and episode fields conversion to Ruby types
Author
Vladimir Parfinenko, write at vladimir[dot]parfinenko[at]gmailcom