A python cli based sterkinekor browser, whatever, it needed to be done.
A tiny python command line browser for sterkinekor
ster-py checkinema eastgate
ster-py checkcinema --imdbsort eastgate
ster-py checkprovince "western cape"
ster-py checkprovince --imdbsort "western cape"
- View movie times in your terminal!
- Super quick access to what’s showing in a particular cinema
- Sorting by IMDB ratings (takes a while)
- View trailers
- Google search movies
- Find cinemas by province
- Now updated with sterkinekor’s new Json api, see Sidenote!
(depending on how bored I am) * [STRIKEOUT:Open a youtube trailer in browser] * [STRIKEOUT:Open a google search of movie in browser] * Show recently released movies * Search movies * List all movies by IMDB rating * Initiate booking process (probably definitely not possible)
pip install ster-py
Currently only supporting python 2.7 :(
This is kind of weird. The only reason it exists is because sterkinekor have generously(?) left all their [STRIKEOUT:xml] Json feeds open. The ones I used in particular are:
https://movies.sterkinekor.co.za/Browsing/QuickTickets/Cinemas https://movies.sterkinekor.co.za/Browsing/QuickTickets/Sessions https://movies.sterkinekor.co.za/Browsing/QuickTickets/Types https://movies.sterkinekor.co.za/Browsing/QuickTickets/Movies
I suppose I might as well show the parameters each accepts:
Cookie : visSelectedSiteGroup = province_id
Showtypes: show_type Cinemas: cinema_id Movies: movie_id
Cinemas: cinema_id Movies: movie_id Date: YY/MM/DD 0:0:0 [OPTIONAL]
Indeed, it seems possible this could be written into a python wrapper of some sort.
Anyway, because sk is not using xml feeds anymore and they seem to be in the process of rebuilding their site; the script now takes way longer to run. I’m not sure if this is because their servers are slow or I’m making way too many api calls. You tell me. In any case it takes about 10-15 seconds to receive the list of movies.
Because the website is so unstable and the api is mostly half baked, the updated ster-py has a lot of seemingly unnecessary functions. That would hopefully be unneeded, if the api worked as it seems to be setup to.
It’s pretty cool that all of this data is available. So I thought I might as well take advantage of that; especially because of how much I kind of… hate their website :)
Also this is the first time I’ve ever released a python package on PyPi so if I’ve made any obvious mistakes, well anywhere, please tell me!