Skip to content

Commit 849913a

Browse files
committed
style: Correcting return type annotation for Fetcher/AsyncFetcher (#93)
1 parent 7aa0830 commit 849913a

File tree

2 files changed

+379
-9
lines changed

2 files changed

+379
-9
lines changed

scrapling/engines/static.py

Lines changed: 378 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,195 @@ def __init__(self, *args, **kwargs):
650650
self.__aexit__ = None
651651
self._curl_session = True
652652

653+
# Setting the correct return types for the type checking/autocompletion
654+
def get(
655+
self,
656+
url: str,
657+
params: Optional[Dict | List | Tuple] = None,
658+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
659+
cookies: Optional[CookieTypes] = None,
660+
timeout: Optional[int | float] = _UNSET,
661+
follow_redirects: Optional[bool] = _UNSET,
662+
max_redirects: Optional[int] = _UNSET,
663+
retries: Optional[int] = _UNSET,
664+
retry_delay: Optional[int] = _UNSET,
665+
proxies: Optional[ProxySpec] = _UNSET,
666+
proxy: Optional[str] = _UNSET,
667+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
668+
auth: Optional[Tuple[str, str]] = None,
669+
verify: Optional[bool] = _UNSET,
670+
cert: Optional[str | Tuple[str, str]] = _UNSET,
671+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
672+
http3: Optional[bool] = _UNSET,
673+
stealthy_headers: Optional[bool] = _UNSET,
674+
**kwargs,
675+
) -> Response:
676+
return super().get(
677+
url,
678+
params,
679+
headers,
680+
cookies,
681+
timeout,
682+
follow_redirects,
683+
max_redirects,
684+
retries,
685+
retry_delay,
686+
proxies,
687+
proxy,
688+
proxy_auth,
689+
auth,
690+
verify,
691+
cert,
692+
impersonate,
693+
http3,
694+
stealthy_headers,
695+
**kwargs,
696+
)
697+
698+
def post(
699+
self,
700+
url: str,
701+
data: Optional[Dict | str] = None,
702+
json: Optional[Dict | List] = None,
703+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
704+
params: Optional[Dict | List | Tuple] = None,
705+
cookies: Optional[CookieTypes] = None,
706+
timeout: Optional[int | float] = _UNSET,
707+
follow_redirects: Optional[bool] = _UNSET,
708+
max_redirects: Optional[int] = _UNSET,
709+
retries: Optional[int] = _UNSET,
710+
retry_delay: Optional[int] = _UNSET,
711+
proxies: Optional[ProxySpec] = _UNSET,
712+
proxy: Optional[str] = _UNSET,
713+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
714+
auth: Optional[Tuple[str, str]] = None,
715+
verify: Optional[bool] = _UNSET,
716+
cert: Optional[str | Tuple[str, str]] = _UNSET,
717+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
718+
http3: Optional[bool] = _UNSET,
719+
stealthy_headers: Optional[bool] = _UNSET,
720+
**kwargs,
721+
) -> Response:
722+
return super().post(
723+
url,
724+
data,
725+
json,
726+
headers,
727+
params,
728+
cookies,
729+
timeout,
730+
follow_redirects,
731+
max_redirects,
732+
retries,
733+
retry_delay,
734+
proxies,
735+
proxy,
736+
proxy_auth,
737+
auth,
738+
verify,
739+
cert,
740+
impersonate,
741+
http3,
742+
stealthy_headers,
743+
**kwargs,
744+
)
745+
746+
def put(
747+
self,
748+
url: str,
749+
data: Optional[Dict | str] = None,
750+
json: Optional[Dict | List] = None,
751+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
752+
params: Optional[Dict | List | Tuple] = None,
753+
cookies: Optional[CookieTypes] = None,
754+
timeout: Optional[int | float] = _UNSET,
755+
follow_redirects: Optional[bool] = _UNSET,
756+
max_redirects: Optional[int] = _UNSET,
757+
retries: Optional[int] = _UNSET,
758+
retry_delay: Optional[int] = _UNSET,
759+
proxies: Optional[ProxySpec] = _UNSET,
760+
proxy: Optional[str] = _UNSET,
761+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
762+
auth: Optional[Tuple[str, str]] = None,
763+
verify: Optional[bool] = _UNSET,
764+
cert: Optional[str | Tuple[str, str]] = _UNSET,
765+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
766+
http3: Optional[bool] = _UNSET,
767+
stealthy_headers: Optional[bool] = _UNSET,
768+
**kwargs,
769+
) -> Response:
770+
return super().put(
771+
url,
772+
data,
773+
json,
774+
headers,
775+
params,
776+
cookies,
777+
timeout,
778+
follow_redirects,
779+
max_redirects,
780+
retries,
781+
retry_delay,
782+
proxies,
783+
proxy,
784+
proxy_auth,
785+
auth,
786+
verify,
787+
cert,
788+
impersonate,
789+
http3,
790+
stealthy_headers,
791+
**kwargs,
792+
)
793+
794+
def delete(
795+
self,
796+
url: str,
797+
data: Optional[Dict | str] = None,
798+
json: Optional[Dict | List] = None,
799+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
800+
params: Optional[Dict | List | Tuple] = None,
801+
cookies: Optional[CookieTypes] = None,
802+
timeout: Optional[int | float] = _UNSET,
803+
follow_redirects: Optional[bool] = _UNSET,
804+
max_redirects: Optional[int] = _UNSET,
805+
retries: Optional[int] = _UNSET,
806+
retry_delay: Optional[int] = _UNSET,
807+
proxies: Optional[ProxySpec] = _UNSET,
808+
proxy: Optional[str] = _UNSET,
809+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
810+
auth: Optional[Tuple[str, str]] = None,
811+
verify: Optional[bool] = _UNSET,
812+
cert: Optional[str | Tuple[str, str]] = _UNSET,
813+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
814+
http3: Optional[bool] = _UNSET,
815+
stealthy_headers: Optional[bool] = _UNSET,
816+
**kwargs,
817+
) -> Response:
818+
return super().delete(
819+
url,
820+
data,
821+
json,
822+
headers,
823+
params,
824+
cookies,
825+
timeout,
826+
follow_redirects,
827+
max_redirects,
828+
retries,
829+
retry_delay,
830+
proxies,
831+
proxy,
832+
proxy_auth,
833+
auth,
834+
verify,
835+
cert,
836+
impersonate,
837+
http3,
838+
stealthy_headers,
839+
**kwargs,
840+
)
841+
653842

654843
class AsyncFetcherClient(FetcherSession):
655844
def __init__(self, *args, **kwargs):
@@ -659,3 +848,192 @@ def __init__(self, *args, **kwargs):
659848
self.__aenter__ = None
660849
self.__aexit__ = None
661850
self._async_curl_session = True
851+
852+
# Setting the correct return types for the type checking/autocompletion
853+
def get(
854+
self,
855+
url: str,
856+
params: Optional[Dict | List | Tuple] = None,
857+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
858+
cookies: Optional[CookieTypes] = None,
859+
timeout: Optional[int | float] = _UNSET,
860+
follow_redirects: Optional[bool] = _UNSET,
861+
max_redirects: Optional[int] = _UNSET,
862+
retries: Optional[int] = _UNSET,
863+
retry_delay: Optional[int] = _UNSET,
864+
proxies: Optional[ProxySpec] = _UNSET,
865+
proxy: Optional[str] = _UNSET,
866+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
867+
auth: Optional[Tuple[str, str]] = None,
868+
verify: Optional[bool] = _UNSET,
869+
cert: Optional[str | Tuple[str, str]] = _UNSET,
870+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
871+
http3: Optional[bool] = _UNSET,
872+
stealthy_headers: Optional[bool] = _UNSET,
873+
**kwargs,
874+
) -> Awaitable[Response]:
875+
return super().get(
876+
url,
877+
params,
878+
headers,
879+
cookies,
880+
timeout,
881+
follow_redirects,
882+
max_redirects,
883+
retries,
884+
retry_delay,
885+
proxies,
886+
proxy,
887+
proxy_auth,
888+
auth,
889+
verify,
890+
cert,
891+
impersonate,
892+
http3,
893+
stealthy_headers,
894+
**kwargs,
895+
)
896+
897+
def post(
898+
self,
899+
url: str,
900+
data: Optional[Dict | str] = None,
901+
json: Optional[Dict | List] = None,
902+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
903+
params: Optional[Dict | List | Tuple] = None,
904+
cookies: Optional[CookieTypes] = None,
905+
timeout: Optional[int | float] = _UNSET,
906+
follow_redirects: Optional[bool] = _UNSET,
907+
max_redirects: Optional[int] = _UNSET,
908+
retries: Optional[int] = _UNSET,
909+
retry_delay: Optional[int] = _UNSET,
910+
proxies: Optional[ProxySpec] = _UNSET,
911+
proxy: Optional[str] = _UNSET,
912+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
913+
auth: Optional[Tuple[str, str]] = None,
914+
verify: Optional[bool] = _UNSET,
915+
cert: Optional[str | Tuple[str, str]] = _UNSET,
916+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
917+
http3: Optional[bool] = _UNSET,
918+
stealthy_headers: Optional[bool] = _UNSET,
919+
**kwargs,
920+
) -> Awaitable[Response]:
921+
return super().post(
922+
url,
923+
data,
924+
json,
925+
headers,
926+
params,
927+
cookies,
928+
timeout,
929+
follow_redirects,
930+
max_redirects,
931+
retries,
932+
retry_delay,
933+
proxies,
934+
proxy,
935+
proxy_auth,
936+
auth,
937+
verify,
938+
cert,
939+
impersonate,
940+
http3,
941+
stealthy_headers,
942+
**kwargs,
943+
)
944+
945+
def put(
946+
self,
947+
url: str,
948+
data: Optional[Dict | str] = None,
949+
json: Optional[Dict | List] = None,
950+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
951+
params: Optional[Dict | List | Tuple] = None,
952+
cookies: Optional[CookieTypes] = None,
953+
timeout: Optional[int | float] = _UNSET,
954+
follow_redirects: Optional[bool] = _UNSET,
955+
max_redirects: Optional[int] = _UNSET,
956+
retries: Optional[int] = _UNSET,
957+
retry_delay: Optional[int] = _UNSET,
958+
proxies: Optional[ProxySpec] = _UNSET,
959+
proxy: Optional[str] = _UNSET,
960+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
961+
auth: Optional[Tuple[str, str]] = None,
962+
verify: Optional[bool] = _UNSET,
963+
cert: Optional[str | Tuple[str, str]] = _UNSET,
964+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
965+
http3: Optional[bool] = _UNSET,
966+
stealthy_headers: Optional[bool] = _UNSET,
967+
**kwargs,
968+
) -> Awaitable[Response]:
969+
return super().put(
970+
url,
971+
data,
972+
json,
973+
headers,
974+
params,
975+
cookies,
976+
timeout,
977+
follow_redirects,
978+
max_redirects,
979+
retries,
980+
retry_delay,
981+
proxies,
982+
proxy,
983+
proxy_auth,
984+
auth,
985+
verify,
986+
cert,
987+
impersonate,
988+
http3,
989+
stealthy_headers,
990+
**kwargs,
991+
)
992+
993+
def delete(
994+
self,
995+
url: str,
996+
data: Optional[Dict | str] = None,
997+
json: Optional[Dict | List] = None,
998+
headers: Optional[Mapping[str, Optional[str]]] = _UNSET,
999+
params: Optional[Dict | List | Tuple] = None,
1000+
cookies: Optional[CookieTypes] = None,
1001+
timeout: Optional[int | float] = _UNSET,
1002+
follow_redirects: Optional[bool] = _UNSET,
1003+
max_redirects: Optional[int] = _UNSET,
1004+
retries: Optional[int] = _UNSET,
1005+
retry_delay: Optional[int] = _UNSET,
1006+
proxies: Optional[ProxySpec] = _UNSET,
1007+
proxy: Optional[str] = _UNSET,
1008+
proxy_auth: Optional[Tuple[str, str]] = _UNSET,
1009+
auth: Optional[Tuple[str, str]] = None,
1010+
verify: Optional[bool] = _UNSET,
1011+
cert: Optional[str | Tuple[str, str]] = _UNSET,
1012+
impersonate: Optional[BrowserTypeLiteral] = _UNSET,
1013+
http3: Optional[bool] = _UNSET,
1014+
stealthy_headers: Optional[bool] = _UNSET,
1015+
**kwargs,
1016+
) -> Awaitable[Response]:
1017+
return super().delete(
1018+
url,
1019+
data,
1020+
json,
1021+
headers,
1022+
params,
1023+
cookies,
1024+
timeout,
1025+
follow_redirects,
1026+
max_redirects,
1027+
retries,
1028+
retry_delay,
1029+
proxies,
1030+
proxy,
1031+
proxy_auth,
1032+
auth,
1033+
verify,
1034+
cert,
1035+
impersonate,
1036+
http3,
1037+
stealthy_headers,
1038+
**kwargs,
1039+
)

0 commit comments

Comments
 (0)