[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