Skip to content

A functional JavaScript interface to get shows for Estonian cinemas.

License

Notifications You must be signed in to change notification settings

oliverviljamaa/estonian-cinema-api

Repository files navigation

Estonian Cinema API

npm GitHub release

CircleCI Code Climate npm

A functional JavaScript interface to get shows for Estonian cinemas:

  • Apollo Kino Mustamäe
  • Apollo Kino Solaris
  • Artis
  • Coca-Cola Plaza
  • Kosmos
  • Viimsi Kino

Usage

Install

yarn add estonian-cinema-api
or
npm install --save estonian-cinema-api

Use

import { getShows } from 'estonian-cinema-api';

getShows(filter).then((shows) => {
  ...
});

where filter is either

  • String cinema alias
  • Array of cinema aliases

All aliases: 'artis', 'ccplaza', 'kosmos', 'mustamae', 'solaris', 'viimsi'.

When no filter is provided, shows from all cinemas will be fetched and returned.

A show object has the following format:

{
  movie: {
    title: 'The Lego Batman Movie',
    localizedTitle: 'Lego Batman Film',
    year: 2017,
    posterUrl: 'http://media.forumcinemas.ee/1000/Event_6746/portrait_medium/Lego-Batman_B1_EE_Preview.jpg',
    length: 104
  },
  id: 286658,
  time: 2017-02-26T16:10:00.000Z,
  timeUTC: 2017-02-26T14:10:00.000Z,
  dimensions: 3,
  language: 'et',
  isImax: false,
  auditorium: 'Saal 5',
  url: 'http://www.forumcinemas.ee/Websales/Show/286658/',
  cinema: {
    alias: 'ccplaza',
    name: 'Coca-Cola Plaza'
  }
}

Please use this library responsibly and don't make too many requests to the cinema websites!

Features

Most of the missing cinemas are easy to add due to using the same system reachable with markus-cinema-client, a less opinionated client.

For features and bugs, feel free to add issues or contribute.

Contributing

  1. Run tests in watch mode with yarn test:watch or npm run test:watch and ensure every line is tested. For a run-once check with ESLint, run yarn test or npm test.
  2. Bump version number according to semver and add an item that a release will be based on to CHANGELOG.md.
  3. Submit your pull request from a feature branch and get code reviewed.
  4. If the pull request is approved, coverage stays high and CircleCI build passes, you will be able to merge.
  5. Code will automatically be released to GitHub and published to npm.

About

A functional JavaScript interface to get shows for Estonian cinemas.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published