Skip to content

westurner/pgs

Repository files navigation

pgs

A bottle webapp for serving static files from a git branch, or from the local filesystem.

Features

  • [x] Serve static files from a filesystem directory
  • [x] Serve static files from a git branch, with Last-Modified headers according to git timestamps
  • [x] Guess MIME-types from paths
  • [x] subprocess bindings to git cat-file and git show
  • [ ] dulwich
  • [ ] pygit2

Usage

Serve /var/www/html from http://localhost:8082/

pgs -p /var/www/html

Serve the gh-pages branch of this repo from http://localhost:8083

pgs -g $VIRTUAL_ENV/src/pgs -r gh-pages -P 8083

Further Usage:

$ pgs --help
Usage: pgs [-p <path>] [-g <repopath>] [-r <rev/tag/branch>]

Serve a directory or a git revision over HTTP with Bottle, WSGI, MIME types,
and Last-Modified headers

Options:
  -h, --help            show this help message and exit
  -p ROOT_FILEPATH, --path=ROOT_FILEPATH, --root_filepath=ROOT_FILEPATH
  -g GIT_REPO_PATH, --git=GIT_REPO_PATH
                        Path to git repo to serve files from
  -r GIT_REPO_REV, --rev=GIT_REPO_REV
                        Git repo revision (commit hash, branch, tag)
  -H HOST, --host=HOST  
  -P PORT, --port=PORT  
  --debug               set bottle debug=False
  --reload              set bottle reload=False
  -v, --verbose         
  -q, --quiet           
  -t, --test

Caveat Emptor

  • Upstream caching would be necessary for all but the most local use cases
  • True git bindings would likely do less buffering of subprocess.check_output

About

Serve a directory or a git revision over HTTP with Bottle and WSGI; and try_files $1.html https://pypi.python.org/pypi/pgs

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages