python-xbox 0.1.0rc0__tar.gz → 0.1.0rc2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_xbox-0.1.0rc0 → python_xbox-0.1.0rc2}/PKG-INFO +1 -1
- {python_xbox-0.1.0rc0 → python_xbox-0.1.0rc2}/pyproject.toml +10 -10
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/__init__.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/client.py +20 -20
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/account/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/achievements/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/achievements/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/catalog/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/catalog/const.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/catalog/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/cqs/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/cqs/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/gameclips/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/gameclips/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/lists/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/lists/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/mediahub/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/mediahub/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/message/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/message/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/people/__init__.py +3 -3
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/people/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/presence/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/presence/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/profile/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/profile/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/ratelimitedprovider.py +4 -4
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/screenshots/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/screenshots/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/smartglass/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/smartglass/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/titlehub/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/titlehub/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/usersearch/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/usersearch/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/userstats/__init__.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/userstats/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/manager.py +3 -3
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/models.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/xal.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/exceptions.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/ratelimits/__init__.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/request_signer.py +2 -2
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/signed_session.py +1 -1
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/authenticate.py +4 -4
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/change_gamertag.py +6 -6
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/friends.py +5 -5
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/search.py +3 -3
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/xal.py +4 -4
- {python_xbox-0.1.0rc0 → python_xbox-0.1.0rc2}/.gitignore +0 -0
- {python_xbox-0.1.0rc0 → python_xbox-0.1.0rc2}/LICENSE +0 -0
- {python_xbox-0.1.0rc0 → python_xbox-0.1.0rc2}/README.md +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/__init__.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/language.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/__init__.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/account/models.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/baseprovider.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/__init__.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/__init__.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/filetimes.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/models.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/ratelimits/models.py +0 -0
- {python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/__init__.py +0 -0
|
@@ -32,11 +32,11 @@ dynamic = ["version"]
|
|
|
32
32
|
Homepage = "https://github.com/tr4nt0r/python-xbox"
|
|
33
33
|
|
|
34
34
|
[project.scripts]
|
|
35
|
-
xbox-authenticate = "
|
|
36
|
-
xbox-change-gt = "
|
|
37
|
-
xbox-friends = "
|
|
38
|
-
xbox-searchlive = "
|
|
39
|
-
xbox-xal = "
|
|
35
|
+
xbox-authenticate = "pythonxbox.scripts.authenticate:main"
|
|
36
|
+
xbox-change-gt = "pythonxbox.scripts.change_gamertag:main"
|
|
37
|
+
xbox-friends = "pythonxbox.scripts.friends:main"
|
|
38
|
+
xbox-searchlive = "pythonxbox.scripts.search:main"
|
|
39
|
+
xbox-xal = "pythonxbox.scripts.xal:main"
|
|
40
40
|
|
|
41
41
|
[tool.ruff]
|
|
42
42
|
line-length = 88
|
|
@@ -78,14 +78,14 @@ tests = [
|
|
|
78
78
|
[tool.hatch.version]
|
|
79
79
|
source = "regex_commit"
|
|
80
80
|
commit_extra_args = ["-e"]
|
|
81
|
-
path = "
|
|
81
|
+
path = "src/pythonxbox/__init__.py"
|
|
82
82
|
|
|
83
83
|
[tool.hatch.build.targets.sdist]
|
|
84
84
|
include = [
|
|
85
|
-
"/
|
|
85
|
+
"src/pythonxbox",
|
|
86
86
|
]
|
|
87
87
|
[tool.hatch.build.targets.wheel]
|
|
88
|
-
packages = ["
|
|
88
|
+
packages = ["src/pythonxbox"]
|
|
89
89
|
|
|
90
90
|
[tool.hatch.envs.default]
|
|
91
91
|
python = "3.13"
|
|
@@ -110,12 +110,12 @@ extra-dependencies = [
|
|
|
110
110
|
"respx~=0.22",
|
|
111
111
|
"freezegun==1.5.5"
|
|
112
112
|
]
|
|
113
|
-
extra-args = ["--cov=
|
|
113
|
+
extra-args = ["--cov=src/", "--cov-report=term-missing", "--cov-report=xml", "-vv"]
|
|
114
114
|
|
|
115
115
|
[tool.pytest.ini_options]
|
|
116
116
|
asyncio_mode = "auto"
|
|
117
117
|
testpaths = ["tests"]
|
|
118
|
-
pythonpath = ["
|
|
118
|
+
pythonpath = ["src"]
|
|
119
119
|
|
|
120
120
|
[[tool.hatch.envs.hatch-test.matrix]]
|
|
121
121
|
python = ["3.14", "3.13", "3.12", "3.11"]
|
|
@@ -11,26 +11,26 @@ from typing import Any
|
|
|
11
11
|
from httpx import Response
|
|
12
12
|
from ms_cv import CorrelationVector
|
|
13
13
|
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
28
|
-
from
|
|
29
|
-
from
|
|
30
|
-
from
|
|
31
|
-
from
|
|
32
|
-
from
|
|
33
|
-
from
|
|
14
|
+
from pythonxbox.api.language import DefaultXboxLiveLanguages, XboxLiveLanguage
|
|
15
|
+
from pythonxbox.api.provider.account import AccountProvider
|
|
16
|
+
from pythonxbox.api.provider.achievements import AchievementsProvider
|
|
17
|
+
from pythonxbox.api.provider.catalog import CatalogProvider
|
|
18
|
+
from pythonxbox.api.provider.cqs import CQSProvider
|
|
19
|
+
from pythonxbox.api.provider.gameclips import GameclipProvider
|
|
20
|
+
from pythonxbox.api.provider.lists import ListsProvider
|
|
21
|
+
from pythonxbox.api.provider.mediahub import MediahubProvider
|
|
22
|
+
from pythonxbox.api.provider.message import MessageProvider
|
|
23
|
+
from pythonxbox.api.provider.people import PeopleProvider
|
|
24
|
+
from pythonxbox.api.provider.presence import PresenceProvider
|
|
25
|
+
from pythonxbox.api.provider.profile import ProfileProvider
|
|
26
|
+
from pythonxbox.api.provider.screenshots import ScreenshotsProvider
|
|
27
|
+
from pythonxbox.api.provider.smartglass import SmartglassProvider
|
|
28
|
+
from pythonxbox.api.provider.titlehub import TitlehubProvider
|
|
29
|
+
from pythonxbox.api.provider.usersearch import UserSearchProvider
|
|
30
|
+
from pythonxbox.api.provider.userstats import UserStatsProvider
|
|
31
|
+
from pythonxbox.authentication.manager import AuthenticationManager
|
|
32
|
+
from pythonxbox.common.exceptions import RateLimitExceededException
|
|
33
|
+
from pythonxbox.common.ratelimits import RateLimit
|
|
34
34
|
|
|
35
35
|
log = logging.getLogger("xbox.api")
|
|
36
36
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from
|
|
1
|
+
from pythonxbox.api.provider.account.models import (
|
|
2
2
|
ChangeGamertagResult,
|
|
3
3
|
ClaimGamertagResult,
|
|
4
4
|
)
|
|
5
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class AccountProvider(BaseProvider):
|
|
@@ -4,13 +4,13 @@ Achievements
|
|
|
4
4
|
Get Xbox 360 and Xbox One Achievement data
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.achievements.models import (
|
|
8
8
|
Achievement360ProgressResponse,
|
|
9
9
|
Achievement360Response,
|
|
10
10
|
AchievementResponse,
|
|
11
11
|
RecentProgressResponse,
|
|
12
12
|
)
|
|
13
|
-
from
|
|
13
|
+
from pythonxbox.api.provider.ratelimitedprovider import RateLimitedProvider
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class AchievementsProvider(RateLimitedProvider):
|
|
@@ -4,8 +4,8 @@ Store Catalog - Lookup Product Information
|
|
|
4
4
|
|
|
5
5
|
from typing import List
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
8
|
+
from pythonxbox.api.provider.catalog.models import (
|
|
9
9
|
AlternateIdType,
|
|
10
10
|
CatalogResponse,
|
|
11
11
|
CatalogSearchResponse,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Web API Constants."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from pythonxbox.api.provider.catalog.models import AlternateIdType
|
|
4
4
|
|
|
5
5
|
HOME_APP_IDS = {
|
|
6
6
|
AlternateIdType.LEGACY_XBOX_PRODUCT_ID: "7b3ca835-5ef5-4d96-bc84-c1d8b5084236",
|
|
@@ -5,8 +5,8 @@ Used for download stump (TV Streaming) data
|
|
|
5
5
|
(RemoteTVInput ServiceChannel on Smartglass)
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
|
-
from
|
|
9
|
-
from
|
|
8
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
9
|
+
from pythonxbox.api.provider.cqs.models import (
|
|
10
10
|
CqsChannelListResponse,
|
|
11
11
|
CqsScheduleResponse,
|
|
12
12
|
)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Gameclips - Get gameclip info
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
|
+
from pythonxbox.api.provider.gameclips.models import GameclipsResponse
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class GameclipProvider(BaseProvider):
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
EPLists - Mainly used for XBL Pins
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
|
+
from pythonxbox.api.provider.lists.models import ListMetadata, ListsResponse
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class ListsProvider(BaseProvider):
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Mediahub - Fetch screenshots and gameclips
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
|
+
from pythonxbox.api.provider.mediahub.models import (
|
|
7
7
|
MediahubGameclips,
|
|
8
8
|
MediahubScreenshots,
|
|
9
9
|
)
|
|
@@ -4,8 +4,8 @@ Message - Read and send messages
|
|
|
4
4
|
TODO: Support group messaging
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
8
|
+
from pythonxbox.api.provider.message.models import (
|
|
9
9
|
ConversationResponse,
|
|
10
10
|
InboxResponse,
|
|
11
11
|
SendMessageResponse,
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
People - Access friendlist from own profiles and others
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.people.models import (
|
|
6
6
|
PeopleDecoration,
|
|
7
7
|
PeopleResponse,
|
|
8
8
|
PeopleSummaryResponse,
|
|
9
9
|
)
|
|
10
|
-
from
|
|
10
|
+
from pythonxbox.api.provider.ratelimitedprovider import RateLimitedProvider
|
|
11
11
|
from typing import TYPE_CHECKING
|
|
12
12
|
|
|
13
13
|
if TYPE_CHECKING:
|
|
14
|
-
from
|
|
14
|
+
from pythonxbox.api.client import XboxLiveClient
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class PeopleProvider(RateLimitedProvider):
|
|
@@ -4,8 +4,8 @@ Presence - Get online status of friends
|
|
|
4
4
|
|
|
5
5
|
from typing import List
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
8
|
+
from pythonxbox.api.provider.presence.models import (
|
|
9
9
|
PresenceBatchResponse,
|
|
10
10
|
PresenceItem,
|
|
11
11
|
PresenceLevel,
|
|
@@ -6,8 +6,8 @@ Get Userprofiles by XUID or Gamertag
|
|
|
6
6
|
|
|
7
7
|
from typing import List
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
9
|
+
from pythonxbox.api.provider.ratelimitedprovider import RateLimitedProvider
|
|
10
|
+
from pythonxbox.api.provider.profile.models import ProfileResponse, ProfileSettings
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class ProfileProvider(RateLimitedProvider):
|
|
@@ -6,10 +6,10 @@ Subclassed by providers with rate limit support
|
|
|
6
6
|
|
|
7
7
|
from typing import Dict, Union
|
|
8
8
|
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
9
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
10
|
+
from pythonxbox.common.exceptions import XboxException
|
|
11
|
+
from pythonxbox.common.ratelimits import CombinedRateLimit
|
|
12
|
+
from pythonxbox.common.ratelimits.models import LimitType, ParsedRateLimit, TimePeriod
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class RateLimitedProvider(BaseProvider):
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Screenshots - Get screenshot info
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
|
+
from pythonxbox.api.provider.screenshots.models import ScreenshotResponse
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class ScreenshotsProvider(BaseProvider):
|
|
@@ -7,8 +7,8 @@ from uuid import uuid4
|
|
|
7
7
|
|
|
8
8
|
from httpx import Response
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from
|
|
10
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
11
|
+
from pythonxbox.api.provider.smartglass.models import (
|
|
12
12
|
CommandResponse,
|
|
13
13
|
GuideTab,
|
|
14
14
|
InputKeyType,
|
|
@@ -4,8 +4,8 @@ Titlehub - Get Title history and info
|
|
|
4
4
|
|
|
5
5
|
from typing import List, Optional
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
8
|
+
from pythonxbox.api.provider.titlehub.models import TitleFields, TitleHubResponse
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class TitlehubProvider(BaseProvider):
|
|
@@ -2,7 +2,7 @@ from datetime import datetime
|
|
|
2
2
|
from enum import Enum
|
|
3
3
|
from typing import Any, List, Optional
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from pythonxbox.common.models import CamelCaseModel, PascalCaseModel
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class TitleFields(str, Enum):
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Usersearch - Search for gamertags / userprofiles
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
5
|
+
from pythonxbox.api.provider.baseprovider import BaseProvider
|
|
6
|
+
from pythonxbox.api.provider.usersearch.models import UserSearchResponse
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class UserSearchProvider(BaseProvider):
|
|
@@ -4,8 +4,8 @@ Userstats - Get game statistics
|
|
|
4
4
|
|
|
5
5
|
from typing import List, Optional
|
|
6
6
|
|
|
7
|
-
from
|
|
8
|
-
from
|
|
7
|
+
from pythonxbox.api.provider.ratelimitedprovider import RateLimitedProvider
|
|
8
|
+
from pythonxbox.api.provider.userstats.models import (
|
|
9
9
|
GeneralStatsField,
|
|
10
10
|
UserStatsResponse,
|
|
11
11
|
)
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/manager.py
RENAMED
|
@@ -9,13 +9,13 @@ from typing import List, Optional
|
|
|
9
9
|
|
|
10
10
|
import httpx
|
|
11
11
|
|
|
12
|
-
from
|
|
12
|
+
from pythonxbox.authentication.models import (
|
|
13
13
|
OAuth2TokenResponse,
|
|
14
14
|
XAUResponse,
|
|
15
15
|
XSTSResponse,
|
|
16
16
|
)
|
|
17
|
-
from
|
|
18
|
-
from
|
|
17
|
+
from pythonxbox.common.exceptions import AuthenticationException
|
|
18
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
19
19
|
|
|
20
20
|
log = logging.getLogger("authentication")
|
|
21
21
|
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/xal.py
RENAMED
|
@@ -15,7 +15,7 @@ import uuid
|
|
|
15
15
|
import httpx
|
|
16
16
|
from ms_cv import CorrelationVector
|
|
17
17
|
|
|
18
|
-
from
|
|
18
|
+
from pythonxbox.authentication.models import (
|
|
19
19
|
OAuth2TokenResponse,
|
|
20
20
|
SisuAuthenticationResponse,
|
|
21
21
|
SisuAuthorizationResponse,
|
|
@@ -25,7 +25,7 @@ from xbox.webapi.authentication.models import (
|
|
|
25
25
|
XalClientParameters,
|
|
26
26
|
XSTSResponse,
|
|
27
27
|
)
|
|
28
|
-
from
|
|
28
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
29
29
|
|
|
30
30
|
log = logging.getLogger("xal.authentication")
|
|
31
31
|
|
|
@@ -2,7 +2,7 @@ from abc import ABCMeta, abstractmethod
|
|
|
2
2
|
from datetime import datetime, timedelta
|
|
3
3
|
from typing import List, Union
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from pythonxbox.common.ratelimits.models import (
|
|
6
6
|
IncrementResult,
|
|
7
7
|
LimitType,
|
|
8
8
|
ParsedRateLimit,
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/request_signer.py
RENAMED
|
@@ -12,8 +12,8 @@ from typing import Optional
|
|
|
12
12
|
|
|
13
13
|
from ecdsa import NIST256p, SigningKey, VerifyingKey
|
|
14
14
|
|
|
15
|
-
from
|
|
16
|
-
from
|
|
15
|
+
from pythonxbox.authentication.models import SignaturePolicy
|
|
16
|
+
from pythonxbox.common import filetimes
|
|
17
17
|
|
|
18
18
|
DEFAULT_SIGNING_POLICY = SignaturePolicy(
|
|
19
19
|
version=1, supported_algorithms=["ES256"], max_body_bytes=8192
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/signed_session.py
RENAMED
|
@@ -6,7 +6,7 @@ A wrapper around httpx' AsyncClient which transparently calculates the "Signatur
|
|
|
6
6
|
import httpx
|
|
7
7
|
|
|
8
8
|
from ssl import SSLContext
|
|
9
|
-
from
|
|
9
|
+
from pythonxbox.common.request_signer import RequestSigner
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class SignedSession(httpx.AsyncClient):
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/authenticate.py
RENAMED
|
@@ -12,10 +12,10 @@ import threading
|
|
|
12
12
|
from urllib.parse import parse_qs, urlparse
|
|
13
13
|
import webbrowser
|
|
14
14
|
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
15
|
+
from pythonxbox.authentication.manager import AuthenticationManager
|
|
16
|
+
from pythonxbox.authentication.models import OAuth2TokenResponse
|
|
17
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
18
|
+
from pythonxbox.scripts import CLIENT_ID, CLIENT_SECRET, REDIRECT_URI, TOKENS_FILE
|
|
19
19
|
|
|
20
20
|
QUEUE = queue.Queue(1)
|
|
21
21
|
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/change_gamertag.py
RENAMED
|
@@ -9,15 +9,15 @@ import sys
|
|
|
9
9
|
|
|
10
10
|
from httpx import HTTPStatusError
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from
|
|
12
|
+
from pythonxbox.api.client import XboxLiveClient
|
|
13
|
+
from pythonxbox.api.provider.account.models import (
|
|
14
14
|
ChangeGamertagResult,
|
|
15
15
|
ClaimGamertagResult,
|
|
16
16
|
)
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
20
|
-
from
|
|
17
|
+
from pythonxbox.authentication.manager import AuthenticationManager
|
|
18
|
+
from pythonxbox.authentication.models import OAuth2TokenResponse
|
|
19
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
20
|
+
from pythonxbox.scripts import CLIENT_ID, CLIENT_SECRET, TOKENS_FILE
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
async def async_main():
|
|
@@ -10,11 +10,11 @@ import sys
|
|
|
10
10
|
|
|
11
11
|
from httpx import HTTPStatusError
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
13
|
+
from pythonxbox.api.client import XboxLiveClient
|
|
14
|
+
from pythonxbox.authentication.manager import AuthenticationManager
|
|
15
|
+
from pythonxbox.authentication.models import OAuth2TokenResponse
|
|
16
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
17
|
+
from pythonxbox.scripts import CLIENT_ID, CLIENT_SECRET, TOKENS_FILE
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
async def async_main():
|
|
@@ -9,9 +9,9 @@ import sys
|
|
|
9
9
|
|
|
10
10
|
from httpx import HTTPStatusError
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from
|
|
12
|
+
from pythonxbox.api.client import XboxLiveClient
|
|
13
|
+
from pythonxbox.authentication.manager import AuthenticationManager
|
|
14
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
async def async_main():
|
|
@@ -11,18 +11,18 @@ import uuid
|
|
|
11
11
|
from pydantic import BaseModel
|
|
12
12
|
from pydantic.json import pydantic_encoder
|
|
13
13
|
|
|
14
|
-
from
|
|
14
|
+
from pythonxbox.authentication.models import (
|
|
15
15
|
SisuAuthorizationResponse,
|
|
16
16
|
XalAppParameters,
|
|
17
17
|
XalClientParameters,
|
|
18
18
|
)
|
|
19
|
-
from
|
|
19
|
+
from pythonxbox.authentication.xal import (
|
|
20
20
|
APP_PARAMS_GAMEPASS_BETA,
|
|
21
21
|
CLIENT_PARAMS_ANDROID,
|
|
22
22
|
XALManager,
|
|
23
23
|
)
|
|
24
|
-
from
|
|
25
|
-
from
|
|
24
|
+
from pythonxbox.common.signed_session import SignedSession
|
|
25
|
+
from pythonxbox.scripts import XAL_TOKENS_FILE
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
class XALStore(BaseModel):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/api/provider/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/authentication/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/filetimes.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/common/ratelimits/models.py
RENAMED
|
File without changes
|
{python_xbox-0.1.0rc0/xbox/webapi → python_xbox-0.1.0rc2/src/pythonxbox}/scripts/__init__.py
RENAMED
|
File without changes
|