Remove get_sorted method from ProxyStorage

This commit is contained in:
monosans
2024-01-29 00:32:31 +03:00
parent 4aad31cd73
commit 51c847811c
2 changed files with 3 additions and 24 deletions
+1 -1
View File
@@ -66,7 +66,7 @@ def save_proxies(*, settings: Settings, storage: ProxyStorage) -> None:
) as f:
json.dump(proxy_dicts, f, ensure_ascii=False, indent="\t")
if settings.output_txt:
sorted_proxies = storage.get_sorted(key=settings.sorting_key)
sorted_proxies = sorted(storage, key=settings.sorting_key)
grouped_proxies = tuple(
(k, sorted(v, key=settings.sorting_key))
for k, v in storage.get_grouped().items()
+2 -23
View File
@@ -2,25 +2,13 @@ from __future__ import annotations
import itertools
from collections import Counter
from typing import (
TYPE_CHECKING,
Callable,
Dict,
Iterable,
Iterator,
List,
Set,
Tuple,
)
from typing import Dict, Iterable, Iterator, Set, Tuple
from aiohttp_socks import ProxyType
from . import sort
from .proxy import Proxy
if TYPE_CHECKING:
from _typeshed import SupportsRichComparison
class ProxyStorage:
__slots__ = ("_proxies", "enabled_protocols")
@@ -43,19 +31,10 @@ class ProxyStorage:
for proto in sort.PROTOCOL_ORDER
if proto in self.enabled_protocols
}
for (_, proto), v in itertools.groupby(
sorted(self._proxies, key=key), key=key
):
for (_, proto), v in itertools.groupby(sorted(self, key=key), key=key):
d[proto] = tuple(v)
return d
def get_sorted(
self,
*,
key: Callable[[Proxy], SupportsRichComparison] = sort.protocol_sort_key,
) -> List[Proxy]:
return sorted(self._proxies, key=key)
def get_count(self) -> Dict[ProxyType, int]:
return dict(Counter(proxy.protocol for proxy in self._proxies))