1 ids
j edited this page 2023-07-02 12:57:13 +05:30

ID Scheme

[Documents, pandora*, 0xdb2*)]TOC(heading=Design

IMDb Id

0060304

0xDB Id

Movies
'0x' + d[0] + t[0] + d[1] + t[1] + ... d[7] + t[7]
// where d is sha1("director"), t is sha1("title\nyear") and sha1 is hashlib.sha1(str).hexdigest().upper()
// this makes 0xdb posters for the same director have similar colors
Episodes
'0x' + d[0] + t[0] + d[1] + t[1] + d[2] + t[2] + d[3] + t[3]
 + d_[0] + t_[0] + d_[1] + t_[1] + d_[2] + t_[2] + d_[3] + t_[3]
// where d is sha1("creator"), t is sha1("series_title\nseries_year\nseason)"),
// d_ is sha1("director") and t_ is sha1("episode\nepisode_title\nyear)")
// this makes 0xdb posters for the same season have the same color

Pandora Id

Crockford Base 32 Encoding (0-9 A-Z w/o ILOU, see http://www.crockford.com/wrmg/base32.html)
// used for video and layer ids

Mapping Ids

oxdb_id <- get_oxdb_id(director, title, year, ...)
imdb_id <- imdb.get_id(director, title, year, ...)
allmovie_id <- imdb.get_data(imdb_id) | wikipedia.get_data(wikipedia_id)
criterion_id <- criterion.get_id(imdb_id) // data service
impawards_id <- impawards.get_id(imdb_id) // data service
karagarga_ids <- karagarga.get_ids(imdb_id) // data service
metacritic_id <- imdb.get_data(imdb_id) | wikipedia.get_data(wikipedia_id)
rottentomatoes_id <- imdb.get_data(imdb_id) | wikipedia.get_data(wikipedia_id)
wikipedia_id <- wikipedia.get_id(imdb_id)