learningequality / sushi-chef-exploratorium

MIT License
0 stars 0 forks source link

Exploratorium Chef

Kolibri is an open source educational platform to distribute content to areas with little or no internet connectivity. Educational content is created and edited on Kolibri Studio, which is a platform for organizing content to import from the Kolibri applications. The purpose of this project is to create a chef, or a program that scrapes a content source and puts it into a format that can be imported into Kolibri Studio.

Installation

Usage

TODO: Explain how to run the Exploratorium chef

  export SOMEVAR=someval
  ./script.py -v --option2 --kwoard="val"

Description

A sushi chef script is responsible for importing content into Kolibri Studio. The Rice Cooker library provides all the necessary methods for uploading the channel content to Kolibri Studio, as well as helper functions and utilities.

A sushi chef script has been started for you in sushichef.py.

Sushi chef docs can be found here.

_For more sushi chef examples, see examples/openstax_sushichef.py (json) and examples/wikipedia_sushichef.py (html) and also the examples/ dir inside the ricecooker repo._


Rubric

Please make sure your final chef matches the following standards.

General Standards

  1. Does the code work (no infinite loops, exceptions thrown, etc.)?
  2. Are the source_ids determined consistently (based on foreign database identifiers or permanent url paths)?
  3. Is there documentation on how to run the script (include command line parameters to use)?

Coding Standards

  1. Are there no obvious runtime or memory inefficiencies in the code?
  2. Are the functions succinct?
  3. Are clarifying comments provided where needed?
  4. Are the git commits easy to understand?
  5. Is there no unnecessary nested if or for loops?
  6. Are variables named descriptively (e.g. path vs p)?

Python Standards

  1. Is the code compatible with Python 3?
  2. Does the code use common standard library functions where needed?
  3. Does the code use common python idioms where needed (with/open, try/except, etc.)?