尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A list of well-rated movies built from IMDb's public datasets, with the country each movie comes from. It is updated automatically every day and can be browsed two ways:
Movies.exe. It can also run the update itself.A title is on the list when, in IMDb's data:
Each movie shows its title, year, genre, rating, number of votes, country and the date it was added to the list. Click a title on the web page, or double-click a row in the app, to open its IMDb page.
The update runs on GitHub every day, and also when you press Update in the desktop app:
title.basics.tsv.gz and title.ratings.tsv.gz from
IMDb's datasets. A file is downloaded only if IMDb has
changed it since the last update. If neither file changed and the last build was complete,
the update stops here.merged.tsv. A movie keeps its original Date added. A movie new to
the list gets today's date. Files are written in full before they replace the old ones, so
an interrupted update never leaves a half-written file.The workflow .github/workflows/update.yml runs twice a day. The second run catches a missed
first one and changes nothing if the first one ran. Each run:
--update),merged.tsv if it changed, andweb/index.html together with the new merged.tsv to GitHub Pages.It can also be started by hand from the repository's Actions tab ("Run workflow"). Pushing
a change to web/, merged.tsv or the workflow republishes the site without an update.
The web page and the desktop app behave the same way:
Movies.exe is a Windows app with its own Java runtime built in, so Java doesn't need to be
installed. Keep the whole Movies folder together: the exe needs its app and runtime
folders.
merged.tsv placed next to Movies.exe is loaded if
it is newer than the app's own copy. Each build of the exe includes the latest merged.tsv.merged.tsv was published
after the app's copy was written, the app downloads it and shows it. Update is disabled
until this check finishes.%LOCALAPPDATA%\Movies: merged.tsv, the downloaded IMDb files,
and downloads.properties, a record of the downloaded versions.The program is a single Java class, src/main/java/org/example/FilterAndJoinTsv.java, built with
Maven and JDK 25.
mvn clean package
This produces target\dist\Movies\Movies.exe with the current merged.tsv copied next to it.
Run git pull first to include the latest daily update. Packaging the exe uses jpackage and
Windows commands, so it must be built on Windows. Add -Dexec.skip=true to build only the jar (in target/libs), as
the GitHub workflow does.
Run from the IDE, the program keeps its data in the working directory instead of
%LOCALAPPDATA%\Movies.
To run the update without a window:
java --enable-preview -cp "target/libs/*" org.example.FilterAndJoinTsv --update
TMDB_API_TOKEN environment variable,
or from a tmdb.txt file in the data directory. tmdb.txt is git-ignored, so the token is
never committed. On GitHub, it is the repository secret TMDB_API_TOKEN.SECOND_COL2_THRESHOLD (6.8) and SECOND_COL3_THRESHOLD
(999) in FilterAndJoinTsv.java.| File | What it is |
|---|---|
src/main/java/org/example/FilterAndJoinTsv.java | The desktop app and the update logic |
web/index.html | The web page; it loads merged.tsv from the same site |
merged.tsv | The current list, updated daily by the workflow |
.github/workflows/update.yml | The daily update and the GitHub Pages publish |
pom.xml | The Maven build, including packaging Movies.exe |
merged.tsv has no header row. Its columns are IMDb's title.basics columns (ID, type,
title, original title, adult, year, end year, runtime, genres), then rating and votes, then
country and Date added. \N marks a missing value.