Skip to content

Merge 2.0.0 into master #211

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 84 commits into from
Apr 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
f1cb1a6
Fix #52 Comparisons with empty masks
Avasam Nov 27, 2021
3b30aa6
Save 'Check For Updates On Open' immediatly
Avasam Nov 28, 2021
c1b8c85
showErrorSignal to show error message box from another thread
Avasam Nov 28, 2021
2e3336a
Fixes #86 Stop uncaught exceptions from silently crashing the app
Avasam Nov 28, 2021
5f98309
Merge pull request #72 from Avasam/Fix-#52-Comparisons-with-empty-masks
Toufool Nov 28, 2021
393ca84
Merge pull request #116 from Avasam/show-errors-outside-main-thread
Toufool Nov 28, 2021
25dece7
Fixes #86 Stop uncaught exceptions from silently crashing the app
Avasam Nov 28, 2021
cc6066c
Merge branch 'dev' of https://github.com/Toufool/Auto-Split into show…
Avasam Nov 28, 2021
0d6ccf6
Merge pull request #118 from Avasam/show-errors-outside-main-thread
Toufool Nov 28, 2021
3cb2aa6
Fix #114, try to load Start Image on browse & load settings, don't al…
Toufool Nov 28, 2021
3f23c55
First linting pass
Avasam Nov 29, 2021
667696c
Merge pull request #92 from Avasam/linting
Toufool Nov 29, 2021
13b4d43
Moved most settings to pyproject.toml and ran autopep8
Avasam Nov 29, 2021
9840fd9
Removed mypy and Fixed import-outside-toplevel
Avasam Nov 29, 2021
feda2ad
Double quotes and pylint complete linting
Avasam Nov 29, 2021
09b34fc
Configured linting workflow
Avasam Nov 30, 2021
5c17beb
Async check for updates
Avasam Nov 30, 2021
458ed20
Merge branch 'dev' of https://github.com/Toufool/Auto-Split into Save…
Avasam Nov 30, 2021
ab9b2c0
Merge pull request #115 from Avasam/Save-'Check-For-Updates-On-Open'-…
Toufool Dec 3, 2021
4cd2b9e
Merge pull request #122 from Avasam/github-actions
Toufool Dec 3, 2021
3602d5f
Fix crash on LiveSplit open and missing link in error message
Avasam Dec 3, 2021
fd0721e
Merge branch '2.0.0' of https://github.com/Toufool/Auto-Split into li…
Avasam Dec 3, 2021
cb4b293
Merge pull request #121 from Avasam/linting
Toufool Dec 3, 2021
002b097
Merge
Avasam Dec 3, 2021
6bfd4cb
Merge branch 'dev' of https://github.com/Toufool/Auto-Split into 2.0.0
Avasam Dec 3, 2021
0b704d6
Merge branch '2.0.0' into Save-'Check-For-Updates-On-Open'-immediatly
Avasam Dec 3, 2021
fdcffa9
Fixed certificate error and random crash on open when compiled
Avasam Dec 5, 2021
a2b1f3c
Merge pull request #125 from Avasam/2.0.0
Toufool Dec 5, 2021
f621fac
Using python/typeshed/pull/6492
Avasam Dec 5, 2021
f0fa0e2
PEP8 naming convention
Avasam Dec 5, 2021
fd97eba
Added build artifact
Avasam Dec 6, 2021
7c92122
AutoSplitImage Class and simplified code
Avasam Dec 6, 2021
e1e77ea
Average FPS over all images with all actions
Avasam Dec 6, 2021
0686ea4
Merge pull request #124 from Avasam/Save-'Check-For-Updates-On-Open'-…
Toufool Dec 6, 2021
b2e4e2a
Merge pull request #126 from Avasam/naming-convention
Toufool Dec 6, 2021
1663465
Merge pull request #127 from Avasam/SplitImage-as-class
Toufool Dec 6, 2021
e4566ea
Added badges
Avasam Dec 7, 2021
82a2d05
Merge pull request #128 from Avasam/main
Toufool Dec 7, 2021
c07b771
Fixed "Select Window" not working for windows with negative coordinates
Avasam Dec 8, 2021
84a5bb4
Ability to recover window
Avasam Dec 8, 2021
f234fe9
Merge branch 'master' of https://github.com/Toufool/Auto-Split into R…
Avasam Dec 8, 2021
709e6c1
Merge pull request #129 from Avasam/Recover-from-closed-capture-window
Toufool Dec 10, 2021
69ffb11
Differentiate "undo/skip split" from "previous/next image"
Avasam Dec 10, 2021
822c8aa
Merge pull request #131 from Avasam/Feature-Request--Previous/Next-Im…
Toufool Dec 11, 2021
93b089f
Make Save Settings more intuitive
Avasam Dec 11, 2021
1736443
Merge pull request #132 from Avasam/Make-Save-Settings-more-intuitive
Toufool Dec 14, 2021
bbb257f
Initial UI update for 2.0.0. Add settings window.
Toufool Dec 14, 2021
65441ba
Hooked new settings window to actual values (#151)
Avasam Aug 6, 2022
86351fa
Image comparison method and default delay time (#135)
Avasam Sep 2, 2022
60a1277
Support hotkeys with modifiers (#136)
Avasam Sep 2, 2022
88d7d6a
Linted pyi files (#137)
Avasam Sep 3, 2022
6b928ca
Toml profiles + Python 3.10 (#140)
Avasam Sep 3, 2022
3b39fa1
Added new Capture Method system for more capture options + utils (#141)
Avasam Sep 3, 2022
537f8bf
Warning if AutoSplit is already open + Build number + Splash Screen +…
Avasam Sep 3, 2022
3845f60
Toggle autoreset image + ui adjustments (#164)
Avasam Sep 4, 2022
60576df
merge master into 2.0.0 (#165)
Toufool Sep 4, 2022
2c6cd9c
test building without --windowed
Toufool Sep 4, 2022
cae3919
First round of QA testing fixes (#171)
Avasam Sep 4, 2022
c055ab6
First round of QA testing fixes + build fixes (#172)
Avasam Sep 5, 2022
9553271
back to windowed
Toufool Sep 5, 2022
a139d29
Fix #47, updated some configs and types from typeshed (#173)
Avasam Sep 8, 2022
4b06065
More consistent formatting (#174)
Avasam Oct 17, 2022
af21cfd
Batch fixes (#176)
Avasam Oct 29, 2022
5873117
Adaptive resizing for masked images (#177)
Avasam Oct 29, 2022
d1d8247
Bump opencv-python to 4.6 (#178)
Avasam Oct 29, 2022
a698ec8
Point python_grabber to andreaschiavinato (#179)
Avasam Oct 29, 2022
aa975fa
Batch of updates and fixes for 2.0.0 (#188)
Avasam Nov 19, 2022
bc0cde0
Updated configs to use Python 3.11 (#180)
Avasam Nov 19, 2022
e154acc
Option to build without build number + Adaptive mask fix (#189)
Avasam Dec 23, 2022
5fcf7ab
pin requests and allow pyright warnings (#193)
Avasam Jan 14, 2023
d8caf9e
Fix B028 (#194)
Avasam Jan 14, 2023
0d6fc7f
Fixed run_start_time with start image pause loop (#197)
Avasam Feb 3, 2023
0e05151
Disable Capture device: dropdown when Capture method: is not Video Ca…
Avasam Feb 3, 2023
26f5e6e
Fix start issue after finishing splits (#199)
Avasam Feb 15, 2023
eeac963
Change default capture method to WGA (#200)
Avasam Feb 18, 2023
d110bd0
Delete example1.6.0.gif
Toufool Feb 20, 2023
e51c639
2.0.0 gif
Toufool Feb 20, 2023
5e31a82
update gif to 2.0.0
Toufool Feb 20, 2023
429fe96
Update some docs and fix lint issue (#202)
Avasam Mar 25, 2023
19adb71
Fix D3DDD issue on hybrid GPU laptops (#205)
Avasam Mar 25, 2023
661bab7
Fix obs-camera image freezing for a sec when it gives a blank frame (…
Avasam Mar 25, 2023
44af1f4
Linting and typing fixes (#208)
Avasam Apr 8, 2023
8226ed7
start image behavior
Toufool Apr 21, 2023
03d3623
Merge branch 'master' of https://github.com/Toufool/Auto-Split into 2…
Avasam Apr 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[flake8]
color=always
max-line-length=120
; Auto generated
exclude=src/gen/, typings/cv2-stubs/__init__.pyi
ignore=
; Linebreak before binary operator
W503,
; Closing bracket may not match multi-line method invocation style (enforced by add-trailing-comma)
E124,
; Allow imports at the bottom of file
E402,
; Not using typing_extensions
Y026,
; contextlib.suppress is roughly 3x slower than try/except
SIM105,
; False positives for attribute docstrings
CCE001,
per-file-ignores=
; Quotes
; Allow ... on same line as class
; Allow ... on same line as def
; Line too long
; Naming conventions can't be controlled for external libraries
; Variable names can't be controlled for external libraries
; Argument names can't be controlled for external libraries
; Attribute names can't be controlled for external libraries
; False positive Class level expression with elipsis
; Type re-exports
; mypy 3.7 Union issue
*.pyi: Q000,E701,E704,E501,N8,A001,A002,A003,CCE002,F401,Y037
; PyQt methods
ignore-names=closeEvent,paintEvent,keyPressEvent,mousePressEvent,mouseMoveEvent,mouseReleaseEvent
; McCabe max-complexity is also taken care of by Pylint and doesn't fail the build there
; So this is the hard limit
max-complexity=32
inline-quotes=double
90 changes: 65 additions & 25 deletions .github/workflows/lint-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,21 @@
name: Lint and build
on:
workflow_dispatch: # Allows manual builds
inputs:
excludeBuildNumber:
description: "Exclude build number"
required: true
default: false
type: boolean
push:
branches:
- main
- master
paths:
- "**.py"
- "**.pyi"
- "**.ui"
- ".github/workflows/lint-and-build.yml"
- "**/requirements.txt"
pull_request:
branches:
- main
Expand All @@ -20,22 +27,64 @@ on:
- "**.py"
- "**.pyi"
- "**.ui"
- ".github/workflows/lint-and-build.yml"
- "**/requirements*.txt"

env:
GITHUB_HEAD_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }}
GITHUB_EXCLUDE_BUILD_NUMBER: ${{ inputs.excludeBuildNumber }}

jobs:
isort:
runs-on: windows-latest
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
cache: "pip"
cache-dependency-path: "scripts/requirements*.txt"
- run: scripts/install.ps1
shell: pwsh
- name: Analysing the code with isort
run: isort src/ typings/ --check-only
add-trailing-comma:
runs-on: windows-latest
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
- run: pip install add-trailing-comma
- name: Analysing the code with add-trailing-comma
run: add-trailing-comma $(git ls-files '**.py*') --py36-plus
Bandit:
# Bandit only matters on the version deployed. Platform checks are ignored
runs-on: windows-latest
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
- run: pip install bandit
- name: Analysing the code with Bandit
run: bandit src/ -n 1 --severity-level medium --recursive
Pyright:
runs-on: windows-latest
strategy:
fail-fast: false
# Pyright is version and platform sensible
matrix:
python-version: ["3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
Expand All @@ -45,13 +94,16 @@ jobs:
- run: scripts/install.ps1
shell: pwsh
- name: Analysing the code with Pyright
run: pyright --warnings
uses: jakebailey/pyright-action@v1
with:
working-directory: src/
Pylint:
runs-on: windows-latest
strategy:
fail-fast: false
# Pylint is version and platform sensible
matrix:
python-version: ["3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
Expand All @@ -64,13 +116,14 @@ jobs:
- run: scripts/install.ps1
shell: pwsh
- name: Analysing the code with Pylint
run: pylint --reports=y --output-format=colorized src/
run: pylint src/ --reports=y --output-format=colorized
Flake8:
runs-on: windows-latest
strategy:
fail-fast: false
# Flake8 is tied to the version of Python on which it runs. Platform checks are ignored
matrix:
python-version: ["3.9", "3.10"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
Expand All @@ -83,28 +136,14 @@ jobs:
- run: scripts/install.ps1
shell: pwsh
- name: Analysing the code with Flake8
run: flake8
Bandit:
runs-on: windows-latest
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: "scripts/requirements*.txt"
- run: scripts/install.ps1
shell: pwsh
- name: Analysing the code with Bandit
run: bandit -n 1 --severity-level medium --recursive src
run: flake8 src/ typings/
Build:
runs-on: windows-latest
strategy:
fail-fast: false
# Only the Python version we plan on shipping matters.
matrix:
python-version: ["3.10"]
python-version: ["3.10", "3.11"]
steps:
- name: Checkout ${{ github.repository }}/${{ github.ref }}
uses: actions/checkout@v3
Expand All @@ -113,6 +152,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: "scripts/requirements.txt"
- run: scripts/install.ps1
shell: pwsh
- run: scripts/build.ps1
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# Caches
.cache/

# Byte-compiled / optimized / DLL files
__pycache__/

# Distribution / packaging
env/
build/
dist/
*.prof
# Generated
**/gen/*.py
!**/gen/*.pyi

# PyInstaller
# Usually these files are written by a python script from a template
Expand All @@ -16,3 +23,4 @@ dist/

# Dev settings
*.pkl
settings.toml
6 changes: 6 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"default": true,
"MD001": false,
"MD013": false,
"MD025": false
}
1 change: 1 addition & 0 deletions .sonarcloud.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sonar.python.version=3.9, 3.10, 3.11
39 changes: 33 additions & 6 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,41 @@
// Keep in alphabetical order
{
"recommendations": [
"ms-python.vscode-pylance",
"ms-python.python",
"sonarsource.sonarlint-vscode",
"bungcip.better-toml",
"davidanson.vscode-markdownlint",
"eamodio.gitlens",
"emeraldwalk.runonsave",
"ms-python.autopep8",
"ms-python.flake8",
"ms-python.isort",
"ms-python.pylint",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-vscode.powershell",
"pkief.material-icon-theme",
"redhat.vscode-xml",
"redhat.vscode-yaml",
"shardulm94.trailing-spaces",
"eamodio.gitlens"
],
"unwantedRecommendations": [
// Must disable in this workspace //
// https://github.com/microsoft/vscode/issues/40239 //
//
// VSCode has implemented an optimized version
"coenraads.bracket-pair-colorizer",
"coenraads.bracket-pair-colorizer-2",
// Obsoleted by Pylance
"ms-pyright.pyright",
"esbenp.prettier-vscode"
]
// Not configurable per workspace, tends to conflict with other linters
"sonarsource.sonarlint-vscode",
//
// Don't recommend to autoinstall //
//
// We use autopep8
"ms-python.black-formatter",
// This is a Git project
"johnstoncode.svn-scm",
// Prefer using VSCode itself as a text editor
"vscodevim.vim",
],
}
38 changes: 38 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: AutoSplit (debug non-user code)",
"type": "python",
"request": "launch",
"preLaunchTask": "Compile resources",
"program": "src/AutoSplit.py",
"console": "integratedTerminal",
"justMyCode": false
},
{
"name": "Python: AutoSplit",
"type": "python",
"request": "launch",
"preLaunchTask": "Compile resources",
"program": "src/AutoSplit.py",
"console": "integratedTerminal",
"justMyCode": true
},
{
"name": "Python: AutoSplit --auto-controlled",
"type": "python",
"request": "launch",
"preLaunchTask": "Compile resources",
"program": "src/AutoSplit.py",
"args": [
"--auto-controlled"
],
"console": "integratedTerminal",
"justMyCode": true
}
]
}
Loading