11 Commits

Author SHA1 Message Date
Dan Albert
5860518f92 Use Pillow types from typeshed.
(cherry picked from commit a19a0b678974632549b418764c86b4714354cee1)
2021-07-11 13:54:19 -07:00
Dan Albert
68473ae63a Update to latest pydcs.
This includes the basics that we need to get type checking for pydcs
calls.

Type checking has been disabled in a few monkey-patching cases. Patches
ought to be sent upstream (or in the case of dead unit tracking,
replaced with a better model).

(cherry picked from commit 9de08dc83ff1ed30b15f5c7acc21da316fce9b6b)
2021-07-11 13:38:54 -07:00
Dan Albert
19980e5d6b Flesh out typing information, enforce.
(cherry picked from commit fb9a0fe833198d41a911f22d5efc4e3c4829c316)
2021-07-07 17:42:21 -07:00
Dan Albert
85be9df481 Disallow partially specified generics.
(cherry picked from commit 69c3d41a8ad967db27e99235c2f7b9196d29e6b9)
2021-07-07 16:07:58 -07:00
Dan Albert
9bc8b51794 Type check the contents of untyped functions.
By default mypy doesn't type check the code within an untyped function.
This enables that and fixes typing errors to accomodate it.

This did uncover a very old bug:
https://github.com/dcs-liberation/dcs_liberation/issues/1417

(cherry picked from commit fc32b983413dd741a23d33db6da89ddcba7bed64)
2021-07-07 16:07:57 -07:00
Dan Albert
e9bc3f3e69 Fix unreachable code issues, enable checking.
The loadout case actually could (and previously did) hide bugs from the
type checker, since mypy was smart enough to see that we were removing
None from the input it assumed that the member was non-optional, but
later modifications could cause null values, and since those came from
the UI mypy couldn't reason about this. This meant that mypy assumed the
type could not be optional and wouldn't check that case.

(cherry picked from commit 299ed88f09d506df1a10e5454b237263e5cbeeab)
2021-07-07 16:07:56 -07:00
Dan Albert
3f5fdc580a Add (mostly disabled) mypy configs.
We're missing a lot of checking right now. Most of it requires
additional cleanup. For now I've enabled what I could and will follow up
to clean up and enable more checking.

(cherry picked from commit 29753a6aa9e38a2a2a9a0741ff9bda31b33498c2)
2021-07-07 16:07:54 -07:00
Dan Albert
4147d2f684 Initial squadrons implementation.
Doesn't actually do anything yet, but squadrons are created for each
aircraft type and pilots will be created as needed to fill flights.

https://github.com/dcs-liberation/dcs_liberation/issues/276
2021-05-26 17:49:53 -07:00
Khopa
feed55186f Migrated "polygon" code to shapely 2020-12-12 02:31:43 +01:00
Dan Albert
db6b660270 Fix mypy issues in all modules except qt_ui. 2020-10-06 17:24:08 -07:00
Dan Albert
1808e5bccf Add initial mypy.ini. 2020-10-06 17:01:37 -07:00