Skip to content

Ability to distinguish MainMovies by a stable identifier #58

Description

@shayypy

Related to #56 but with a slightly different goal.

Since discs can have multiple "MainMovie" items, it is sometimes difficult to programmatically distinguish them, since releases are always bound to exactly one media item. Below is an example of the problem, using the Aladdin 2-movie release from the above issue:

Say I have ripping software which matches the hash of my inserted disc to releases on TDDB. It will pull up two identical releases under two different media items:

{
  "data": {
    "mediaItems": {
      "nodes": [
        {
          "title": "Aladdin and the King of Thieves",
          "externalids": {
            "tmdb": "11238"
          },
          "releases": [
            {
              "title": "Aladdin and the King of Thieves & The Return Of Jafar 2-Movie Collection",
              "discs": [
                {
                  "name": "Blu-ray",
                  "titles": [
                    {
                      "sourceFile": "00100.mpls",
                      "item": {
                        "title": "The Return of Jafar",
                        "type": "MainMovie"
                      }
                    },
                    {
                      "sourceFile": "00101.mpls",
                      "item": {
                        "title": "Aladdin and the King of Thieves",
                        "type": "MainMovie"
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "title": "The Return of Jafar",
          "externalids": {
            "tmdb": "15969"
          },
          "releases": [
            {
              "title": "Aladdin and the King of Thieves & The Return Of Jafar 2-Movie Collection",
              "discs": [
                {
                  "name": "Blu-ray",
                  "titles": [
                    {
                      "sourceFile": "00100.mpls",
                      "item": {
                        "title": "The Return of Jafar",
                        "type": "MainMovie"
                      }
                    },
                    {
                      "sourceFile": "00101.mpls",
                      "item": {
                        "title": "Aladdin and the King of Thieves",
                        "type": "MainMovie"
                      }
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

On seeing these two releases, the user may pick the one corresponding to the desired media item, but then they will also need to select the exact title instead of letting the software pick the correct MainMovie automatically.

The implementation of this feature is also helpful in displaying proper metadata that is not already stored adjacent to the items, both in ripping programs and on the site itself, which currently just uses whatever the release's media item says:

Image

This would also be immensely useful in identifying extras, which sometimes have their own TMDB entries, on releases which are nominally for other media items. Some examples:

Ideal solution
Items of the MainMovie type (maybe Short and Featurette too) are allowed a new field, say tmdb_id or media_item_slug, which can be used to identify the media item with certainty.

Describe alternatives you've considered
To do this automatically, we would currently need to match the item based on its name, which is contributor-provided and not really stable. It may also include superfluous info, such as "extended cut" or "3D" (although admittedly, if a disc has multiple cuts of the same film you'd probably need a manual selection anyway). Extras without their own media items in the database are left ambiguous since the only way to identify them would be to search the title of every extra on TMDB and fuzzy match.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions