osudroid-api-wrapper 0.0.1__tar.gz → 0.0.3__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.
Files changed (28) hide show
  1. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/LICENSE +3 -1
  2. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/PKG-INFO +4 -2
  3. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/pyproject.toml +3 -2
  4. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper/__init__.py +2 -0
  5. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper/classes/__init__.py +5 -0
  6. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper/classes/base/__init__.py +3 -0
  7. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/base/beatmap.py +2 -0
  8. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay.py +9 -7
  9. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/cursordata.py +3 -3
  10. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/cursoroccurrencegroup.py +2 -2
  11. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/replayobjectdata.py +9 -1
  12. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/score.py +3 -3
  13. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper/structs/__init__.py +1 -0
  14. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/structs/profile.py +2 -2
  15. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/src/osudroid_api_wrapper.egg-info/PKG-INFO +4 -2
  16. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper.egg-info/SOURCES.txt +23 -0
  17. osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper.egg-info/top_level.txt +1 -0
  18. osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper/__init__.py +0 -0
  19. osudroid_api_wrapper-0.0.1/src/osudroid_api_wrapper.egg-info/SOURCES.txt +0 -20
  20. osudroid_api_wrapper-0.0.1/src/osudroid_api_wrapper.egg-info/top_level.txt +0 -1
  21. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/setup.cfg +0 -0
  22. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/base/mods.py +0 -0
  23. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/base/player.py +0 -0
  24. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/cursoroccurrence.py +0 -0
  25. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/hitresult.py +0 -0
  26. {osudroid_api_wrapper-0.0.1/src/osudroid-api-wrapper → osudroid_api_wrapper-0.0.3/src/osudroid_api_wrapper}/classes/replay_data/movementtype.py +0 -0
  27. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/src/osudroid_api_wrapper.egg-info/dependency_links.txt +0 -0
  28. {osudroid_api_wrapper-0.0.1 → osudroid_api_wrapper-0.0.3}/src/osudroid_api_wrapper.egg-info/requires.txt +0 -0
@@ -1,6 +1,8 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 unclem2, Rian8337, xjunko
3
+ Copyright (c) 2021 FireRedz
4
+ Copyright (c) 2021 Rian8337
5
+ Copyright (c) 2025 unclem2
4
6
 
5
7
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
8
  of this software and associated documentation files (the "Software"), to deal
@@ -1,11 +1,13 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: osudroid-api-wrapper
3
- Version: 0.0.1
3
+ Version: 0.0.3
4
4
  Summary: Python api wrapper for osu!droid
5
5
  Author-email: unclem <mannringyt11@gmail.com>
6
6
  License: MIT License
7
7
 
8
- Copyright (c) 2025 unclem2, Rian8337, xjunko
8
+ Copyright (c) 2021 FireRedz
9
+ Copyright (c) 2021 Rian8337
10
+ Copyright (c) 2025 unclem2
9
11
 
10
12
  Permission is hereby granted, free of charge, to any person obtaining a copy
11
13
  of this software and associated documentation files (the "Software"), to deal
@@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "osudroid-api-wrapper"
7
- version = "0.0.1"
7
+ version = "0.0.3"
8
8
  authors = [
9
- { name="unclem", email="mannringyt11@gmail.com" },
9
+ { name="unclem", email="mannringyt11@gmail.com" }
10
10
  ]
11
11
  description = "Python api wrapper for osu!droid"
12
12
  readme = "README.md"
@@ -31,3 +31,4 @@ Homepage = "https://github.com/unclem2/osudroid-api-wrapper"
31
31
  Issues = "https://github.com/unclem2/osudroid-api-wrapper/issues"
32
32
 
33
33
 
34
+
@@ -0,0 +1,2 @@
1
+ from .structs import Profile
2
+ from .classes import Replay, Score, Mods, Player, Beatmap
@@ -0,0 +1,5 @@
1
+ from .replay import Replay
2
+ from .score import Score
3
+ from .base import Mods, Player, Beatmap
4
+
5
+
@@ -0,0 +1,3 @@
1
+ from .beatmap import Beatmap
2
+ from .player import Player
3
+ from .mods import Mods
@@ -60,6 +60,8 @@ class Beatmap:
60
60
  }
61
61
  response = requests.get(url, params=params)
62
62
  data = response.json()
63
+ if len(data) == 0:
64
+ return None
63
65
  data = data[0]
64
66
 
65
67
  elif md5 is not None:
@@ -31,10 +31,10 @@ from stream_unzip import stream_unzip
31
31
  import javaobj
32
32
  import struct
33
33
  import io
34
- from classes.replay_data.movementtype import MovementType
35
- from classes.replay_data.cursordata import CursorData
36
- from classes.replay_data.hitresult import HitResult
37
- from classes.replay_data.replayobjectdata import ReplayObjectData
34
+ from .replay_data.movementtype import MovementType
35
+ from .replay_data.cursordata import CursorData
36
+ from .replay_data.hitresult import HitResult
37
+ from .replay_data.replayobjectdata import ReplayObjectData
38
38
 
39
39
 
40
40
  class Replay:
@@ -192,7 +192,7 @@ class Replay:
192
192
 
193
193
  self.replay_obj = javaobj.v2.loads(data_buffer.getvalue())
194
194
 
195
- for fields in self.replay_obj[0].to_dict['field_data'].values():
195
+ for fields in self.replay_obj[0].__dict__['field_data'].values():
196
196
  for field, value in fields.items():
197
197
  if field.name == 'version':
198
198
  self.version = value
@@ -207,7 +207,7 @@ class Replay:
207
207
  self.hit0, self.score, self.combo) = struct.unpack(">Qiiiiiiii", io.BytesIO(self.replay_obj[4].data).read(40))
208
208
  self.username = self.replay_obj[5].value
209
209
 
210
- for field in self.replay_obj[6].to_dict['field_data'].values():
210
+ for field in self.replay_obj[6].__dict__['field_data'].values():
211
211
  for field, value in field.items():
212
212
  if field.name == "elements":
213
213
  for element in value:
@@ -248,10 +248,12 @@ class Replay:
248
248
  self.__parse_movement_data(replay_data.getvalue())
249
249
  print(self.__buffer_offset)
250
250
  self.__parse_hitresult_data(replay_data.getvalue())
251
+
252
+ return self
251
253
 
252
254
  def __str__(self):
253
255
  string = ""
254
- for key, value in self.to_dict.items():
256
+ for key, value in self.__dict__.items():
255
257
  if key == "replay_obj" or key == "replay_file" or key == "cursor_data":
256
258
  continue
257
259
 
@@ -27,9 +27,9 @@ SOFTWARE.
27
27
  """
28
28
 
29
29
  from typing import List, Optional
30
- from classes.replay_data.cursoroccurrence import CursorOccurrence
31
- from classes.replay_data.cursoroccurrencegroup import CursorOccurrenceGroup
32
- from classes.replay_data.movementtype import MovementType
30
+ from .cursoroccurrence import CursorOccurrence
31
+ from .cursoroccurrencegroup import CursorOccurrenceGroup
32
+ from .movementtype import MovementType
33
33
 
34
34
 
35
35
  class CursorData:
@@ -25,8 +25,8 @@ SOFTWARE.
25
25
  """
26
26
 
27
27
  from typing import List, Optional
28
- from classes.replay_data.cursoroccurrence import CursorOccurrence
29
- from classes.replay_data.movementtype import MovementType
28
+ from .cursoroccurrence import CursorOccurrence
29
+ from .movementtype import MovementType
30
30
 
31
31
 
32
32
  class CursorOccurrenceGroup:
@@ -24,7 +24,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
24
  SOFTWARE.
25
25
  """
26
26
 
27
- import classes.replay_data.hitresult as hitresult
27
+ from . import hitresult
28
28
  from typing import Optional, List
29
29
 
30
30
  class ReplayObjectData:
@@ -34,5 +34,13 @@ class ReplayObjectData:
34
34
  self.tickset:List[bool] = tickset
35
35
  self.result:hitresult.HitResult = result
36
36
 
37
+ @property
38
+ def to_dict(self):
39
+ return {
40
+ "accuracy": self.accuracy,
41
+ "tickset": self.tickset,
42
+ "result": self.result
43
+ }
44
+
37
45
 
38
46
 
@@ -1,6 +1,6 @@
1
- from classes.base.player import Player
2
- from classes.base.beatmap import Beatmap
3
- from classes.base.mods import Mods
1
+ from .base.player import Player
2
+ from .base.beatmap import Beatmap
3
+ from .base.mods import Mods
4
4
  import datetime
5
5
  from typing import List
6
6
 
@@ -0,0 +1 @@
1
+ from .profile import Profile
@@ -1,5 +1,5 @@
1
- from classes.score import Score
2
- from classes.base.player import Player
1
+ from ..classes.score import Score
2
+ from ..classes.base.player import Player
3
3
  from typing import List
4
4
  import bs4
5
5
  import requests
@@ -1,11 +1,13 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: osudroid-api-wrapper
3
- Version: 0.0.1
3
+ Version: 0.0.3
4
4
  Summary: Python api wrapper for osu!droid
5
5
  Author-email: unclem <mannringyt11@gmail.com>
6
6
  License: MIT License
7
7
 
8
- Copyright (c) 2025 unclem2, Rian8337, xjunko
8
+ Copyright (c) 2021 FireRedz
9
+ Copyright (c) 2021 Rian8337
10
+ Copyright (c) 2025 unclem2
9
11
 
10
12
  Permission is hereby granted, free of charge, to any person obtaining a copy
11
13
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,23 @@
1
+ LICENSE
2
+ pyproject.toml
3
+ src/osudroid_api_wrapper/__init__.py
4
+ src/osudroid_api_wrapper.egg-info/PKG-INFO
5
+ src/osudroid_api_wrapper.egg-info/SOURCES.txt
6
+ src/osudroid_api_wrapper.egg-info/dependency_links.txt
7
+ src/osudroid_api_wrapper.egg-info/requires.txt
8
+ src/osudroid_api_wrapper.egg-info/top_level.txt
9
+ src/osudroid_api_wrapper/classes/__init__.py
10
+ src/osudroid_api_wrapper/classes/replay.py
11
+ src/osudroid_api_wrapper/classes/score.py
12
+ src/osudroid_api_wrapper/classes/base/__init__.py
13
+ src/osudroid_api_wrapper/classes/base/beatmap.py
14
+ src/osudroid_api_wrapper/classes/base/mods.py
15
+ src/osudroid_api_wrapper/classes/base/player.py
16
+ src/osudroid_api_wrapper/classes/replay_data/cursordata.py
17
+ src/osudroid_api_wrapper/classes/replay_data/cursoroccurrence.py
18
+ src/osudroid_api_wrapper/classes/replay_data/cursoroccurrencegroup.py
19
+ src/osudroid_api_wrapper/classes/replay_data/hitresult.py
20
+ src/osudroid_api_wrapper/classes/replay_data/movementtype.py
21
+ src/osudroid_api_wrapper/classes/replay_data/replayobjectdata.py
22
+ src/osudroid_api_wrapper/structs/__init__.py
23
+ src/osudroid_api_wrapper/structs/profile.py
@@ -1,20 +0,0 @@
1
- LICENSE
2
- pyproject.toml
3
- src/osudroid-api-wrapper/__init__.py
4
- src/osudroid-api-wrapper/classes/replay.py
5
- src/osudroid-api-wrapper/classes/score.py
6
- src/osudroid-api-wrapper/classes/base/beatmap.py
7
- src/osudroid-api-wrapper/classes/base/mods.py
8
- src/osudroid-api-wrapper/classes/base/player.py
9
- src/osudroid-api-wrapper/classes/replay_data/cursordata.py
10
- src/osudroid-api-wrapper/classes/replay_data/cursoroccurrence.py
11
- src/osudroid-api-wrapper/classes/replay_data/cursoroccurrencegroup.py
12
- src/osudroid-api-wrapper/classes/replay_data/hitresult.py
13
- src/osudroid-api-wrapper/classes/replay_data/movementtype.py
14
- src/osudroid-api-wrapper/classes/replay_data/replayobjectdata.py
15
- src/osudroid-api-wrapper/structs/profile.py
16
- src/osudroid_api_wrapper.egg-info/PKG-INFO
17
- src/osudroid_api_wrapper.egg-info/SOURCES.txt
18
- src/osudroid_api_wrapper.egg-info/dependency_links.txt
19
- src/osudroid_api_wrapper.egg-info/requires.txt
20
- src/osudroid_api_wrapper.egg-info/top_level.txt
@@ -1 +0,0 @@
1
- osudroid-api-wrapper