# IMDb ID
[](https://crates.io/crates/imdb-id)
[](./LICENCE)
An easy-to-use commandline tool to look up the IMDb ID of a movie or show, given its name
It's built for both easy interactive use and scripting capabilities

## Why does this exist?
Because *certain sites* support searching using these IMDb IDs and it's really useful as an unambiguous identifier
## How do I install it?
You need to have [Rust](https://www.rust-lang.org/) installed on your system, then run the following:
```shell
cargo install imdb-id
```
## Usage
```
USAGE:
imdb-id [FLAGS] [OPTIONS] [--] [search_term]...
ARGS:
<search_term>...
The title of the movie/show you're looking for
FLAGS:
-h, --help
Prints help information
-n, --non-interactive
Disables interactive features (always picks the first result)
-V, --version
Prints version information
OPTIONS:
-g, --genre <filter_genre>...
Filters results to a specific genre
Can be given multiple arguments or passed multiple times, working as a chain of OR
statements logically. Filters are all case insensitive
It is STRONGLY recommended you quote genres, as most have spaces
Examples: Movie, "TV episode", "TV series"
-y, --year <filter_year>
Filters results to a specific year, or range of years
Media which has no year specified will always be included
Ranges are fully inclusive
Examples: 2021, 1990-2000, 2000- (2000 onwards), -2000 (before 2000)
-f, --format <format>
Change output format to desired standard
Formats are only available if you opted-IN at installation
All the formats imdb-id can support are: json, yaml
-r, --results <number_of_results>
The maximum number of results to show from IMDb
```
### Format support
Use of the `-f/--format` requires an opt-in at install time as it adds a fair amount of bloat to the program.
If you wish to install `imdb-id` with support for formats, you can either install them all with:
```shell
cargo install imdb-id --all-features
```
Or choose the formats you want from the below:
* YAML
* JSON
And run:
```shell
cargo install imdb-id --features <format_in_lowercase>
```
If you're reading this now having already installed `imdb-id` with the a different feature selection to what you wanted, you need to add the `--force` flag to the install command to let Cargo override your existing installed binary cleanly
If there's a format you'd like to see supported, open up an issue or pull request and I can see if I can make it happen!
## Roadmap
1. Proof of concept - done as of v0.1.0!
2. CLI option parsing and non-interactive 'feeling lucky' mode with appropriate output - done as of v0.2.0!
3. Interactive mode - done as v1.0.0!
4. Result pagination - done as of v1.0.1!
5. Filtering by genre - done as of v1.0.2! (note: the v1.0.2 release has glaring bugs, please don't use it)
6. Filtering by year - done as of v1.0.3!
7. Different output format support: JSON, YAML, etc. - done as of v1.0.4!
8. ~~Use async/tokio properly~~ - dismissed as unnecessary when the program only makes a single web request. See note in lib.rs for more
9. ???
10. Profit