From 10245c97c449ae2c4dc6d82b67b521b5a2b40137 Mon Sep 17 00:00:00 2001 From: Mitja Horvat Date: Wed, 2 Sep 2026 16:01:41 +0200 Subject: [PATCH] chore: ignore __pycache__ and runtime files, stop tracking generated artifacts --- .device_state.json | 1 - .gitignore | 9 +++++++++ 1780955064_slurp.png | Bin 12131 -> 0 bytes __pycache__/config.cpython-314.pyc | Bin 1309 -> 0 bytes __pycache__/devices.cpython-314.pyc | Bin 19290 -> 0 bytes __pycache__/server.cpython-314.pyc | Bin 12153 -> 0 bytes __pycache__/tui.cpython-314.pyc | Bin 5034 -> 0 bytes 7 files changed, 9 insertions(+), 1 deletion(-) delete mode 100644 .device_state.json create mode 100644 .gitignore delete mode 100644 1780955064_slurp.png delete mode 100644 __pycache__/config.cpython-314.pyc delete mode 100644 __pycache__/devices.cpython-314.pyc delete mode 100644 __pycache__/server.cpython-314.pyc delete mode 100644 __pycache__/tui.cpython-314.pyc diff --git a/.device_state.json b/.device_state.json deleted file mode 100644 index 2944648..0000000 --- a/.device_state.json +++ /dev/null @@ -1 +0,0 @@ -{"tv": {"budget": 3600, "last_online": "2026-06-15T16:02:02.797875", "last_check": 1781642261.0436604}, "gaja": {"budget": 196.5179741382599, "last_online": "2026-06-15T19:07:34.873875", "last_check": 1781642261.0427294}, "gabi": {"budget": 300.0, "last_online": "2026-06-15T19:07:45.943928", "last_check": 1781642261.042555}} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..529eebd --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Python bytecode +__pycache__/ +*.pyc + +# Runtime state +.device_state.json + +# Misc +*_slurp.png diff --git a/1780955064_slurp.png b/1780955064_slurp.png deleted file mode 100644 index 8e1525f73bd572b10baa2efaa8896b7fd8c8d4ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12131 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 diff --git a/__pycache__/config.cpython-314.pyc b/__pycache__/config.cpython-314.pyc deleted file mode 100644 index 281a3a1df298e79db4844dc40a8654bc40844aa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1309 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 M_|ZP-GN!=(FR53r_W%F@ diff --git a/__pycache__/server.cpython-314.pyc b/__pycache__/server.cpython-314.pyc deleted file mode 100644 index 7d5ffe036131e15c4cedf0d6aa91a1df0470ea05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12153 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 Gc>XtKHZIKo diff --git a/__pycache__/tui.cpython-314.pyc b/__pycache__/tui.cpython-314.pyc deleted file mode 100644 index 9b2c921395684fb208531d774f6e7ca326271c45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5034 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 B>$m^_