Skip to main content

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

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bluarchive-0.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

bluarchive-0.2-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

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

Hashes for bluarchive-0.2.tar.gz
Algorithm Hash digest
SHA256 f232e8dbb4917205754ca830959e6da5bce8061415d53f865584ef62c327672e
MD5 cd3c4d34cfe70afd092530edff6a554c
BLAKE2b-256 07323f96c4219a2ad3edf95ffaff89b1ca3329fdde7a4e29eef3af147b94c786

See more details on using hashes here.

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

Hashes for bluarchive-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f7bd20021babacb8e3e684e9ce7d4d0d2f0c067e9bebddb273d0acb46762285
MD5 c504317799f15e747e1764240f90b7f9
BLAKE2b-256 1024060d3acfee6475dfc6bcf343ac9d9edad5e03bc3c6566b0ae68f18db05a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page