[Scummvm-git-logs] scummvm-sites director-buildbot -> c28b3d0bb156e0d8883ce7d7ced1eb3741873a22

sev- noreply at scummvm.org
Sun Jun 21 19:40:52 UTC 2026


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-sites' repo located at https://api.github.com/repos/scummvm/scummvm-sites .

Summary:
c28b3d0bb1 IMAGEDIFF: add imagediff integration using wsgi-dashboards plugin


Commit: c28b3d0bb156e0d8883ce7d7ced1eb3741873a22
    https://github.com/scummvm/scummvm-sites/commit/c28b3d0bb156e0d8883ce7d7ced1eb3741873a22
Author: ramyak-sharma (ramyaksharma1 at gmail.com)
Date: 2026-06-21T21:40:49+02:00

Commit Message:
IMAGEDIFF: add imagediff integration using wsgi-dashboards plugin

Changed paths:
    imagediff/main.py
    master.py
    pyproject.toml
    uv.lock


diff --git a/imagediff/main.py b/imagediff/main.py
index b3b85c7..c736b32 100644
--- a/imagediff/main.py
+++ b/imagediff/main.py
@@ -1,9 +1,14 @@
 import os
 import json
-from PIL import Image
+import sys
+
 from flask import Flask, render_template, jsonify, url_for, send_from_directory, request
 
-from config import CACHE_DIR,SCREENSHOTS_DIR
+_imagediff_dir = os.path.dirname(__file__)
+if _imagediff_dir not in sys.path:
+    sys.path.insert(0, _imagediff_dir)
+
+from config import CACHE_DIR, SCREENSHOTS_DIR
 from imagediff import image_diff, encode_image, movie_diff
 
 app = Flask(__name__)
@@ -220,12 +225,14 @@ def create_frame_map(frames):
     return {get_frame_number(f): f for f in frames}
 
 @app.route('/')
+ at app.route('/index.html')
 def index():
     targets = [d for d in os.listdir(SCREENSHOTS_DIR)
                if os.path.isdir(os.path.join(SCREENSHOTS_DIR, d))]
 
     return render_template('index.html', targets=targets)
 
+
 @app.route('/target/<target>')
 def target_detail(target):
     target_path = os.path.join(SCREENSHOTS_DIR, target)
diff --git a/master.py b/master.py
index be258fe..17ded75 100644
--- a/master.py
+++ b/master.py
@@ -13,6 +13,7 @@ from director.build_factory import build_factory
 from director.discord import DiscordStatusPush
 from director.lingo_factory import lingo_factory
 from director.targets import generate_builder, test_targets
+from imagediff.main import app as imagediff_app
 
 # This is a sample buildmaster config file. It must be installed as
 # 'master.cfg' in your buildmaster's base directory.
@@ -208,11 +209,20 @@ if WEB_UI:
     # minimalistic config to activate new web UI
     c["www"] = dict(
         port=env("WEB_UI_CONNECTION", "tcp:5000:interface=127.0.0.1"),
-        plugins=dict(grid_view={}),
+        plugins=dict(grid_view={},
+                     wsgi_dashboards=[{
+                         'name': 'imagediff',
+                         'caption': 'ImageDiff',
+                         'app': imagediff_app,
+                         'order': 5,
+                         'icon': 'area-chart',
+                     }]),
         change_hook_dialects={"github": github_hook},
         allowed_origins=["*"],
     )
 
+
+
     c["www"]["auth"] = util.GitHubAuth(
         env("GITHUB_CLIENT_ID"),
         env("GITHUB_CLIENT_SECRET"),
diff --git a/pyproject.toml b/pyproject.toml
index 027b0ee..a1a83ac 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -12,6 +12,7 @@ dependencies = [
   "certifi",
   "Pillow>=10.0.0",
   "flask>=3.0.0",
+  "buildbot-wsgi-dashboards>=4.3.0",
 ]
 
 [dependency-groups]
diff --git a/uv.lock b/uv.lock
index 9bc047d..80a531e 100644
--- a/uv.lock
+++ b/uv.lock
@@ -300,6 +300,7 @@ version = "0.2.0"
 source = { editable = "." }
 dependencies = [
     { name = "buildbot", extra = ["bundle"] },
+    { name = "buildbot-wsgi-dashboards" },
     { name = "certifi" },
     { name = "environs" },
     { name = "flask" },
@@ -320,6 +321,7 @@ dev = [
 [package.metadata]
 requires-dist = [
     { name = "buildbot", extras = ["bundle"], specifier = "<4.4.0" },
+    { name = "buildbot-wsgi-dashboards", specifier = ">=4.3.0" },
     { name = "certifi" },
     { name = "environs" },
     { name = "flask", specifier = ">=3.0.0" },
@@ -370,6 +372,15 @@ wheels = [
     { url = "https://files.pythonhosted.org/packages/f1/12/1176d49759b0caf41751ccb9f9f0aae78719ff078680b72136050f1ac450/buildbot_worker-4.3.0-py2.py3-none-any.whl", hash = "sha256:cbde571bb635a84c3f9e1395d27f760d8cc02956c55765f19869cf1319e2ea19", size = 93518, upload-time = "2025-05-12T21:41:32.228Z" },
 ]
 
+[[package]]
+name = "buildbot-wsgi-dashboards"
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/28/9f/b0ee66b7918cb2c128d7529cc2ba6ed681fd9f48607ceab7a6e3ae5a26d7/buildbot_wsgi_dashboards-4.3.0.tar.gz", hash = "sha256:be87cac6921f6c0b3b1d1e3763ba231cb4049fafd621d8d93e066278132ccfbe", size = 434342, upload-time = "2025-05-12T21:41:45.906Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/9b/e8/d106d3810179bd906b2ba229a70217feedce34326dbc2f39f70524de5bc5/buildbot_wsgi_dashboards-4.3.0-py3-none-any.whl", hash = "sha256:250eac05f678e2edb277c6a5535cdcce46fc0140819a98d78a31b200e6f63a0b", size = 434937, upload-time = "2025-05-12T21:41:33.836Z" },
+]
+
 [[package]]
 name = "buildbot-www"
 version = "4.3.0"




More information about the Scummvm-git-logs mailing list