MouseTools 4.0.0__tar.gz → 4.0.0b1__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 (27) hide show
  1. {mousetools-4.0.0 → mousetools-4.0.0b1}/LICENSE +1 -1
  2. mousetools-4.0.0b1/PKG-INFO +80 -0
  3. mousetools-4.0.0b1/README.md +62 -0
  4. mousetools-4.0.0b1/mousetools.egg-info/PKG-INFO +80 -0
  5. {mousetools-4.0.0 → mousetools-4.0.0b1}/pyproject.toml +1 -1
  6. mousetools-4.0.0/PKG-INFO +0 -108
  7. mousetools-4.0.0/README.md +0 -90
  8. mousetools-4.0.0/mousetools.egg-info/PKG-INFO +0 -108
  9. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/__init__.py +0 -0
  10. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/api/__init__.py +0 -0
  11. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/api/menu.py +0 -0
  12. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/auth.py +0 -0
  13. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/channels/__init__.py +0 -0
  14. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/channels/enums.py +0 -0
  15. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/channels/facilities/__init__.py +0 -0
  16. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/channels/facilities/enums.py +0 -0
  17. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/channels/facilitystatus/__init__.py +0 -0
  18. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/mixins/__init__.py +0 -0
  19. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/mixins/couchbase.py +0 -0
  20. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/mixins/disney.py +0 -0
  21. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools/resources/environments.bin +0 -0
  22. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools.egg-info/SOURCES.txt +0 -0
  23. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools.egg-info/dependency_links.txt +0 -0
  24. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools.egg-info/requires.txt +0 -0
  25. {mousetools-4.0.0 → mousetools-4.0.0b1}/mousetools.egg-info/top_level.txt +0 -0
  26. {mousetools-4.0.0 → mousetools-4.0.0b1}/setup.cfg +0 -0
  27. {mousetools-4.0.0 → mousetools-4.0.0b1}/tests/test_mixins.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-2025 Scott Caratozzolo
3
+ Copyright (c) 2025 Scott Caratozzolo
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,80 @@
1
+ Metadata-Version: 2.4
2
+ Name: mousetools
3
+ Version: 4.0.0b1
4
+ Summary: An unofficial Python wrapper for Disney's API
5
+ Author: Scott Caratozzolo
6
+ License-Expression: MIT
7
+ Project-URL: repository, https://gitlab.com/caratozzoloxyz/public/MouseTools
8
+ Project-URL: documentation, https://caratozzoloxyz.gitlab.io/public/MouseTools/
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: <4.0,>=3.9
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: httpx>=0.27.2
15
+ Requires-Dist: pycryptodome>=3.22.0
16
+ Requires-Dist: tzdata>=2024.1
17
+ Dynamic: license-file
18
+
19
+ # MouseTools
20
+ [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
21
+
22
+
23
+ An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
24
+
25
+ Read the [documentation](https://caratozzoloxyz.gitlab.io/public/MouseTools/).
26
+
27
+
28
+ ### Installation
29
+ You can install using pip:
30
+ ```bash
31
+ pip install MouseTools
32
+ ```
33
+ You can also install directly from this repo in case of any changes not uploaded to Pypi.
34
+ ```bash
35
+ pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
36
+ ```
37
+
38
+ ### Quick Start
39
+
40
+ Define an entity object directly.
41
+
42
+ ```python
43
+ from mousetools.entities import Attraction
44
+
45
+ big_thunder = Attraction("80010110")
46
+
47
+ print(big_thunder.name)
48
+ #> 'Big Thunder Mountain Railroad'
49
+
50
+ print(big_thunder.ancestor_theme_park_id)
51
+ #> '80007944'
52
+
53
+ print(big_thunder.get_status())
54
+ #> 'OPERATING'
55
+
56
+ print(big_thunder.get_wait_time())
57
+ #> 45
58
+
59
+ ```
60
+
61
+ Use the already created destination objects to get children entities.
62
+
63
+ ```python
64
+ from mousetools.entities import WALT_DISNEY_WORLD_DESTINATION, DISNEYLAND_RESORT_DESTINATION
65
+ from mousetools.ids import FacilityServiceEntityTypes
66
+
67
+ print(WALT_DISNEY_WORLD_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.ENTERTAINMENT_VENUES))
68
+ #> ['10460', '80008033', '80008259']
69
+
70
+ print(DISNEYLAND_RESORT_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.RESORT_AREAS))
71
+ #> ['330338', '15597760']
72
+ ```
73
+
74
+ ### License
75
+ This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
76
+
77
+ ### Disclaimer
78
+ This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
79
+
80
+ This package uses the [ThemeParks.wiki API](https://themeparks.wiki/).
@@ -0,0 +1,62 @@
1
+ # MouseTools
2
+ [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
3
+
4
+
5
+ An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
6
+
7
+ Read the [documentation](https://caratozzoloxyz.gitlab.io/public/MouseTools/).
8
+
9
+
10
+ ### Installation
11
+ You can install using pip:
12
+ ```bash
13
+ pip install MouseTools
14
+ ```
15
+ You can also install directly from this repo in case of any changes not uploaded to Pypi.
16
+ ```bash
17
+ pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
18
+ ```
19
+
20
+ ### Quick Start
21
+
22
+ Define an entity object directly.
23
+
24
+ ```python
25
+ from mousetools.entities import Attraction
26
+
27
+ big_thunder = Attraction("80010110")
28
+
29
+ print(big_thunder.name)
30
+ #> 'Big Thunder Mountain Railroad'
31
+
32
+ print(big_thunder.ancestor_theme_park_id)
33
+ #> '80007944'
34
+
35
+ print(big_thunder.get_status())
36
+ #> 'OPERATING'
37
+
38
+ print(big_thunder.get_wait_time())
39
+ #> 45
40
+
41
+ ```
42
+
43
+ Use the already created destination objects to get children entities.
44
+
45
+ ```python
46
+ from mousetools.entities import WALT_DISNEY_WORLD_DESTINATION, DISNEYLAND_RESORT_DESTINATION
47
+ from mousetools.ids import FacilityServiceEntityTypes
48
+
49
+ print(WALT_DISNEY_WORLD_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.ENTERTAINMENT_VENUES))
50
+ #> ['10460', '80008033', '80008259']
51
+
52
+ print(DISNEYLAND_RESORT_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.RESORT_AREAS))
53
+ #> ['330338', '15597760']
54
+ ```
55
+
56
+ ### License
57
+ This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
58
+
59
+ ### Disclaimer
60
+ This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
61
+
62
+ This package uses the [ThemeParks.wiki API](https://themeparks.wiki/).
@@ -0,0 +1,80 @@
1
+ Metadata-Version: 2.4
2
+ Name: mousetools
3
+ Version: 4.0.0b1
4
+ Summary: An unofficial Python wrapper for Disney's API
5
+ Author: Scott Caratozzolo
6
+ License-Expression: MIT
7
+ Project-URL: repository, https://gitlab.com/caratozzoloxyz/public/MouseTools
8
+ Project-URL: documentation, https://caratozzoloxyz.gitlab.io/public/MouseTools/
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: <4.0,>=3.9
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: httpx>=0.27.2
15
+ Requires-Dist: pycryptodome>=3.22.0
16
+ Requires-Dist: tzdata>=2024.1
17
+ Dynamic: license-file
18
+
19
+ # MouseTools
20
+ [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
21
+
22
+
23
+ An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
24
+
25
+ Read the [documentation](https://caratozzoloxyz.gitlab.io/public/MouseTools/).
26
+
27
+
28
+ ### Installation
29
+ You can install using pip:
30
+ ```bash
31
+ pip install MouseTools
32
+ ```
33
+ You can also install directly from this repo in case of any changes not uploaded to Pypi.
34
+ ```bash
35
+ pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
36
+ ```
37
+
38
+ ### Quick Start
39
+
40
+ Define an entity object directly.
41
+
42
+ ```python
43
+ from mousetools.entities import Attraction
44
+
45
+ big_thunder = Attraction("80010110")
46
+
47
+ print(big_thunder.name)
48
+ #> 'Big Thunder Mountain Railroad'
49
+
50
+ print(big_thunder.ancestor_theme_park_id)
51
+ #> '80007944'
52
+
53
+ print(big_thunder.get_status())
54
+ #> 'OPERATING'
55
+
56
+ print(big_thunder.get_wait_time())
57
+ #> 45
58
+
59
+ ```
60
+
61
+ Use the already created destination objects to get children entities.
62
+
63
+ ```python
64
+ from mousetools.entities import WALT_DISNEY_WORLD_DESTINATION, DISNEYLAND_RESORT_DESTINATION
65
+ from mousetools.ids import FacilityServiceEntityTypes
66
+
67
+ print(WALT_DISNEY_WORLD_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.ENTERTAINMENT_VENUES))
68
+ #> ['10460', '80008033', '80008259']
69
+
70
+ print(DISNEYLAND_RESORT_DESTINATION.get_children_entity_ids(FacilityServiceEntityTypes.RESORT_AREAS))
71
+ #> ['330338', '15597760']
72
+ ```
73
+
74
+ ### License
75
+ This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
76
+
77
+ ### Disclaimer
78
+ This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
79
+
80
+ This package uses the [ThemeParks.wiki API](https://themeparks.wiki/).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mousetools"
3
- version = "4.0.0"
3
+ version = "4.0.0b1"
4
4
  authors = [{name = "Scott Caratozzolo"}]
5
5
  description = "An unofficial Python wrapper for Disney's API"
6
6
  readme = "README.md"
mousetools-4.0.0/PKG-INFO DELETED
@@ -1,108 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mousetools
3
- Version: 4.0.0
4
- Summary: An unofficial Python wrapper for Disney's API
5
- Author: Scott Caratozzolo
6
- License-Expression: MIT
7
- Project-URL: repository, https://gitlab.com/caratozzoloxyz/public/MouseTools
8
- Project-URL: documentation, https://caratozzoloxyz.gitlab.io/public/MouseTools/
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: <4.0,>=3.9
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: httpx>=0.27.2
15
- Requires-Dist: pycryptodome>=3.22.0
16
- Requires-Dist: tzdata>=2024.1
17
- Dynamic: license-file
18
-
19
- # MouseTools
20
-
21
- [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
22
-
23
-
24
- An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
25
-
26
- ### Installation
27
- You can install using pip:
28
- ```bash
29
- pip install mousetools
30
- ```
31
- You can also install directly from this repo in case of any changes not uploaded to Pypi.
32
- ```bash
33
- pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
34
- ```
35
-
36
- # Usage
37
-
38
- The Disney API considers everything an entity. Attractions, resorts, restaurants, etc, are all entities. Entities belong to channels, or a group of entities.
39
-
40
- ## Getting Started
41
-
42
- You'll want to create a facility channel object.
43
-
44
- ```python
45
- from mousetools.channels.facilities import Attraction
46
-
47
- pirates = Attraction("wdw.facilities.1_0.en_us.attraction.80010177;entityType=Attraction")
48
- ```
49
-
50
-
51
- All Facility Entities inherit from [FacilityChildChannel][mousetools.channels.facilities.FacilityChildChannel].
52
-
53
- ```python
54
- print(pirates.name)
55
- # 'Pirates of the Caribbean'
56
-
57
- print(big_thunder.ancestor_theme_park_id)
58
- # '80007944;entityType=theme-park'
59
- ```
60
-
61
- In order to access a facility's live data, you'll need a [FacilityStatusChildChannel][mousetools.channels.facilitystatus.FacilityStatusChildChannel]. Fortunately for you, this can be quickly done from the facility object.
62
- ```python
63
- fs = a.get_facility_status_channel()
64
- print(fs.get_wait_time())
65
- # 15
66
-
67
- print(fs.get_status())
68
- # 'Operating'
69
- ```
70
-
71
- Alternatively, you can create the object yourself.
72
- ```python
73
- from mousetools.channels.facilitystatus import FacilityStatusChannel
74
-
75
- fsc = FacilityStatusChannel("wdw.facilitystatus.1_0.80010177;entityType=Attraction", lazy_load=False)
76
- print(fs.last_update)
77
- # 2025-05-15 22:52:52.176069-04:00
78
- ```
79
-
80
- ***NOTE: All channels are lazy loaded, meaning there is no request sent to load the data until an object's attributes are accessed. This allows objects to be created faster, and reduce requests to Disney's servers until the data is actually needed.***
81
-
82
-
83
- For ease of use, you can use the available [channel enums][mousetools.channels.enums] or [facility enums][mousetools.channels.facilities.enums] to get access to a destination facility's children channels.
84
-
85
- ```python
86
- from mousetools.channels.facilities import FacilityChannel, ThemePark
87
- from mousetools.channel.facilities.enums import WaltDisneyWorldParkChannelIds
88
- from mousetools.channels.facilitystatus import FacilityStatusChannel
89
- from mousetools.channels.enums import WDWCouchbaseChannels, DLRCouchbaseChannels
90
-
91
- wdw = FacilityChannel(WDWCouchbaseChannels.FACILITIES)
92
- print(list(wdw.get_children_attractions()))
93
- # [Attraction(wdw.facilities.1_0.en_us.123), Attraction(wdw.facilities.1_0.en_us.456), ...]
94
-
95
- dlr = FacilityStatusChannel(DLRCouchbaseChannels.FACILITY_STATUS)
96
- print(dlr.get_children_channel_ids())
97
- # ["dlr.facilitystatus.1_0.123", "dlr.facilitystatus.1_0.456", ...]
98
-
99
- mk = ThemePark(WaltDisneyWorldParkChannelIds.MAGIC_KINGDOM, lazy_load=False)
100
- print(mk.description)
101
- # "Enter a Land Where Fantasy Reigns"
102
- ```
103
-
104
- ### License
105
- This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
106
-
107
- ### Disclaimer
108
- This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
@@ -1,90 +0,0 @@
1
- # MouseTools
2
-
3
- [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
4
-
5
-
6
- An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
7
-
8
- ### Installation
9
- You can install using pip:
10
- ```bash
11
- pip install mousetools
12
- ```
13
- You can also install directly from this repo in case of any changes not uploaded to Pypi.
14
- ```bash
15
- pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
16
- ```
17
-
18
- # Usage
19
-
20
- The Disney API considers everything an entity. Attractions, resorts, restaurants, etc, are all entities. Entities belong to channels, or a group of entities.
21
-
22
- ## Getting Started
23
-
24
- You'll want to create a facility channel object.
25
-
26
- ```python
27
- from mousetools.channels.facilities import Attraction
28
-
29
- pirates = Attraction("wdw.facilities.1_0.en_us.attraction.80010177;entityType=Attraction")
30
- ```
31
-
32
-
33
- All Facility Entities inherit from [FacilityChildChannel][mousetools.channels.facilities.FacilityChildChannel].
34
-
35
- ```python
36
- print(pirates.name)
37
- # 'Pirates of the Caribbean'
38
-
39
- print(big_thunder.ancestor_theme_park_id)
40
- # '80007944;entityType=theme-park'
41
- ```
42
-
43
- In order to access a facility's live data, you'll need a [FacilityStatusChildChannel][mousetools.channels.facilitystatus.FacilityStatusChildChannel]. Fortunately for you, this can be quickly done from the facility object.
44
- ```python
45
- fs = a.get_facility_status_channel()
46
- print(fs.get_wait_time())
47
- # 15
48
-
49
- print(fs.get_status())
50
- # 'Operating'
51
- ```
52
-
53
- Alternatively, you can create the object yourself.
54
- ```python
55
- from mousetools.channels.facilitystatus import FacilityStatusChannel
56
-
57
- fsc = FacilityStatusChannel("wdw.facilitystatus.1_0.80010177;entityType=Attraction", lazy_load=False)
58
- print(fs.last_update)
59
- # 2025-05-15 22:52:52.176069-04:00
60
- ```
61
-
62
- ***NOTE: All channels are lazy loaded, meaning there is no request sent to load the data until an object's attributes are accessed. This allows objects to be created faster, and reduce requests to Disney's servers until the data is actually needed.***
63
-
64
-
65
- For ease of use, you can use the available [channel enums][mousetools.channels.enums] or [facility enums][mousetools.channels.facilities.enums] to get access to a destination facility's children channels.
66
-
67
- ```python
68
- from mousetools.channels.facilities import FacilityChannel, ThemePark
69
- from mousetools.channel.facilities.enums import WaltDisneyWorldParkChannelIds
70
- from mousetools.channels.facilitystatus import FacilityStatusChannel
71
- from mousetools.channels.enums import WDWCouchbaseChannels, DLRCouchbaseChannels
72
-
73
- wdw = FacilityChannel(WDWCouchbaseChannels.FACILITIES)
74
- print(list(wdw.get_children_attractions()))
75
- # [Attraction(wdw.facilities.1_0.en_us.123), Attraction(wdw.facilities.1_0.en_us.456), ...]
76
-
77
- dlr = FacilityStatusChannel(DLRCouchbaseChannels.FACILITY_STATUS)
78
- print(dlr.get_children_channel_ids())
79
- # ["dlr.facilitystatus.1_0.123", "dlr.facilitystatus.1_0.456", ...]
80
-
81
- mk = ThemePark(WaltDisneyWorldParkChannelIds.MAGIC_KINGDOM, lazy_load=False)
82
- print(mk.description)
83
- # "Enter a Land Where Fantasy Reigns"
84
- ```
85
-
86
- ### License
87
- This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
88
-
89
- ### Disclaimer
90
- This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
@@ -1,108 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mousetools
3
- Version: 4.0.0
4
- Summary: An unofficial Python wrapper for Disney's API
5
- Author: Scott Caratozzolo
6
- License-Expression: MIT
7
- Project-URL: repository, https://gitlab.com/caratozzoloxyz/public/MouseTools
8
- Project-URL: documentation, https://caratozzoloxyz.gitlab.io/public/MouseTools/
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Operating System :: OS Independent
11
- Requires-Python: <4.0,>=3.9
12
- Description-Content-Type: text/markdown
13
- License-File: LICENSE
14
- Requires-Dist: httpx>=0.27.2
15
- Requires-Dist: pycryptodome>=3.22.0
16
- Requires-Dist: tzdata>=2024.1
17
- Dynamic: license-file
18
-
19
- # MouseTools
20
-
21
- [![PyPI version](https://badge.fury.io/py/MouseTools.svg)](https://badge.fury.io/py/MouseTools) [![Downloads](https://pepy.tech/badge/mousetools)](https://pepy.tech/project/mousetools)
22
-
23
-
24
- An unofficial Python wrapper for the Disney API. Data is pulled directly from Disney. This package supports Walt Disney World and Disneyland.
25
-
26
- ### Installation
27
- You can install using pip:
28
- ```bash
29
- pip install mousetools
30
- ```
31
- You can also install directly from this repo in case of any changes not uploaded to Pypi.
32
- ```bash
33
- pip install git+https://gitlab.com/caratozzoloxyz/public/MouseTools
34
- ```
35
-
36
- # Usage
37
-
38
- The Disney API considers everything an entity. Attractions, resorts, restaurants, etc, are all entities. Entities belong to channels, or a group of entities.
39
-
40
- ## Getting Started
41
-
42
- You'll want to create a facility channel object.
43
-
44
- ```python
45
- from mousetools.channels.facilities import Attraction
46
-
47
- pirates = Attraction("wdw.facilities.1_0.en_us.attraction.80010177;entityType=Attraction")
48
- ```
49
-
50
-
51
- All Facility Entities inherit from [FacilityChildChannel][mousetools.channels.facilities.FacilityChildChannel].
52
-
53
- ```python
54
- print(pirates.name)
55
- # 'Pirates of the Caribbean'
56
-
57
- print(big_thunder.ancestor_theme_park_id)
58
- # '80007944;entityType=theme-park'
59
- ```
60
-
61
- In order to access a facility's live data, you'll need a [FacilityStatusChildChannel][mousetools.channels.facilitystatus.FacilityStatusChildChannel]. Fortunately for you, this can be quickly done from the facility object.
62
- ```python
63
- fs = a.get_facility_status_channel()
64
- print(fs.get_wait_time())
65
- # 15
66
-
67
- print(fs.get_status())
68
- # 'Operating'
69
- ```
70
-
71
- Alternatively, you can create the object yourself.
72
- ```python
73
- from mousetools.channels.facilitystatus import FacilityStatusChannel
74
-
75
- fsc = FacilityStatusChannel("wdw.facilitystatus.1_0.80010177;entityType=Attraction", lazy_load=False)
76
- print(fs.last_update)
77
- # 2025-05-15 22:52:52.176069-04:00
78
- ```
79
-
80
- ***NOTE: All channels are lazy loaded, meaning there is no request sent to load the data until an object's attributes are accessed. This allows objects to be created faster, and reduce requests to Disney's servers until the data is actually needed.***
81
-
82
-
83
- For ease of use, you can use the available [channel enums][mousetools.channels.enums] or [facility enums][mousetools.channels.facilities.enums] to get access to a destination facility's children channels.
84
-
85
- ```python
86
- from mousetools.channels.facilities import FacilityChannel, ThemePark
87
- from mousetools.channel.facilities.enums import WaltDisneyWorldParkChannelIds
88
- from mousetools.channels.facilitystatus import FacilityStatusChannel
89
- from mousetools.channels.enums import WDWCouchbaseChannels, DLRCouchbaseChannels
90
-
91
- wdw = FacilityChannel(WDWCouchbaseChannels.FACILITIES)
92
- print(list(wdw.get_children_attractions()))
93
- # [Attraction(wdw.facilities.1_0.en_us.123), Attraction(wdw.facilities.1_0.en_us.456), ...]
94
-
95
- dlr = FacilityStatusChannel(DLRCouchbaseChannels.FACILITY_STATUS)
96
- print(dlr.get_children_channel_ids())
97
- # ["dlr.facilitystatus.1_0.123", "dlr.facilitystatus.1_0.456", ...]
98
-
99
- mk = ThemePark(WaltDisneyWorldParkChannelIds.MAGIC_KINGDOM, lazy_load=False)
100
- print(mk.description)
101
- # "Enter a Land Where Fantasy Reigns"
102
- ```
103
-
104
- ### License
105
- This project is distributed under the MIT license. For more information see [LICENSE](https://gitlab.com/caratozzoloxyz/public/MouseTools/-/blob/master/LICENSE?ref_type=heads)
106
-
107
- ### Disclaimer
108
- This project is in no way affiliated with The Walt Disney Company and all use of Disney Services is subject to the [Disney Terms of Use](https://disneytermsofuse.com/).
File without changes