Skip to content

Releases: learningequality/ricecooker

v0.8.0

17 Dec 00:14
99daf9a

Choose a tag to compare

What's Changed

Added

  • New end to end file download and conversion pipeline to allow extensibility and composition of the file processing, while maintaining backwards comptability with previous Node and File classes
  • Adds ResourceNode class that allows simply passing in a file path and associated metadata, and letting the file pipeline auto infer kind, file presets etc.
  • Adds support for GoogleDrive download based on file URLs on Google Drive
  • WebM video compression support
  • Bloom format file uploads
  • PDF validation in file pipeline
  • Audio/video stream validation utility
  • Python 3.11, 3.12, 3.13 support
  • Optional Sentry integration
  • Optional Slack notifications for channel uploads
  • Ensure DOWNLOAD headers set a proper useragent

Changed

  • The jiro CLI has been removed, as it was broadly unused, and broken.
  • Dropped support for unsupported Python versions (3.7, 3.8)
  • Replaced le-utils pycountry dependency with langcodes
  • Default learning_activity now set based on node kind

Fixed

  • Graphie processing - to make sure that non-English language data is included in Graphie files
  • More robust download failure handling

Included PRs

New Features

  • Download css background images by @jredrejo in #477
  • Set default learning_activity based on node kind in TreeNode by @nucleogenesis in #496
  • Allow uploading of bloom format files by @nikkuAg in #517
  • added insufficient storage exception by @the-ivii in #567
  • Add webm support to compress_video. Add tests. Raise error if webm passed to faststart. by @rtibbles in #566
  • Add utility to validate stream of audio and video media files. by @rtibbles in #570
  • feat: Add PDF validation to file pipeline by @rtibbles in #610
  • Add optional Sentry integration by @rtibbles in #618
  • Add optional Slack integration for channel upload notifications by @rtibbles in #619
  • feat: Handle subtitle exceptions in SubtitleConversionHandler by @rtibbles in #624
  • Google Drive handler integration by @rtibbles in #577
  • Allow ContentNode class to take a uri argument for its default file by @rtibbles in #593
  • Add try/finally handling for yield block, ensures that files still get checked even when caught exceptions occur. by @rtibbles in #608
  • Do more robust handling of download failures. by @rtibbles in #631

Bug Fixes

  • Use the right object to get the error information by @jredrejo in #469
  • Use blacklisted urls in the static assets by @jredrejo in #476
  • Fix name in reference to auto-thumbnail-generation argument by @jamalex in #489
  • Fix placement of exception class to avoid breaking the channel manager. by @rtibbles in #583
  • Revert "Allow for chefs to explicitly set a channel ID." by @rtibbles in #582
  • Fix macos tests. by @rtibbles in #585
  • Fix header set for the DOWNLOAD_SESSION by @GautamBytes in #596
  • Fix graphie processing by @rtibbles in #604
  • Fix regression introduced by overly liberal perseus image URL capture. by @rtibbles in #621
  • Fix tests for latest version of yt-dlp by @rtibbles in #641
  • Miscellaneous bug fixes by @rtibbles in #628

Documentation

  • Update ReadTheDocs builds configuration by @MisRob in #450
  • docs: update link to api token by @ThEditor in #482
  • Update video_compression docs to include faststart flag by @rtibbles in #540
  • Added documentation regarding the transition to WebM format (for videos) by @GautamBytes in #591
  • Update installation.md to remove incorrect references to Python 3.5 by @rtibbles in #599
  • Docs: Document all le_utils.constants.labels metadata fields in nodes.md by @rtibbles in #609

Testing

  • Update content disposition parsing and add tests. by @rtibbles in #484
  • Test under Python 3.11 & 3.12 by @rodjek in #510
  • Mock yt-dlp web requests by @jredrejo in #527
  • Add tests cases for predictable zip functionality. by @rtibbles in #544
  • Adds more tests for the File classes to ensure behaviour ahead of refactor by @rtibbles in #571
  • Add vcr for youtube test by @rtibbles in #574
  • Update audio and video to same urls used in standard fixtures. by @rtibbles in #611
  • Add Python 3.13 support by @rtibbles in #614

CI/CD & GitHub Actions

  • Add action to send Slack notification about comments on issues by @MisRob in #479
  • Feat: added update-spreadsheet action by @GarvitSinghal47 in #541
  • Use notify_team_new_comment workflow action from .github repo by @rparadowski in #543
  • Remove 'pull_request_review' event from the community contributions spreadsheet action by @MisRob in #548
  • Trusted publishing setup by @rtibbles in #553
  • Fix the action not updating some data in the contributions tracking sheet by @MisRob in #569
  • feat: add community contribution labeling workflow by @iamshobhraj in #578
  • Add pre-commit hooks for yml formatting and github actions linting. by @rtibbles in #586
  • unassign inactive users action by @SukhvirKooner in #590
  • Remove custom issue templates, turn on issue header automation, reference new contributing guidelines by @MisRob in #607
  • Update manage issue header workflow events by @MisRob in #617
  • Update workflow that handles contributor comments to the latest version + update make lint command to use pre-commit by @MisRob in #622
  • Upgrade workflows to .github#35 by @MisRob in #643

Refactoring & Maintenance

  • Drop Python 3.7 support. by @rtibbles in #459
  • Do a minimum version pin for yt-dlp to allow more rapid updates by @rtibbles in #534
  • Upgrade flake8 hook for Python 3.12 compatibility. by @rtibbles in #564
  • Remove unused CLI to reduce complexity. by @rtibbles in #565
  • Update graphie files to focus on https only downloads. by @rtibbles in #572
  • Pipeline refactor by @rtibbles in #573
  • Handle case where the file extension has changed from the original filename by @rtibbles in #584
  • Remove reliance on le-utils based pycountry using getlang methods. by @rtibbles in #597
  • Tweaks and improvements to file handling by @rtibbles in #601
  • Fixes/tweak for handling compression in archive files by @rtibbles in #616
  • Path handling tweaks in transfer handling by @rtibbles in #620

Dependency Upgrades

Read more

v0.7.3

21 Jul 21:19
f3d4932

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.2...v0.7.3

v0.7.2

03 May 02:21
73f87ac

Choose a tag to compare

What's Changed

  • Fix youtube downloads by upgrading youtube dl by @rtibbles in #417
  • Fix encoding when persisting trees to JSON by adding encoding on reading json file by @AtKristijan in #415

Dependency updates:

Full Changelog: v0.7.1...v0.7.2

v0.7.1

01 Feb 00:56
6db33e5

Choose a tag to compare

What's Changed

  • Fix argument passed to do_file_upload - fixes issue with 400s on file uploads by @rtibbles in #402
  • Compression updates to allow compression of audio files, blanket compression of video files, and compression of media files inside zip/H5P by @rtibbles in #409

Full Changelog: v0.7.0...v0.7.1

v0.7.0

17 Oct 19:02
ebd9ae7

Choose a tag to compare

What's Changed

Added

Fixed

Changed

New Contributors

Full Changelog: v0.6.45...v0.7.0

Better docs, corrections script, and `libstudio` utils

01 May 18:31

Choose a tag to compare

  • Updated docs build scripts to make ricecooker docs available on read the docs
  • Added corrections command line script for making bulk edits to content metadata
  • Added StudioApi client to support CRUD (created, read, update, delete) Studio actions
  • Added pdf-splitting helper methods (see ricecooker/utils/pdf.py)

ePub, tagging, and bugfixes

09 Nov 23:06

Choose a tag to compare

0.6.24 (2018-11-09)

  • Updated le-utils and pressurcooker dependencies to latest version
  • Added support for ePub files (EPubFiles can be added of DocumentNodes)
  • Added tag support
  • Changed default value for STUDIO_URL to api.studio.learningequality.org
  • Added aggregator and provider fields for content nodes
  • Various bugfixes to image processing in exercises
  • Added is_youtube_subtitle_file_supported_language helper function to support importing youtube subs
  • Added srt2vtt subtitles conversion
  • Added static assets downloader helper method in utils.downloader.download_static_assets
  • Added LineCook chef functions to --generate CSV from directory structure
  • Fixed the always randomize=True bug
  • Docs: general content node metadata guidelines
  • Docs: video compression instructions and helper scripts convertvideo.bat and convertvideo.sh

Node roles and new docs

20 Apr 14:26

Choose a tag to compare

Spring cleaning and bugfixes

07 Mar 01:17

Choose a tag to compare

v0.3.14: Merge pull request #41 from jayoshih/pressure-on

12 Jan 22:29

Choose a tag to compare