Cache get

This commit is contained in:
Andras Schmelczer 2022-07-04 09:28:35 +02:00
parent 286d2c0893
commit 5a4adc43fe
No known key found for this signature in database
GPG key ID: 0EA1BC97D0AB076E

View file

@ -2,6 +2,7 @@ import os
import shutil import shutil
import tempfile import tempfile
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from functools import lru_cache
from pathlib import Path from pathlib import Path
from types import TracebackType from types import TracebackType
from typing import IO, Any, List, Optional, Type, Union, cast from typing import IO, Any, List, Optional, Type, Union, cast
@ -141,6 +142,7 @@ class LargeFile(ABC):
def version(self) -> int: def version(self) -> int:
return cast(int, self._version) return cast(int, self._version)
@lru_cache(1)
def get(self, hide_progress: bool = False) -> Path: def get(self, hide_progress: bool = False) -> Path:
remote_path = next( remote_path = next(
i.remote_path for i in self._instances if i.version == self._version i.remote_path for i in self._instances if i.version == self._version