Simplify caching logic.

This commit is contained in:
Łukasz Langa 2018-08-17 10:14:10 -07:00
parent b7e216f554
commit 1dbe77cd91

View File

@ -399,14 +399,9 @@ def reformat_one(
mode=mode,
):
changed = Changed.YES
if write_back is WriteBack.YES:
should_write = changed is not Changed.CACHED
elif write_back is WriteBack.CHECK:
should_write = changed is Changed.NO
else:
should_write = False
if should_write:
if (write_back is WriteBack.YES and changed is not Changed.CACHED) or (
write_back is WriteBack.CHECK and changed is Changed.NO
):
write_cache(cache, [src], line_length, mode)
report.done(src, changed)
except Exception as exc:
@ -437,7 +432,7 @@ async def schedule_formatting(
for src in sorted(cached):
report.done(src, Changed.CACHED)
cancelled = []
formatted = []
sources_to_cache = []
if sources:
lock = None
if write_back == WriteBack.DIFF:
@ -475,17 +470,17 @@ async def schedule_formatting(
report.failed(src, str(task.exception()))
else:
changed = Changed.YES if task.result() else Changed.NO
# In normal mode, write all files to the cache.
if write_back is WriteBack.YES:
formatted.append(src)
# In check mode, write only unchanged files to the cache.
elif write_back is WriteBack.CHECK and changed is Changed.NO:
formatted.append(src)
# If the file was written back or was successfully checked as
# well-formatted, store this information in the cache.
if write_back is WriteBack.YES or (
write_back is WriteBack.CHECK and changed is Changed.NO
):
sources_to_cache.append(src)
report.done(src, changed)
if cancelled:
await asyncio.gather(*cancelled, loop=loop, return_exceptions=True)
if write_back in (WriteBack.YES, WriteBack.CHECK) and formatted:
write_cache(cache, formatted, line_length, mode)
if sources_to_cache:
write_cache(cache, sources_to_cache, line_length, mode)
def format_file_in_place(