RE-OSCR 11.1.0.dev11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- re_oscr-11.1.0.dev11/.dockerignore +5 -0
- re_oscr-11.1.0.dev11/.flake8 +3 -0
- re_oscr-11.1.0.dev11/.github/workflows/linux-portable.yml +76 -0
- re_oscr-11.1.0.dev11/.github/workflows/pypi-release.yml +88 -0
- re_oscr-11.1.0.dev11/.github/workflows/tests.yml +21 -0
- re_oscr-11.1.0.dev11/.gitignore +18 -0
- re_oscr-11.1.0.dev11/.pre-commit-config.yaml +5 -0
- re_oscr-11.1.0.dev11/LICENSE +674 -0
- re_oscr-11.1.0.dev11/PKG-INFO +136 -0
- re_oscr-11.1.0.dev11/README.md +104 -0
- re_oscr-11.1.0.dev11/assets/Overpass-Bold.ttf +0 -0
- re_oscr-11.1.0.dev11/assets/Overpass-Medium.ttf +0 -0
- re_oscr-11.1.0.dev11/assets/Overpass-Regular.ttf +0 -0
- re_oscr-11.1.0.dev11/assets/RobotoMono-Medium.ttf +0 -0
- re_oscr-11.1.0.dev11/assets/RobotoMono-Regular.ttf +0 -0
- re_oscr-11.1.0.dev11/assets/TFO_advanced.png +0 -0
- re_oscr-11.1.0.dev11/assets/TFO_elite.png +0 -0
- re_oscr-11.1.0.dev11/assets/TFO_normal.png +0 -0
- re_oscr-11.1.0.dev11/assets/check.svg +3 -0
- re_oscr-11.1.0.dev11/assets/chevron-down.svg +1 -0
- re_oscr-11.1.0.dev11/assets/chevron-right.svg +1 -0
- re_oscr-11.1.0.dev11/assets/cla_credit.svg +8 -0
- re_oscr-11.1.0.dev11/assets/clear-plot.svg +3 -0
- re_oscr-11.1.0.dev11/assets/close.svg +1 -0
- re_oscr-11.1.0.dev11/assets/collapse-bottom.svg +5 -0
- re_oscr-11.1.0.dev11/assets/collapse-left.svg +1 -0
- re_oscr-11.1.0.dev11/assets/collapse-right.svg +1 -0
- re_oscr-11.1.0.dev11/assets/collapse-top.svg +5 -0
- re_oscr-11.1.0.dev11/assets/copy.svg +1 -0
- re_oscr-11.1.0.dev11/assets/dash.svg +3 -0
- re_oscr-11.1.0.dev11/assets/edit.svg +1 -0
- re_oscr-11.1.0.dev11/assets/error.svg +4 -0
- re_oscr-11.1.0.dev11/assets/expand-bottom.svg +5 -0
- re_oscr-11.1.0.dev11/assets/expand-left.svg +1 -0
- re_oscr-11.1.0.dev11/assets/expand-right.svg +1 -0
- re_oscr-11.1.0.dev11/assets/expand-top.svg +5 -0
- re_oscr-11.1.0.dev11/assets/export.svg +1 -0
- re_oscr-11.1.0.dev11/assets/info.svg +5 -0
- re_oscr-11.1.0.dev11/assets/json.svg +3 -0
- re_oscr-11.1.0.dev11/assets/ladder.svg +4 -0
- re_oscr-11.1.0.dev11/assets/live-parser.svg +26 -0
- re_oscr-11.1.0.dev11/assets/oscr_icon_small.ico +0 -0
- re_oscr-11.1.0.dev11/assets/oscr_icon_small.png +0 -0
- re_oscr-11.1.0.dev11/assets/oscrbanner-slim-dark-label.png +0 -0
- re_oscr-11.1.0.dev11/assets/parser-active.svg +1 -0
- re_oscr-11.1.0.dev11/assets/parser-down.svg +23 -0
- re_oscr-11.1.0.dev11/assets/parser-ready.svg +1 -0
- re_oscr-11.1.0.dev11/assets/resize.svg +1 -0
- re_oscr-11.1.0.dev11/assets/section31badge.png +0 -0
- re_oscr-11.1.0.dev11/assets/snowflake.svg +25 -0
- re_oscr-11.1.0.dev11/assets/star_minus.svg +8 -0
- re_oscr-11.1.0.dev11/assets/star_plus.svg +8 -0
- re_oscr-11.1.0.dev11/assets/stobuildslogo.png +0 -0
- re_oscr-11.1.0.dev11/assets/thick-chevron-down.svg +1 -0
- re_oscr-11.1.0.dev11/assets/warning.svg +5 -0
- re_oscr-11.1.0.dev11/distribution/.gitignore +2 -0
- re_oscr-11.1.0.dev11/distribution/README.md +13 -0
- re_oscr-11.1.0.dev11/distribution/linux/README.md +40 -0
- re_oscr-11.1.0.dev11/distribution/linux/build_retro_escalation.sh +95 -0
- re_oscr-11.1.0.dev11/distribution/windows/README.md +24 -0
- re_oscr-11.1.0.dev11/distribution/windows/build_retro_escalation.ps1 +96 -0
- re_oscr-11.1.0.dev11/docs/CREDITS.md +21 -0
- re_oscr-11.1.0.dev11/docs/DEVELOPMENT.md +43 -0
- re_oscr-11.1.0.dev11/docs/PROJECT_SCOPE.md +242 -0
- re_oscr-11.1.0.dev11/docs/PYPI_RELEASES.md +34 -0
- re_oscr-11.1.0.dev11/docs/TESTING.md +202 -0
- re_oscr-11.1.0.dev11/docs/dedication_plaque.html +210 -0
- re_oscr-11.1.0.dev11/locales/de/LC_MESSAGES/messages.mo +0 -0
- re_oscr-11.1.0.dev11/locales/de/LC_MESSAGES/messages.po +694 -0
- re_oscr-11.1.0.dev11/locales/en/LC_MESSAGES/messages.mo +0 -0
- re_oscr-11.1.0.dev11/locales/en/LC_MESSAGES/messages.po +691 -0
- re_oscr-11.1.0.dev11/locales/fr/LC_MESSAGES/messages.mo +0 -0
- re_oscr-11.1.0.dev11/locales/fr/LC_MESSAGES/messages.po +695 -0
- re_oscr-11.1.0.dev11/locales/zh/LC_MESSAGES/messages.mo +0 -0
- re_oscr-11.1.0.dev11/locales/zh/LC_MESSAGES/messages.po +695 -0
- re_oscr-11.1.0.dev11/main.py +47 -0
- re_oscr-11.1.0.dev11/pyproject.toml +77 -0
- re_oscr-11.1.0.dev11/re_oscr/__init__.py +3 -0
- re_oscr-11.1.0.dev11/re_oscr/analysisgraphs.py +154 -0
- re_oscr-11.1.0.dev11/re_oscr/analysistables.py +394 -0
- re_oscr-11.1.0.dev11/re_oscr/apiclient.py +203 -0
- re_oscr-11.1.0.dev11/re_oscr/app.py +1006 -0
- re_oscr-11.1.0.dev11/re_oscr/appearance.py +61 -0
- re_oscr-11.1.0.dev11/re_oscr/config.py +232 -0
- re_oscr-11.1.0.dev11/re_oscr/console/__init__.py +10 -0
- re_oscr-11.1.0.dev11/re_oscr/console/components.py +188 -0
- re_oscr-11.1.0.dev11/re_oscr/console/tables.py +1947 -0
- re_oscr-11.1.0.dev11/re_oscr/console/tokens.py +809 -0
- re_oscr-11.1.0.dev11/re_oscr/datamodels.py +582 -0
- re_oscr-11.1.0.dev11/re_oscr/dedicationplaque.py +151 -0
- re_oscr-11.1.0.dev11/re_oscr/dialogs.py +481 -0
- re_oscr-11.1.0.dev11/re_oscr/iofunctions.py +105 -0
- re_oscr-11.1.0.dev11/re_oscr/leagueconnector.py +472 -0
- re_oscr-11.1.0.dev11/re_oscr/liveparser.py +375 -0
- re_oscr-11.1.0.dev11/re_oscr/parserbridge.py +539 -0
- re_oscr-11.1.0.dev11/re_oscr/shell.py +314 -0
- re_oscr-11.1.0.dev11/re_oscr/sidebar.py +449 -0
- re_oscr-11.1.0.dev11/re_oscr/splitdialog.py +180 -0
- re_oscr-11.1.0.dev11/re_oscr/statusbar.py +159 -0
- re_oscr-11.1.0.dev11/re_oscr/textedit.py +97 -0
- re_oscr-11.1.0.dev11/re_oscr/theme.py +945 -0
- re_oscr-11.1.0.dev11/re_oscr/themes/__init__.py +19 -0
- re_oscr-11.1.0.dev11/re_oscr/themes/command_console.py +61 -0
- re_oscr-11.1.0.dev11/re_oscr/themes/registry.py +100 -0
- re_oscr-11.1.0.dev11/re_oscr/translation.py +39 -0
- re_oscr-11.1.0.dev11/re_oscr/views/__init__.py +8 -0
- re_oscr-11.1.0.dev11/re_oscr/views/analysis.py +818 -0
- re_oscr-11.1.0.dev11/re_oscr/views/league.py +264 -0
- re_oscr-11.1.0.dev11/re_oscr/views/overview.py +329 -0
- re_oscr-11.1.0.dev11/re_oscr/views/settings.py +786 -0
- re_oscr-11.1.0.dev11/re_oscr/widgetbuilder.py +315 -0
- re_oscr-11.1.0.dev11/re_oscr/widgetmanager.py +301 -0
- re_oscr-11.1.0.dev11/re_oscr/widgets.py +581 -0
- re_oscr-11.1.0.dev11/re_oscr/workbench.py +1289 -0
- re_oscr-11.1.0.dev11/re_oscr/workbenchcontroller.py +807 -0
- re_oscr-11.1.0.dev11/re_oscr/workbenchruleeditor.py +345 -0
- re_oscr-11.1.0.dev11/re_oscr/workbenchrules.py +156 -0
- re_oscr-11.1.0.dev11/retro_escalation.py +95 -0
- re_oscr-11.1.0.dev11/shell.nix +41 -0
- re_oscr-11.1.0.dev11/tests/__init__.py +1 -0
- re_oscr-11.1.0.dev11/tests/league_live_probe.py +113 -0
- re_oscr-11.1.0.dev11/tests/startup_probe.py +555 -0
- re_oscr-11.1.0.dev11/tests/test_analysis_display_lenses.py +53 -0
- re_oscr-11.1.0.dev11/tests/test_analysis_modified_copy.py +75 -0
- re_oscr-11.1.0.dev11/tests/test_analysis_plot_presentation.py +79 -0
- re_oscr-11.1.0.dev11/tests/test_analysis_tree_view.py +340 -0
- re_oscr-11.1.0.dev11/tests/test_config.py +173 -0
- re_oscr-11.1.0.dev11/tests/test_console_tables.py +384 -0
- re_oscr-11.1.0.dev11/tests/test_console_tokens.py +233 -0
- re_oscr-11.1.0.dev11/tests/test_dedication_plaque.py +53 -0
- re_oscr-11.1.0.dev11/tests/test_league_command_state.py +39 -0
- re_oscr-11.1.0.dev11/tests/test_league_downloads.py +124 -0
- re_oscr-11.1.0.dev11/tests/test_league_standings_table.py +67 -0
- re_oscr-11.1.0.dev11/tests/test_parserbridge_analysis_refresh.py +73 -0
- re_oscr-11.1.0.dev11/tests/test_portable_launcher.py +76 -0
- re_oscr-11.1.0.dev11/tests/test_product_identity.py +39 -0
- re_oscr-11.1.0.dev11/tests/test_startup.py +102 -0
- re_oscr-11.1.0.dev11/tests/test_theme.py +119 -0
- re_oscr-11.1.0.dev11/tests/test_workbench.py +908 -0
- re_oscr-11.1.0.dev11/tests/test_workbench_controller.py +855 -0
- re_oscr-11.1.0.dev11/tests/test_workbench_league_isolation.py +182 -0
- re_oscr-11.1.0.dev11/tests/test_workbench_rules.py +161 -0
- re_oscr-11.1.0.dev11/theme_assets/command_console/.gitkeep +1 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
name: Linux portable build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- retro-escalation
|
|
8
|
+
paths:
|
|
9
|
+
- ".github/workflows/linux-portable.yml"
|
|
10
|
+
- "assets/**"
|
|
11
|
+
- "distribution/linux/**"
|
|
12
|
+
- "docs/TESTING.md"
|
|
13
|
+
- "locales/**"
|
|
14
|
+
- "main.py"
|
|
15
|
+
- "pyproject.toml"
|
|
16
|
+
- "re_oscr/**"
|
|
17
|
+
- "retro_escalation.py"
|
|
18
|
+
- "tests/**"
|
|
19
|
+
- "theme_assets/**"
|
|
20
|
+
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
linux-x86-64:
|
|
26
|
+
runs-on: ubuntu-22.04
|
|
27
|
+
timeout-minutes: 30
|
|
28
|
+
env:
|
|
29
|
+
QT_QPA_PLATFORM: offscreen
|
|
30
|
+
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
|
|
34
|
+
- uses: actions/setup-python@v5
|
|
35
|
+
with:
|
|
36
|
+
python-version: "3.13"
|
|
37
|
+
cache: pip
|
|
38
|
+
|
|
39
|
+
- name: Install Linux desktop runtime libraries
|
|
40
|
+
run: |
|
|
41
|
+
sudo apt-get update
|
|
42
|
+
sudo apt-get install --yes libegl1 libgl1 libxkbcommon-x11-0 libxcb-cursor0
|
|
43
|
+
|
|
44
|
+
- name: Install application and packager
|
|
45
|
+
run: |
|
|
46
|
+
python -m venv .venv
|
|
47
|
+
.venv/bin/python -m pip install --upgrade pip
|
|
48
|
+
.venv/bin/python -m pip install -e ".[pyinst]"
|
|
49
|
+
|
|
50
|
+
- name: Run regression tests
|
|
51
|
+
run: .venv/bin/python -m unittest discover -s tests -v
|
|
52
|
+
|
|
53
|
+
- name: Build portable archive
|
|
54
|
+
run: |
|
|
55
|
+
chmod +x distribution/linux/build_retro_escalation.sh
|
|
56
|
+
distribution/linux/build_retro_escalation.sh \
|
|
57
|
+
--output-root .artifacts/linux-package \
|
|
58
|
+
--package
|
|
59
|
+
|
|
60
|
+
- name: Verify packaged startup
|
|
61
|
+
run: |
|
|
62
|
+
config_dir="$(mktemp -d)"
|
|
63
|
+
trap 'rm -rf "$config_dir"' EXIT
|
|
64
|
+
.artifacts/linux-package/RE-OSCR/RE-OSCR \
|
|
65
|
+
--config_dir "$config_dir" \
|
|
66
|
+
--startup-check
|
|
67
|
+
|
|
68
|
+
- name: Upload Linux tester package
|
|
69
|
+
uses: actions/upload-artifact@v4
|
|
70
|
+
with:
|
|
71
|
+
name: RE-OSCR-${{ github.sha }}-linux-x86_64
|
|
72
|
+
if-no-files-found: error
|
|
73
|
+
retention-days: 14
|
|
74
|
+
path: |
|
|
75
|
+
.artifacts/linux-package/*.tar.gz
|
|
76
|
+
.artifacts/linux-package/*.sha256
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
name: Publish PyPI release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
tags:
|
|
7
|
+
- "v*"
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
env:
|
|
16
|
+
QT_QPA_PLATFORM: offscreen
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.13"
|
|
22
|
+
cache: pip
|
|
23
|
+
- name: Install Qt runtime libraries
|
|
24
|
+
run: |
|
|
25
|
+
sudo apt-get update
|
|
26
|
+
sudo apt-get install --yes libegl1 libgl1 libxkbcommon-x11-0 libxcb-cursor0
|
|
27
|
+
- name: Install application
|
|
28
|
+
run: python -m pip install .
|
|
29
|
+
- name: Run regression tests
|
|
30
|
+
run: python -m unittest discover -s tests -v
|
|
31
|
+
|
|
32
|
+
build:
|
|
33
|
+
needs: test
|
|
34
|
+
runs-on: ubuntu-latest
|
|
35
|
+
steps:
|
|
36
|
+
- uses: actions/checkout@v4
|
|
37
|
+
- uses: actions/setup-python@v5
|
|
38
|
+
with:
|
|
39
|
+
python-version: "3.13"
|
|
40
|
+
- name: Verify tagged release version
|
|
41
|
+
if: github.ref_type == 'tag'
|
|
42
|
+
env:
|
|
43
|
+
TAG_VERSION: ${{ github.ref_name }}
|
|
44
|
+
run: |
|
|
45
|
+
expected="${TAG_VERSION#v}"
|
|
46
|
+
actual="$(python - <<'PY'
|
|
47
|
+
import re
|
|
48
|
+
from pathlib import Path
|
|
49
|
+
|
|
50
|
+
source = Path("retro_escalation.py").read_text(encoding="utf-8")
|
|
51
|
+
match = re.search(r"__version__ = '([^']+)'", source)
|
|
52
|
+
if match is None:
|
|
53
|
+
raise SystemExit("Could not find the application version")
|
|
54
|
+
print(match.group(1))
|
|
55
|
+
PY
|
|
56
|
+
)"
|
|
57
|
+
test "$actual" = "$expected"
|
|
58
|
+
case "$actual" in *+*) echo "PyPI releases cannot use a local version label"; exit 1;; esac
|
|
59
|
+
- name: Build source and wheel distributions
|
|
60
|
+
run: |
|
|
61
|
+
python -m pip install --upgrade build
|
|
62
|
+
python -m build
|
|
63
|
+
- name: Validate package metadata
|
|
64
|
+
run: |
|
|
65
|
+
python -m pip install --upgrade twine
|
|
66
|
+
python -m twine check dist/*
|
|
67
|
+
- uses: actions/upload-artifact@v4
|
|
68
|
+
with:
|
|
69
|
+
name: python-distributions
|
|
70
|
+
if-no-files-found: error
|
|
71
|
+
path: dist/
|
|
72
|
+
|
|
73
|
+
publish:
|
|
74
|
+
needs: build
|
|
75
|
+
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'v')
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
environment:
|
|
78
|
+
name: pypi
|
|
79
|
+
url: https://pypi.org/project/re-oscr/
|
|
80
|
+
permissions:
|
|
81
|
+
id-token: write
|
|
82
|
+
steps:
|
|
83
|
+
- uses: actions/download-artifact@v4
|
|
84
|
+
with:
|
|
85
|
+
name: python-distributions
|
|
86
|
+
path: dist/
|
|
87
|
+
- name: Publish distributions to PyPI
|
|
88
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: Baseline tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
windows:
|
|
9
|
+
runs-on: windows-latest
|
|
10
|
+
env:
|
|
11
|
+
QT_QPA_PLATFORM: offscreen
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: "3.13"
|
|
17
|
+
cache: pip
|
|
18
|
+
- name: Install application
|
|
19
|
+
run: python -m pip install .
|
|
20
|
+
- name: Run baseline tests
|
|
21
|
+
run: python -m unittest discover -s tests -v
|