Download purchased content from Bluprint (formerly Craftsy)
Project description
Bluarchive, A Bluprint Downloader
Bluprint, formerly Craftsy, has announced that they are closing, without yet announcing a method of downloading purchased content. This project is intended to allow customers to preserve their purchases.
Features
Saves patterns, class materials, and class videos, including muxed subtitles and chapters. Also preserves original vtt subtitles, since they can't go into mp4, and metadata for patterns and classes.
Abridged output example:
Patterns/patterns.json
Patterns/Funktional Threads Christmas Stocking/stocking_aiid894970.pdf
Making Leather Bags (272)/playlist.json
Making Leather Bags (272)/1. Meet Don Morin & Plan Your Bag.mp4
Making Leather Bags (272)/1. Meet Don Morin & Plan Your Bag.vtt
Making Leather Bags (272)/materials/making-leather-bags-instructions.pdf
How to Use
- Create a virtualenv:
virtualenv -p python3 venv
- Activate the virtualenv:
. venv/bin/activate
- Install bluarchive:
pip install bluarchive
- Run bluarchive to create a template config:
bluarchive
- Copy your bluprint cookies into bluarchive.ini
- Make sure everything you want to download is unarchived on the bluprint site! (Or remove those checks in the code)
- Run bluarchive again to download the content:
bluarchive
Development
BLU_TEST=1
in env will download one pattern, one class's materials, and one
video. =2
will download one pattern and one entire class.
Some Web API Endpoints
Base URL: https://api.mybluprint.com/
List all enrolled courses. No authentication required...
/enrollments?userId={user_id}
Playlist contents and metadata, including all episodes and their chapters
/m/playlists/{playlist_id}
CDN URLs for an episode, HLS and mp4
/m/videos/secure/episodes/{episode_id}
List pattern entitlements
/users/{user_id}/patterns?pageSize=99999&sortBy=RESOURCE_NAME
CDN URLs for a pattern
/users/{user_id}/patterns/{pattern_id}/patternDownloadLinks
App API Endpoints
/analytics/videoConsumptionEvents
/assets/uploadLinks
/configs
/enrollments
/login
/users
/users/{userId}/carts
/users/{userId}/carts/{cardId}
/users/{userId}/checkoutConfirmation
/users/{userId}/courseMaterials/{materialsId}/downloadLogs
/users/{userId}/enrollments
/users/{userId}/enrollments/patterns
/users/{userId}/patterns/{patternId}/detailedDownloadLinks
/users/{userId}/profile
/b/affinities
/b/appExploreScreens/apps-explore-screen
/b/homeScreens/apps-home-screen
/b/libraryScreens/apps-library-screen
/b/playlists/{playlistId}/materials
/b/playlists/{playlistId}/summary
/b/searchResults/apps-search-results
/b/typeaheadSearchResults
/b/userRecommendations/playlistPromotables
/b/users/{userId}/enrollments/courses
/b/users/{userId}/saves
/b/users/{userId}/saves/paginatedPromotables
/b/users/{userId}/saves/sections
/m/episodes/{episodeId}/discussions
/m/episodes/{episodeId}/discussions
/m/episodes/{episodeId}/posts/{postId}/replies
/m/episodes/{episodeId}/posts/{postId}/replies
/m/sneakPreviewAccess/{deviceId}
/m/sneakPreviewStartRequests
/m/trendingSearchTerms
/m/users/{userId}/bookmarks
/m/users/{userId}/bookmarks
/m/users/{userId}/bookmarks/{bookmarkId}
/m/users/{userId}/bookmarks/{bookmarkId}
/m/users/{userId}/episodePosts
/m/users/{userId}/playlistBookmarks
/m/users/{userId}/posts/{postId}
/m/users/{userId}/posts/{postId}
/m/users/{userId}/userPlaylistCursors
/m/users/{userId}/userPlaylistCursors/updateRequests
/m/videos/secure/downloads/episodes/{episodeId}
/m/videos/secure/episodes/{episodeId}
/m/videos/sneakPreview/episodes/{episodeId}
/m/visitors/{visitorId}/visitorPlaylistCursors
/m/visitors/{visitorId}/visitorPlaylistCursors/updateRequests
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bluarchive-0.2.tar.gz
.
File metadata
- Download URL: bluarchive-0.2.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f232e8dbb4917205754ca830959e6da5bce8061415d53f865584ef62c327672e |
|
MD5 | cd3c4d34cfe70afd092530edff6a554c |
|
BLAKE2b-256 | 07323f96c4219a2ad3edf95ffaff89b1ca3329fdde7a4e29eef3af147b94c786 |
File details
Details for the file bluarchive-0.2-py3-none-any.whl
.
File metadata
- Download URL: bluarchive-0.2-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f7bd20021babacb8e3e684e9ce7d4d0d2f0c067e9bebddb273d0acb46762285 |
|
MD5 | c504317799f15e747e1764240f90b7f9 |
|
BLAKE2b-256 | 1024060d3acfee6475dfc6bcf343ac9d9edad5e03bc3c6566b0ae68f18db05a0 |