Sections
This chapter covers the libraries that GNU MediaGoblin uses as well as various recipes for getting things done.
Note
This chapter is in flux. Clearly there are things here that aren’t documented. If there’s something you have questions about, please ask!
See the join page on the website for where we hang out.
For more information on how to get started hacking on GNU MediaGoblin, see the wiki.
After you’ve run checked out mediagoblin and followed the virtualenv instantiation instructions, you’re faced with the following directory tree:
mediagoblin/
|- mediagoblin/ # source code
| |- tests/
| |- templates/
| |- auth/
| \- submit/
|- docs/ # documentation
|- devtools/ # some scripts for developer convenience
|
| # the below directories are installed into your virtualenv checkout
|
|- bin/ # scripts
|- develop-eggs/
|- lib/ # python libraries installed into your virtualenv
|- include/
|- mediagoblin.egg-info/
|- parts/
|- user_dev/ # sessions, etc
As you can see, all the code for GNU MediaGoblin is in the mediagoblin directory.
Here are some interesting files and what they do:
routing.py: | maps url paths to views |
---|---|
views.py: | views handle http requests |
models.py: | holds the sqlalchemy schemas—these are the data structures we’re working with |
You’ll notice that there are several sub-directories: tests, templates, auth, submit, ...
tests holds the unit test code.
templates holds all the templates for the output.
auth and submit are modules that enacpsulate authentication and media item submission. If you look in these directories, you’ll see they have their own routing.py, view.py, and models.py in addition to some other code.