Remove get_sorted method from ProxyStorage
This commit is contained in:
@@ -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,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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user