Skip to content

Commit 5a5c0d0

Browse files
authored
Merge pull request #62 from 201st-Luka/unstable
rebase before publishing
2 parents da8bbda + eef7f2f commit 5a5c0d0

154 files changed

Lines changed: 1306 additions & 117 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ jobs:
3535
VERSION=$(python3 -c "import pyclasher; print(pyclasher.__version__)")
3636
echo "Package version: $VERSION"
3737
echo "PACKAGE_VERSION=$VERSION" >> $GITHUB_ENV
38-
- name: Upload
38+
- name: Upload to test.pypi.org
3939
run: python3 -m twine upload -u __token__ -p ${{ secrets.TEST_PYPI_TOKEN }} --repository testpypi --skip-existing dist/*
40-
- name: Test
40+
- name: Test of release
4141
run: pip install -i https://test.pypi.org/simple/ pyclasher==$PACKAGE_VERSION
42-
- name: Upload
42+
- name: Upload to pypi.org
4343
run: python3 -m twine upload -u __token__ -p ${{ secrets.PYPI_TOKEN }} --repository pypi dist/*

pyclasher/__init__.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,35 @@
1111

1212
__version__ = '1.0.0'
1313

14-
from .api import *
14+
from .api.bulk_requests import *
15+
from .api.requests import *
1516
from .client import Client
1617
from .exceptions import (
17-
PyClasherException, ApiException, ApiExceptions, UnknownApiException,
18-
MISSING, Missing, RequestNotDone, RequestTimeout, BadRequest, NotFound,
19-
Throttled, Maintenance, AccessDenied, NoClient, InvalidClientId,
20-
ClientIsRunning, ClientIsNotRunning, ClientRunningOverwrite,
21-
ClientAlreadyInitialised, LoginNotDone, InvalidLoginData, InvalidType,
22-
InvalidTimeFormat, InvalidSeasonFormat, NoneToken
18+
PyClasherException,
19+
ApiException,
20+
ApiExceptions,
21+
UnknownApiException,
22+
MISSING,
23+
Missing,
24+
RequestNotDone,
25+
RequestTimeout,
26+
BadRequest,
27+
NotFound,
28+
Throttled,
29+
Maintenance,
30+
AccessDenied,
31+
NoClient,
32+
InvalidClientId,
33+
ClientIsRunning,
34+
ClientIsNotRunning,
35+
ClientRunningOverwrite,
36+
ClientAlreadyInitialised,
37+
LoginNotDone,
38+
InvalidLoginData,
39+
InvalidType,
40+
InvalidTimeFormat,
41+
InvalidSeasonFormat,
42+
NoneToken
2343
)
2444

2545
__all__ = (

pyclasher/api/__init__.py

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,36 @@
1-
from .bulk_requests import *
2-
from .models import *
3-
from .requests import *
1+
from .bulk_requests import PlayerBulkRequest
2+
from .requests import (
3+
BuilderBaseLeagueRequest,
4+
BuilderBaseLeaguesRequest,
5+
CapitalLeagueRequest,
6+
CapitalLeaguesRequest,
7+
CapitalRankingsRequest,
8+
ClanRequest,
9+
ClanBuilderBaseRankingsRequest,
10+
ClanCapitalRaidSeasonsRequest,
11+
ClanCurrentWarRequest,
12+
ClanCurrentwarLeaguegroupRequest,
13+
ClanLabelsRequest,
14+
ClanMembersRequest,
15+
ClanRankingsRequest,
16+
ClanSearchRequest,
17+
ClanWarLogRequest,
18+
ClanWarleaguesWarsRequest,
19+
GoldPassRequest,
20+
LeagueRequest,
21+
LeagueSeasonRequest,
22+
LeagueSeasonsRequest,
23+
LeaguesRequest,
24+
LocationRequest,
25+
LocationsRequest,
26+
PlayerRequest,
27+
PlayerBuilderBaseRankingsRequest,
28+
PlayerLabelsRequest,
29+
PlayerRankingsRequest,
30+
WarLeagueRequest,
31+
WarLeaguesRequest
32+
)
33+
434

535
__all__ = (
636
"PlayerBulkRequest",

pyclasher/api/bulk_requests/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from .b_player import PlayerBulkRequest
2-
from .abc import BulkRequestModel
32

43
__all__ = (
54
"PlayerBulkRequest",

pyclasher/api/bulk_requests/abc.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
1-
from asyncio import gather, get_running_loop, run
1+
from asyncio import gather
2+
3+
4+
__all__ = (
5+
'BulkRequestModel',
6+
)
27

38

49
class BulkRequestModel:
510
_request_model = ...
611
_requests = None
712

13+
def __init__(self):
14+
self._tasks = None
15+
816
@property
917
def request_model(self):
1018
return self._request_model
@@ -29,7 +37,8 @@ def __len__(self):
2937
return len(self._requests)
3038

3139
def __getitem__(self, item):
32-
self._requests[0].to_dict() # test if the `to_dict()` method raises `RequestNotDone`
40+
self._requests[0].to_dict()
41+
# test if the `to_dict()` method raises `RequestNotDone`
3342
if isinstance(item, int):
3443
return self._requests[item]
3544
if isinstance(item, slice):

pyclasher/api/bulk_requests/abc.pyi

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
from typing import Any, Coroutine, Iterator, Generator
22

33

4+
__all__ = (
5+
'BulkRequestModel',
6+
)
7+
8+
49
class BulkRequestModel:
510
"""
611
bulk request base model
@@ -16,6 +21,9 @@ class BulkRequestModel:
1621
_request_model: Any = ...
1722
_requests: list = None
1823

24+
def __init__(self):
25+
self._tasks: list[Coroutine] = ...
26+
1927
@property
2028
def request_model(self) -> Any:
2129
"""

pyclasher/api/bulk_requests/b_player.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1-
from asyncio import get_running_loop, run
2-
31
from .abc import BulkRequestModel
42
from ..models import BaseClan
53
from ..models import Clan
64
from ..requests import PlayerRequest, ClanMembersRequest
75
from ...exceptions import MISSING
86

97

8+
__all__ = (
9+
'PlayerBulkRequest'
10+
)
11+
12+
1013
class PlayerBulkRequest(BulkRequestModel):
1114
_request_model = PlayerRequest
1215

1316
def __init__(self, tags):
17+
super().__init__()
1418
self._tags = tags
1519
self._requests = list(self._request_model(tag) for tag in self.tags)
1620
return

pyclasher/api/bulk_requests/b_player.pyi

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
from typing import Iterable, Coroutine, Any, Iterator
1+
from typing import Iterable, Iterator
22

33
from .abc import BulkRequestModel
4-
from ..models import BaseClan, ClanMemberList, ClanWarMemberList, \
5-
ClanWarLeagueClanMemberList, \
4+
from ..models import (
5+
BaseClan,
6+
ClanMemberList,
7+
ClanWarMemberList,
8+
ClanWarLeagueClanMemberList,
69
ClanCapitalRaidSeasonMemberList
10+
)
711
from ..requests import PlayerRequest, ClanMembersRequest
812

913

14+
__all__ = (
15+
'PlayerBulkRequest',
16+
)
17+
18+
1019
class PlayerBulkRequest(BulkRequestModel):
1120
"""
1221
class for requesting multiple players at once in parallel

0 commit comments

Comments
 (0)