alissa-tools-github-revloop 0.31.26__tar.gz → 0.31.27__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {alissa_tools_github_revloop-0.31.26/src/main/alissa_tools_github_revloop.egg-info → alissa_tools_github_revloop-0.31.27}/PKG-INFO +1 -1
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/janitor.py +24 -6
- alissa_tools_github_revloop-0.31.27/src/main/alissa/tools/github/revloop/version +1 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27/src/main/alissa_tools_github_revloop.egg-info}/PKG-INFO +1 -1
- alissa_tools_github_revloop-0.31.26/src/main/alissa/tools/github/revloop/version +0 -1
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/LICENSE +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/MANIFEST.in +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/NOTICE +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/README.md +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/requirements.txt +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/setup.cfg +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/setup.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/__init__.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/__main__.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/alissa.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/alissa_client.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/bows.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/config.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/fleet_vitals.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/ghclient.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/loop.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/loop_events.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/parking.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/proc.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/prompts.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/prreview.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/state.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/trust.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/version.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/__init__.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/__main__.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/auth.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/page.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/server.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/sources.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa/tools/github/revloop/webui/sysinfo.py +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa_tools_github_revloop.egg-info/SOURCES.txt +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa_tools_github_revloop.egg-info/dependency_links.txt +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa_tools_github_revloop.egg-info/entry_points.txt +0 -0
- {alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/src/main/alissa_tools_github_revloop.egg-info/top_level.txt +0 -0
|
@@ -132,12 +132,18 @@ class HeldWalk:
|
|
|
132
132
|
newest mtime when the walk began, the sweep `now` it began at, the bytes
|
|
133
133
|
counted so far, and the directories still to read. A resumed walk's
|
|
134
134
|
total may count a directory removed since it was read; it never counts a
|
|
135
|
-
directory twice.
|
|
135
|
+
directory twice.
|
|
136
|
+
|
|
137
|
+
`advanced` is the sweep `now` the walk last read a directory (issue
|
|
138
|
+
#191), 0 until it has. Kept walks resume least-recently-advanced first,
|
|
139
|
+
so two walks that each need several sweeps take turns: the one that just
|
|
140
|
+
had the leftover budget waits behind the one that did not."""
|
|
136
141
|
|
|
137
142
|
mtime: float
|
|
138
143
|
started: float
|
|
139
144
|
total: int
|
|
140
145
|
stack: "list[str]"
|
|
146
|
+
advanced: float = 0.0
|
|
141
147
|
|
|
142
148
|
|
|
143
149
|
# One held folder's cached size, by path: either a finished walk, as
|
|
@@ -751,16 +757,26 @@ def _size_held(
|
|
|
751
757
|
resumed walk is cached as of the sweep it began in, so the hourly
|
|
752
758
|
re-walk counts from the oldest directory it read.
|
|
753
759
|
|
|
760
|
+
Kept walks go least-recently-advanced first, not oldest first (issue
|
|
761
|
+
#191). Otherwise a walk that needs more than SIZE_CACHE_SECONDS of
|
|
762
|
+
sweeps -- whose figure has expired by the sweep after it lands, so it
|
|
763
|
+
starts over -- takes every sweep's leftover budget, and a younger kept
|
|
764
|
+
walk never reads a directory.
|
|
765
|
+
|
|
754
766
|
`sizes` is then re-keyed to this sweep's held folders: entries for gone
|
|
755
767
|
folders drop out, and so do unsized folders whose walk never began."""
|
|
756
768
|
previous = sizes or {}
|
|
757
769
|
|
|
758
|
-
def
|
|
759
|
-
|
|
770
|
+
def turn(item: "tuple[float, Candidate, str]") -> "tuple[bool, float]":
|
|
771
|
+
kept = previous.get(item[1].path)
|
|
772
|
+
if isinstance(kept, HeldWalk):
|
|
773
|
+
return True, kept.advanced
|
|
774
|
+
return False, 0.0
|
|
760
775
|
|
|
761
776
|
seen: SizeCache = {}
|
|
762
|
-
# Stable: oldest first
|
|
763
|
-
|
|
777
|
+
# Stable: oldest first among the folders not cut short and among kept
|
|
778
|
+
# walks that last advanced in the same sweep, as the sweep queued them.
|
|
779
|
+
for mtime, candidate, key in sorted(queue, key=turn):
|
|
764
780
|
cached = previous.get(candidate.path)
|
|
765
781
|
if (isinstance(cached, tuple) and cached[0] == mtime
|
|
766
782
|
and now - cached[2] < SIZE_CACHE_SECONDS):
|
|
@@ -773,9 +789,11 @@ def _size_held(
|
|
|
773
789
|
if isinstance(cached, HeldWalk) and cached.mtime == mtime:
|
|
774
790
|
progress = cached
|
|
775
791
|
else:
|
|
776
|
-
progress = HeldWalk(mtime, now, 0, [os.fspath(candidate.path)]
|
|
792
|
+
progress = HeldWalk(mtime, now, 0, [os.fspath(candidate.path)],
|
|
793
|
+
cached.advanced if isinstance(cached, HeldWalk) else 0.0)
|
|
777
794
|
walked = None
|
|
778
795
|
if not out_of_time():
|
|
796
|
+
progress.advanced = now
|
|
779
797
|
walked = held_bytes_of(candidate.path, out_of_time, progress)
|
|
780
798
|
resumable = resumable or walked is None
|
|
781
799
|
if walked is None:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.31.27
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.31.26
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{alissa_tools_github_revloop-0.31.26 → alissa_tools_github_revloop-0.31.27}/requirements.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|