Skip to content

Commit 15e970d

Browse files
v2.03.2, added tests
1 parent 6c1def8 commit 15e970d

File tree

183 files changed

+2975256
-194
lines changed

Some content is hidden

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

183 files changed

+2975256
-194
lines changed

Pipfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name = "pypi"
55

66
[packages]
77
lxml = "*"
8-
pyside6 = "*"
8+
pyside6 = "=6.6.0"
99
darkdetect = "*"
1010
alive-progress = "*"
1111
psutil = "*"

Pipfile.lock

Lines changed: 201 additions & 134 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

changelog.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Retool changelog
22

33

4+
## 2.03.2 (2024-04-06)
5+
6+
- **_Fix_**: Fixed Retool falsely thinking CLRMAMEPro DAT files have already been
7+
processed.
8+
9+
- **_Chore_**: Updated dependencies. Locked down PySide6 version due to a [bug](https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2665?filter=allopenissues)
10+
that interferes with testing.
11+
12+
413
## 2.03.1 (2024-04-06)
514

615
- **_Change_**: The **Prefer regions over languages** setting now also overrides

docs/changelog.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,15 @@ hide:
66
# Changelog
77

88

9+
## 2.03.2 (2024-04-06)
10+
11+
- **_Fix_**: Fixed Retool falsely thinking CLRMAMEPro DAT files have already been
12+
processed.
13+
14+
- **_Chore_**: Updated dependencies. Pinned PySide6 version due to a [bug](https://bugreports.qt.io/projects/PYSIDE/issues/PYSIDE-2665?filter=allopenissues)
15+
that interferes with testing.
16+
17+
918
## 2.03.1 (2024-04-06)
1019

1120
- **_Change_**: The **Prefer regions over languages** setting now also overrides

docs/contribute-code.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
hide:
3+
- footer
4+
---
5+
6+
# Contribute to code
7+
8+
Retool uses [Hatch](https://github.com/pypa/hatch) for environment management, code
9+
formatting and testing. Tests are run using Python 3.10, 3.11, and 3.12.
10+
11+
12+
You can install Hatch and `hatch-pip-compile` with the following command:
13+
14+
```
15+
pip install hatch hatch-pip-compile
16+
```
17+
18+
To enter an environment and install Retool's depedencies, run the following command:
19+
20+
```
21+
hatch shell
22+
```
23+
24+
When you're done and want to exit the environment, run the following command:
25+
26+
```
27+
exit
28+
```
29+
30+
## Run formatters and tests
31+
32+
To run all formatters and tests, run the following command:
33+
34+
```
35+
hatch run all
36+
```
37+
38+
### Formatting and syntax
39+
40+
To only run [`black`](https://github.com/psf/black), [`isort`](https://pycqa.github.io/isort/),
41+
and [`ruff`](https://github.com/astral-sh/ruff) against the code:
42+
43+
```
44+
hatch run style:fix
45+
```
46+
47+
To run MyPy against the code:
48+
49+
```
50+
hatch run types:check
51+
```
52+
53+
### Integration tests
54+
55+
Instead of running the complete test suite, you can run individual tests that validate
56+
specific Retool functionality.
57+
58+
Tests different settings for compilation handling:
59+
60+
```
61+
hatch run integration:compilations
62+
```
63+
64+
Tests that Retool outputs the same content five times in a row:
65+
66+
```
67+
hatch run integration:determinism
68+
```
69+
70+
Tests that Retool is correctly excluding all user-selected title types:
71+
72+
```
73+
hatch run integration:exclusions
74+
```
75+
76+
Tests that Retool is correctly filtering by different language priorities:
77+
78+
```
79+
hatch run integration:languages
80+
```
81+
82+
Tests that Retool is correctly filtering by different region priorities:
83+
84+
```
85+
hatch run integration:regions
86+
```
87+
88+
## Enable developer mode
89+
90+
If you create a file named `.dev` and place it in Retool's folder, the following options
91+
are enabled by default:
92+
93+
* **Output DAT files in legacy parent/clone format**. Useful to ensure file relationships
94+
are working as they should.
95+
96+
* **Report clone list warnings during processing**. Useful to discover issues with clone
97+
lists. These are silenced in normal operation, as they can get noisy as DAT files
98+
update.
99+
100+
* **Pause on clone list warnings**. So you can see what's going on.
101+
102+
You can override this at any time in Retool CLI with the `-q` flag.
103+
104+
## Disable multiprocessing
105+
106+
When using `input` statements in the Python code, make sure to also pass the `--singlecpu`
107+
flag, or turn on **Disable multiprocessor usage** in Retool GUI. This is because `input`
108+
statements don't play well with multiprocessing and cause crashes.
109+
110+

docs/includes/file.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[retool-2.03.1-win-x86-64.zip](https://unexpectedpanda.github.io/files/retool-2.03.1-win-x86-64.zip)
1+
[retool-2.03.2-win-x86-64.zip](https://unexpectedpanda.github.io/files/retool-2.03.2-win-x86-64.zip)

docs/includes/sha256.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
08c3a6c590de5476653748f17b5b76623d7ed8cce8b3bb1023ceff894f0c52d6
1+
f89eff27c65d0d15660de9f27706f16b29b07463564a1d4008fdae1fe6fc912e

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ nav:
9191
- contribute-clone-lists-variants-filters.md
9292
- contribute-clone-lists-pull-request.md
9393
- contribute-metadata-files.md
94+
- 'Code': contribute-code.md
9495
- Developers:
9596
- integrate.md
9697
- how-retool-works.md

modules/chooseparent.py

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3227,29 +3227,34 @@ def production_retail(
32273227
):
32283228
if not config.user_input.region_bias:
32293229
# Leave supersets alone if the user doesn't specify region priority
3230-
if (not title_1.is_superset
3231-
and not title_2.is_superset):
3232-
if title_1.region_priority < title_2.region_priority:
3233-
cross_region_parent_titles.remove(title_2)
3234-
elif title_2.region_priority < title_1.region_priority:
3235-
cross_region_parent_titles.remove(title_1)
3230+
if not title_1.is_superset and not title_2.is_superset:
3231+
if title_1.region_priority < title_2.region_priority:
3232+
cross_region_parent_titles.remove(title_2)
3233+
elif title_2.region_priority < title_1.region_priority:
3234+
cross_region_parent_titles.remove(title_1)
32363235
else:
32373236
# Supersets can be removed if the user does specify region priority,
32383237
# except for "World" supersets where USA, Europe, or Japan are involved
32393238
if title_1.region_priority < title_2.region_priority:
3240-
if not ((
3241-
title_1.primary_region == 'USA'
3242-
or title_1.primary_region == 'Europe'
3243-
or title_1.primary_region == 'Japan')
3244-
and title_2.primary_region == 'World'):
3245-
cross_region_parent_titles.remove(title_2)
3239+
if not (
3240+
(
3241+
title_1.primary_region == 'USA'
3242+
or title_1.primary_region == 'Europe'
3243+
or title_1.primary_region == 'Japan'
3244+
)
3245+
and title_2.primary_region == 'World'
3246+
):
3247+
cross_region_parent_titles.remove(title_2)
32463248
elif title_2.region_priority < title_1.region_priority:
3247-
if not ((
3248-
title_2.primary_region == 'USA'
3249-
or title_2.primary_region == 'Europe'
3250-
or title_2.primary_region == 'Japan')
3251-
and title_1.primary_region == 'World'):
3252-
cross_region_parent_titles.remove(title_1)
3249+
if not (
3250+
(
3251+
title_2.primary_region == 'USA'
3252+
or title_2.primary_region == 'Europe'
3253+
or title_2.primary_region == 'Japan'
3254+
)
3255+
and title_1.primary_region == 'World'
3256+
):
3257+
cross_region_parent_titles.remove(title_1)
32533258

32543259
if report_on_match:
32553260
TraceTools.trace_title(

modules/constants.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Set the user files and options
22
VERSION_MAJOR: str = '2.03'
3-
VERSION_MINOR: str = '1'
3+
VERSION_MINOR: str = '2'
44
CLONE_LIST_METADATA_DOWNLOAD_LOCATION: str = (
55
'https://raw.githubusercontent.com/unexpectedpanda/retool-clonelists-metadata/main'
66
)

0 commit comments

Comments
 (0)