public
Description: S3 Proxy for Google App Engine
Homepage: http://shrub.appspot.com
Clone URL: git://github.com/gabriel/shrub.git
shrub /
name age message
file .gitignore Fri Oct 03 14:33:07 -0700 2008 fixing docs [gabriel]
file License.txt Fri Sep 26 11:48:47 -0700 2008 importing [gabriel]
file README.md Sat Feb 21 15:57:42 -0800 2009 Updating documentation [gabriel]
file app.yaml Sat Feb 21 15:58:17 -0800 2009 Adding xspf player and crossdomain.xml [gabriel]
directory app/ Sun Aug 09 17:03:57 -0700 2009 Fixing prefix param [gabriel]
file index.yaml Fri Sep 26 11:48:47 -0700 2008 importing [gabriel]
directory lib/ Sun Dec 14 00:49:45 -0800 2008 Fixing last modified in json [Gabriel Handford]
file main.py Sun Feb 15 15:18:10 -0800 2009 Refactoring [gabriel]
directory public/ Mon Mar 02 22:56:18 -0800 2009 Fixing tape bug when other files are present [gabriel]
directory shrub/ Thu Jul 23 01:29:10 -0700 2009 Changing sort params [gabriel]
file test.py Sun Feb 15 15:31:06 -0800 2009 Docs for test [gabriel]
directory test/ Fri Sep 26 11:48:47 -0700 2008 importing [gabriel]
README.md

Shrub

Amazon S3 Proxy for Google App Engine.

The idea is to have a proxy to act in between S3 and browsers or other devices.

Questions? See shrub-gae google group

Examples of formats that Shrub exposes are:

  • RSS
  • HTML
  • JSON
  • XSPF
  • HTML/Tape (like MuxTape/OpenTape)

  • The web app: app/

  • The main library: shrub/
  • Third party libraries: lib/
  • Static assets: public/
  • Tests: test/

Running

To run locally:

  1. Clone the repo: git clone git://github.com/gabriel/shrub.git
  2. Start up GoogleAppEngineLauncher (Get GoogleAppEngine SDK + Launcher at http://code.google.com/appengine/)
  3. Right click on screen, and choose Add Existing
  4. Choose path to cloned repo.
  5. Hit run.
  6. Go to http://localhost:8080/

Other Libraries

Main leaf icon was purchased from iStockPhoto and is licensed by me (Gabriel Handford).

Changes

The following changes were made to libraries to handle certain features:

  • simplejson has some changes to automatically encode non-encodable data types via json method if an object responds to it.
  • id3reader has some changes to allow it to parse from a buffer, and also to be able to read truncated ID3 tag data.

Tests

To run the tests:


Copyright 2008 Gabriel Handford