From 38a09a2b6c5a26e3cef6bee4ebc7eb9d39b39897 Mon Sep 17 00:00:00 2001 From: John Strunk Date: Sun, 13 Aug 2023 09:28:20 -0400 Subject: [PATCH] Update watchdog to v3 - Adds workaround for typing issue Signed-off-by: John Strunk --- Pipfile | 2 +- Pipfile.lock | 59 ++++++++++++++++++++++++------------------------ wahoo_results.py | 11 ++++++--- 3 files changed, 38 insertions(+), 34 deletions(-) diff --git a/Pipfile b/Pipfile index 9362b5e1..b6aaf16f 100644 --- a/Pipfile +++ b/Pipfile @@ -10,7 +10,7 @@ python-dateutil = "*" requests = "*" semver = "*" ttkwidgets = "*" -watchdog = "<3.0.0" # 3.0.0 has broken type info +watchdog = "*" DateTime = "*" Pillow = "*" PyChromecast = ">=13.0.5" # 13.0.5 fixed poll/select on Windows diff --git a/Pipfile.lock b/Pipfile.lock index 72471b55..d61e9bc2 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "b103d856a926c894438c4500736d960068627116f9fe878321e84a0245859611" + "sha256": "16914f7a559efa333bb614c6b9752d30c507d9d9682ae0b498da7c6b13eb9433" }, "pipfile-spec": 6, "requires": { @@ -932,37 +932,36 @@ }, "watchdog": { "hashes": [ - "sha256:03f342a9432fe08107defbe8e405a2cb922c5d00c4c6c168c68b633c64ce6190", - "sha256:0d9878be36d2b9271e3abaa6f4f051b363ff54dbbe7e7df1af3c920e4311ee43", - "sha256:0e1dd6d449267cc7d6935d7fe27ee0426af6ee16578eed93bacb1be9ff824d2d", - "sha256:2caf77ae137935c1466f8cefd4a3aec7017b6969f425d086e6a528241cba7256", - "sha256:3d2dbcf1acd96e7a9c9aefed201c47c8e311075105d94ce5e899f118155709fd", - "sha256:4109cccf214b7e3462e8403ab1e5b17b302ecce6c103eb2fc3afa534a7f27b96", - "sha256:4cd61f98cb37143206818cb1786d2438626aa78d682a8f2ecee239055a9771d5", - "sha256:53f3e95081280898d9e4fc51c5c69017715929e4eea1ab45801d5e903dd518ad", - "sha256:564e7739abd4bd348aeafbf71cc006b6c0ccda3160c7053c4a53b67d14091d42", - "sha256:5b848c71ef2b15d0ef02f69da8cc120d335cec0ed82a3fa7779e27a5a8527225", - "sha256:5defe4f0918a2a1a4afbe4dbb967f743ac3a93d546ea4674567806375b024adb", - "sha256:6f5d0f7eac86807275eba40b577c671b306f6f335ba63a5c5a348da151aba0fc", - "sha256:7a1876f660e32027a1a46f8a0fa5747ad4fcf86cb451860eae61a26e102c8c79", - "sha256:7a596f9415a378d0339681efc08d2249e48975daae391d58f2e22a3673b977cf", - "sha256:85bf2263290591b7c5fa01140601b64c831be88084de41efbcba6ea289874f44", - "sha256:8a4d484e846dcd75e96b96d80d80445302621be40e293bfdf34a631cab3b33dc", - "sha256:8f2df370cd8e4e18499dd0bfdef476431bcc396108b97195d9448d90924e3131", - "sha256:91fd146d723392b3e6eb1ac21f122fcce149a194a2ba0a82c5e4d0ee29cd954c", - "sha256:95ad708a9454050a46f741ba5e2f3468655ea22da1114e4c40b8cbdaca572565", - "sha256:964fd236cd443933268ae49b59706569c8b741073dbfd7ca705492bae9d39aab", - "sha256:9da7acb9af7e4a272089bd2af0171d23e0d6271385c51d4d9bde91fe918c53ed", - "sha256:a073c91a6ef0dda488087669586768195c3080c66866144880f03445ca23ef16", - "sha256:a74155398434937ac2780fd257c045954de5b11b5c52fc844e2199ce3eecf4cf", - "sha256:aa8b028750b43e80eea9946d01925168eeadb488dfdef1d82be4b1e28067f375", - "sha256:d1f1200d4ec53b88bf04ab636f9133cb703eb19768a39351cee649de21a33697", - "sha256:d9f9ed26ed22a9d331820a8432c3680707ea8b54121ddcc9dc7d9f2ceeb36906", - "sha256:ea5d86d1bcf4a9d24610aa2f6f25492f441960cf04aed2bd9a97db439b643a7b", - "sha256:efe3252137392a471a2174d721e1037a0e6a5da7beb72a021e662b7000a9903f" + "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a", + "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100", + "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8", + "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc", + "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae", + "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41", + "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0", + "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f", + "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c", + "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9", + "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3", + "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709", + "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83", + "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759", + "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9", + "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3", + "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7", + "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f", + "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346", + "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674", + "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397", + "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96", + "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d", + "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a", + "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64", + "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44", + "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33" ], "index": "pypi", - "version": "==2.3.1" + "version": "==3.0.0" }, "yarl": { "hashes": [ diff --git a/wahoo_results.py b/wahoo_results.py index 6b0e35d7..ebae6a79 100755 --- a/wahoo_results.py +++ b/wahoo_results.py @@ -33,7 +33,12 @@ from requests.exceptions import RequestException from sentry_sdk.integrations.socket import SocketIntegration from sentry_sdk.integrations.threading import ThreadingIntegration -from watchdog.observers import Observer # type: ignore +from watchdog.observers import Observer + +# We can't use Observer in type specifications due to +# https://github.com/gorakhargosh/watchdog/issues/982 but we can use +# BaseObserver as a workaround +from watchdog.observers.api import BaseObserver import autotest import imagecast @@ -152,7 +157,7 @@ def handle_bg_import() -> None: model.bg_clear.add(lambda: model.image_bg.set("")) -def setup_scb_watcher(model: Model, observer: Observer) -> None: +def setup_scb_watcher(model: Model, observer: BaseObserver) -> None: """Set up file system watcher for startlists""" def process_startlists() -> None: @@ -231,7 +236,7 @@ def load_result(model: Model, filename: str) -> Optional[RaceTimes]: return racetime -def setup_do4_watcher(model: Model, observer: Observer) -> None: +def setup_do4_watcher(model: Model, observer: BaseObserver) -> None: """Set up watches for files/directories and connect to model""" def process_racedir() -> None: