Skip to content

Commit 7e2709d

Browse files
committed
[script.easymovie] 1.0.0
1 parent 2c66a5c commit 7e2709d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+11957
-0
lines changed

script.easymovie/LICENSE.txt

Lines changed: 675 additions & 0 deletions
Large diffs are not rendered by default.

script.easymovie/addon.xml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<addon id="script.easymovie" name="EasyMovie" version="1.0.0" provider-name="Rouzax">
3+
<requires>
4+
<import addon="xbmc.python" version="3.0.1"/>
5+
</requires>
6+
<extension point="xbmc.python.script" library="default.py">
7+
<provides>executable</provides>
8+
</extension>
9+
<extension point="xbmc.service" library="service.py"/>
10+
<extension point="xbmc.addon.metadata">
11+
<summary lang="en_GB">Simplify movie night</summary>
12+
<description lang="en_GB">EasyMovie helps you pick movies for movie night. Answer a few questions (genre, rating, runtime) and get a curated random selection from your library. Supports movie set awareness, multiple viewing modes, and playlist generation.</description>
13+
<assets>
14+
<icon>icon.png</icon>
15+
</assets>
16+
<license>GPL-3.0-only</license>
17+
<forum>https://forum.kodi.tv/showthread.php?tid=385063</forum>
18+
<website>https://rouzax.github.io/script.easymovie/</website>
19+
<source>https://github.com/Rouzax/script.easymovie</source>
20+
<platform>all</platform>
21+
<news>
22+
v1.0.0 (2026-03-24)
23+
- Filter wizard narrows your library by genre, rating, runtime, year, and score
24+
- Five browse views: Showcase, Card List, Posters, Big Screen, Split View
25+
- Playlist mode builds movie marathons with resume support
26+
- Movie set awareness with continuation prompts and earlier-movie warnings
27+
- Four color themes: Golden Hour, Ultraviolet, Ember, Nightfall
28+
- Clone support for multiple instances with independent settings
29+
</news>
30+
</extension>
31+
</addon>

script.easymovie/changelog.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
v1.0.0 (2026-03-24)
2+
--------------------------
3+
New Features:
4+
- Filter Wizard: step-by-step filter flow for genre, watched status, age rating,
5+
runtime, time period, and score. Each filter configurable as Ask, Pre-set, or Skip.
6+
Supports genre ignore/select with OR/AND matching, decade browsing, recency ranges,
7+
and cumulative movie counts per option.
8+
- Browse Mode: visual results screen with 5 view styles — Showcase (horizontal
9+
filmstrip carousel, default), Card List, Posters, Big Screen, and Split View.
10+
Includes Re-roll, Surprise Me, Play Full Set, and configurable result count (1–50).
11+
- Playlist Mode: automatic movie marathon generation with configurable length (1–20),
12+
sort options, partial resume prioritization, and seek-to-resume-point.
13+
- Movie Set Awareness: detects Kodi movie collections and suggests the first unwatched
14+
entry instead of a random one. Shows set name and position in browse views.
15+
- Set Continuation: after finishing a collection movie, prompts to watch the next one
16+
with a configurable countdown timer and default action.
17+
- Earlier Movie Warning: alerts when about to watch a set movie while an earlier
18+
entry is unwatched, via background service monitoring.
19+
- Smart Re-suggestion: tracks recently suggested movies and avoids repeating them
20+
within a configurable cooldown window (4–72 hours).
21+
- Movie Pool Filtering: limit the movie pool to any Kodi smart playlist.
22+
- Clone Support: create multiple EasyMovie instances with independent settings.
23+
Includes mandatory version check and one-click update on launch.
24+
- 4 Color Themes: Golden Hour, Ultraviolet, Ember, Nightfall — applied to all
25+
views and dialogs. Live preview cycling via T key / blue remote button.
26+
- Custom Icons: set a custom addon icon per instance, persisted across upgrades.
27+
- In-progress Check: on launch, offers to resume a partially watched movie.
28+
- Wizard Memory: remembers last wizard answers for quick repeat sessions.
29+
- Structured Logging: separate log file with rotating backups, structured key=value
30+
data, and per-module loggers.
31+
- GitHub Pages landing page, wiki documentation, and Kodi forum thread.
32+
- CI validation workflow (syntax, pyflakes, pyright, kodi-addon-checker).

script.easymovie/default.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""
2+
EasyMovie entry point.
3+
4+
Dispatches to the main UI flow or handles special
5+
command-line arguments (selector, clone, set_icon).
6+
7+
Logging:
8+
Logger: 'default'
9+
Key events:
10+
- launch.crash (ERROR): Unhandled error caught at top level
11+
See LOGGING.md for full guidelines.
12+
"""
13+
from resources.lib.ui.main import main, _handle_entry_args
14+
15+
try:
16+
if not _handle_entry_args("script.easymovie"):
17+
main()
18+
except SystemExit:
19+
pass
20+
except Exception:
21+
try:
22+
from resources.lib.utils import get_logger
23+
log = get_logger('default')
24+
log.exception("Unhandled error in EasyMovie", event="launch.crash")
25+
except Exception:
26+
import traceback
27+
import xbmc
28+
xbmc.log(
29+
f"[EasyMovie] Unhandled error: {traceback.format_exc()}",
30+
xbmc.LOGERROR,
31+
)

script.easymovie/icon.png

148 KB
Loading

script.easymovie/icon_default.png

148 KB
Loading

script.easymovie/resources/__init__.py

Whitespace-only changes.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
2+
<addon id="script.easymovie.SANNAME"
3+
name="CLONENAME"
4+
version="PARENTVERSION"
5+
provider-name="Rouzax">
6+
<requires>
7+
<import addon="xbmc.python" version="3.0.1"/>
8+
</requires>
9+
10+
<extension point="xbmc.python.script"
11+
library="default.py">
12+
<provides>executable</provides>
13+
</extension>
14+
15+
<extension point="xbmc.addon.metadata">
16+
<summary lang="en_GB">COMBNAME</summary>
17+
<description lang="en_GB">This is a cloned version of the EasyMovie front-end with independent settings.</description>
18+
<language></language>
19+
<platform>all</platform>
20+
<license>GPL-3.0-only</license>
21+
<website>https://github.com/Rouzax/script.easymovie</website>
22+
<source>https://github.com/Rouzax/script.easymovie</source>
23+
<assets>
24+
<icon>icon.png</icon>
25+
<fanart>fanart.jpg</fanart>
26+
</assets>
27+
</extension>
28+
</addon>

0 commit comments

Comments
 (0)