______ _
| ___ \ | |
_ __ _ _ | |_/ / __ _ _ __ | | __ ___ _ __
| '_ \ | | | || __/ / _` || '__|| |/ / / _ \| '__|
| |_) || |_| || | | (_| || | | < | __/| |
| .__/ \__, |\_| \__,_||_| |_|\_\ \___||_|
| | __/ | © Laurent Bourgon for pyParker, parkerGrapher
|_| |___/ © Scott Caratozzolo for MouseTools module
Python3
program that records wait times and extra information at Walt Disney World, Orlando (Florida) and Disneyland, Anaheim (California).
Created this program to plan a family trip at Walt Disney World.
Python3
(might work withPython2
, but not tested and will not be supported)MouseTools
by Scott Caratozzolo, already included 1.2.0beta (as of 2019-07-22) with this program, it may be necessary to update it manually if Disney change their internal APIrequests
, sometimes included by default, sometimes not. If not, you can install it with pippip install requests
- Internet connection
- Rights in the folder you're in (especially for users on Synology's DSM)
- Download the latest version of
pyParker_vx.x.x.zip
in Releases - Extract the content of
pyParker_vx.x.x.zip
- It is recommended to put all the files in it's own folder, because it will create automatically a folder
data
and a filepyParker.ini
at the place where it is located if you use the default location
- It is recommended to put all the files in it's own folder, because it will create automatically a folder
- If you don't have
Python3
installed, install it manually or use a package manager(recommended) (apt on Linux, homebrew on macOS, chocolatey on Windows, etc.) - Make sure you have the required
Python3
modules installed (check Requirements) - Open Terminal/CMD/Powershell, navigate to
pyParker.py
's folder (usingcd
) and run the program by enteringpython3 pyParker.py
.pyParker.py
will never change it's name (unless there's a rebranding), this is made so you can set a task scheduler and never worry about a filename change.
At the first run (or if the pyParker.ini
is deleted), the configurator will load. It will ask you were you want to store the files, which worlds (and parks if you select the advanced options) you want and if you want to use a sleep option for task scheduler that only support intervals of 10 minutes. Here is the default config (if you press Enter
at each prompt)
Prompt | Default | What it does | Example |
---|---|---|---|
Where do you want the files stored?* | ./data | A folder data will be created at the location of the script. |
C:\pyParker\data will be created, if pyParker.py is in C:pyParker\ |
Here's a list of parks, select those that you want to log [Y]es/[N]o/[A]dvanced**: | No | The world will not be logged. | If you press Enter on Walt Disney World, Orlando (Florida) , the program will not store the wait times and information. |
You can specify a time in seconds to pause the script, useful if your task scheduler only has intervals of 10 minutes | 0 | The program will not be put in sleep, it will be instant. | When you run the program, it will directly fetch the wait times, as fast as possible. |
*You can specify the data folder easily by drag-and-dropping the folder in your shell interface.
**You can select A
and access advanced options to select a specific park (ex. you can log Magic Kingdom, but not Epcot)
Inside the folder specified (or the default one) there will be sub-folders for each park. Inside these folders you will find a file for each attraction and an [INFORMATION].csv file, this file contains the date, the day of the week, the opening hours and Extra Magic Hours. To interpret the data in a graph or a table, you will have to use an external tool.
To have it log wait times automatically, you will have to schedule a task using Windows Task Scheduler, cron, Synology's Task Scheduler, etc. This choice was made to give more flexibility to the user and reduce the possible number of errors or memory leak of the program.
If you have a server that is headless (does not have a GUI) and that you can't run this program through command-line or SSH, you will have to execute it on your computer and then transfer the pyParker.py
and pyParker.ini
file on your server. Remember to use the right paths that are corresponding to your NAS/Server and not your computer.
For Synology's DSM users, if you use relative paths (AKA the default) in the config file, you will have some problems, please specify a whole path (ex: /volume1/Documents/pyParker/data/
)
To use the configurator again, you just have to delete the pyParker.ini
file.
(This list is made in chronological order that it will be happening, it may change)
- Create a repository that will have the waits I logged by commiting changes automatically.
Transform all the web scraping in a module.There's no more web scraping, it may be done for other parks, we will see 2019-07-22Make a TUI to create a script for automation (currently the script needs to be modified manually to use on a Synology).Fixed by making apyParker.ini
file that the program reads and creates at first run 2019-07-11Take data directly from Disney, this will provide accurate data at the time specified.Fixed by using Scott Caratozzolo's MouseTools python module 2019-07-22- Support
Disneyland, CAFixed by using Scott Caratozzolo's MouseTools python module and Universal Studios, FL (same website, same webscrape, just need to implement it) - Support other parks (Six Flag and others).
- Script that will convert it in a graph instead of doing it manually.
- Implement a GUI to select parks and to create a graph.
Data taken directly from Disney using their internal API. To save time and headaches, this program uses Scott Caratozzolo's MouseTools
python module.
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. For more information, please refer to http://unlicense.org