61 Commits

Author SHA1 Message Date
Christopher Allan Webber
a98c95b41d Tests should no longer use the environment-variable-related-setup and set up in app instead
This should remove a bunch of confusing cruft.  I hate using that
environment variable!  Also that old code was fragile.

This commit sponsored by Stephen Milton.  Thanks!
2013-05-12 15:55:59 -05:00
Christopher Allan Webber
e5cdd74294 Fix the new config "plugin spec" loading code so it doesn't break on no plugins section 2013-05-08 15:21:15 -05:00
Christopher Allan Webber
7fadc33b80 Allow plugins to install their own config_spec.ini if they like.
This commit sponsored by Timothy Vollmer.  Thanks Tim!
2013-05-08 11:02:20 -05:00
Christopher Allan Webber
c5d8d30182 removing old callable utilities and porting stuff over. 2013-04-19 16:51:14 -05:00
Christopher Allan Webber
761e26bb29 Merge branch '637_friendlier_hooks' 2013-04-10 17:53:05 -05:00
Christopher Allan Webber
04f295e20d Switch several functions over to using the new callable_run* tools! 2013-04-10 17:52:49 -05:00
Brett Smith
9e1fa2396f Remove beaker stuff from the code.
This is all obsoleted by It's Dangerous.
2013-03-24 15:10:08 -04:00
Joar Wandborg
f3f530286f Updated raven plugin
- Added wrap_wsgi, celery_setup, celery_logging_setup hooks
- Updated raven plugin docs
- Updated production considerations docs
- Added raven logging setup
2013-03-03 02:32:03 +01:00
Christopher Allan Webber
86f0ff75e3 You can now set the PASTE_CONFIG environment variable to control logging setup
So this should work:

  PASTE_CONFIG=/path/to/paste_foo.ini ./lazycelery.sh

Thanks to Laurent Fournier for sponsoring this commit!
2013-02-25 12:15:12 -06:00
Joar Wandborg
9d7c69fb74 Use logging.config.fileConfig()
Instead of the monster I had built before.
2013-02-07 22:35:42 +01:00
Elrond
626a093ccc Move workbench into tools directory. 2013-01-17 22:15:57 +01:00
Sebastian Spaeth
bc142abc55 RIP out mongo
Since sqlalchemy is providing our database abstraction and we have
moved away from Mongo as the underlying database, it is now time to
simplify things and rip out mongo. This provides the bulk of the
changes, and can stand on its own. There are some followup tasks
that can be done, such as removing now unneeded abstraction layers,
e.g. db.sql.fake.py
2012-12-25 20:06:03 +01:00
Sebastian Spaeth
826919c97c en_US is always available
We were using "en" as fallback only when no preferred language matched.
This is obviously bad. Always insert en_US as available locale, so we
can match it with the accept_languages.

Don't set available_locales as mg_global, per discussion with paroneaya,
make it a global var in translate.py

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2012-12-02 02:46:50 +01:00
Sebastian Spaeth
6ef75af50e Honor user's browser language (#558)
Previously we would attempt to satisfy the user's first language
preference, immediately falling back to english if that was not
possible. Now, we will get the best match of the user's preferred
languages.

This requires storing the available locales on app startup, so we
have mg_globals.available_locales ready to compare them against the
list of preferred user languages.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2012-12-02 00:29:30 +01:00
Joar Wandborg
2806a857dd Removed debugging stuff from master 2012-09-30 14:49:50 +02:00
Joar Wandborg
b4ab702f10 Use RawConfigParser instead of dict.viewitems
dict.viewitems breaks python 2.6 compatibility.
2012-09-30 14:42:12 +02:00
Joar Wandborg
b1bb15d1f9 Set up celery logging from paste ini 2012-09-30 12:43:36 +02:00
Will Kahn-Greene
05d8f314c6 [Issue 466] Implement e-z plugin disabling 2012-07-17 21:14:45 -04:00
Will Kahn-Greene
05e007c1db Rework plugin infrastructure to nix side-effects
This reworks the plugin infrastructure so as to remove module-loading
side-effects which were making things a pain in the ass to test.

With the new system, there's no auto-registering meta class. Instead
plugins do whatever they want and then specify a hooks dict that maps
hook names to callables for the things they're tying into. The most
common one (and the only one we've implemented so far) is "setup".

This also simplifies the sampleplugin a little by moving the code
to __init__.py.
2012-07-17 21:02:12 -04:00
Will Kahn-Greene
8545dd50f0 Flatpages first pass
This fixes the template loader so that it can load plugin templates.

This adds code for registering template paths so that plugins can add
their own templates.

This adds the base code for the flatpagesfile plugin. It doesn't serve
pages, yet, but it's pretty close.
2012-07-16 09:26:28 -04:00
Christopher Allan Webber
9a422c1fd0 Add the theme domain to the application's staticdirector 2012-07-14 12:55:14 -05:00
Christopher Allan Webber
5377114c4d Update staticdirect stuff so it can handle "domains" of staticdirection 2012-07-14 12:55:14 -05:00
Christopher Allan Webber
00eda826cb Kill MultiRemoteStaticDirect... nobody was really using it anyway
Since we're adding the new "domain" staticdirect system we should
clean this up.
2012-07-14 12:55:13 -05:00
Christopher Allan Webber
e8d4e58214 Moving staticdirect to tools/ 2012-07-14 12:55:13 -05:00
Christopher Allan Webber
3b47da8eab Themes are now registered and can have their templates loaded properly 2012-07-14 12:55:13 -05:00
Christopher Allan Webber
a8acb5a387 from_celery.setup_self() didn't pay attention to default_conf_file kwarg, fixed. 2012-05-20 15:17:49 -05:00
Will Kahn-Greene
29b6f91740 401. Plugin infrastructure
* implements installing, loading and setup for plugins
* codifies configuration
* has a sample plugin
* docs
* tests
2012-05-13 00:00:08 -04:00
Christopher Allan Webber
80dc071b79 Making celeryd consistent: look for mediagoblin_local.ini
Use mediagoblin_local.ini as default conf file if it exists, else use
mediagoblin.ini, just like everything else.
2012-04-22 14:09:47 -05:00
Christopher Allan Webber
d693f6bd86 SQL based tests and refactored Celery setup stuff
- Changed config files of test configs to use SQL
 - Updated celery initialization tools, factored them to be able to
   use the "big instance" application stuff
2012-03-26 11:14:11 -05:00
Elrond
4114e54df5 And fix the in-celeryd import.
So that celeryd also loads the task.
2012-03-21 12:17:52 +01:00
Elrond
b829595334 Create load_models().
So all models are ready when connecting to the db and so
our "db" object has all models listed on it, create a
function to load all models from the media_types, etc. Call
it in setup_database()

Problem: This gives celery warnings, because celery is
imported before being setup properly. No idea how to fix
this now. So media-type loading is excluded from
load_models for now.
2012-03-20 12:45:40 +01:00
Luke Slater
4f9f969dec Accidentally overwrote the celery/__init__.py, fixed this and removed the upper correctly 2012-02-28 16:47:38 +00:00
Luke Slater
6bcdd4dc70 Changed celery config keys to upper case and removed upper casing of keys when initialising the config as per issue #214 2012-02-28 16:40:37 +00:00
Christopher Allan Webber
e629cde0b3 Should be all that's needed to switch celery/kombu settings to sqlalchemy 2012-02-25 22:39:38 -06:00
Christopher Allan Webber
cf29e8a824 It's 2012 all up in here 2012-02-02 09:44:13 -06:00
Elrond
415077a743 Factor out check_db_migrations_current
When initializing the database connection the current mongo
based setup checked for new migrations and warned about
them. This was mongo specific so factor'd it out into a
more generic check_db_migrations_current function in the
mongo backend.

Also created a dummy one in the sql backend.
2012-01-01 18:36:42 +01:00
Elrond
faf74067da Move db/migrations.py -> db/mongo/migrations.py
And change references.
2011-12-20 20:33:33 +01:00
Joar Wandborg
8e5f974684 Fixes after merging video branch into master
- Removed debug output from init/celery
- Moved process_media/__init__ to processing.py
- Centralized the processing.ProcessMedia task class
  - Updated media managers to reference the processing function
    instead of the ProcessMedia instance
  - Updated new-style image processing to previous, newer old-style
    image processing
- Updated video transcoding
  - Changed method in progress output, sometimes
    message.structure['percent'] raises KeyError
2011-11-21 23:18:40 +01:00
Joar Wandborg
b9e1fa280e Merge branch 'video_gstreamer-only'
Conflicts:
	mediagoblin/db/migrations.py
	mediagoblin/submit/views.py
2011-11-21 21:51:30 +01:00
Joar Wandborg
a63b640f12 Stashing changes 2011-11-21 00:06:59 +01:00
Nathan Yergler
285ffeddf3 has_key is deprecated, converting uses to use "in" operator. 2011-10-01 15:10:41 -07:00
Nathan Yergler
243c3843bd Whitespace and formatting cleanup.
* Removed trailing whitespace
* Line length < 80 where possible
* Honor conventions on number of blank lines
* Honor conventions about spaces around :, =
2011-10-01 15:10:02 -07:00
Joar Wandborg
93bdab9daa Multimedia support - Commiting from a not yet finished state - Details below
* DONE Initially testing with arista
** DONE Video display templates
*** TODO Multi-browser support
** TODO Video thumbnails
** TODO Link to original video
** TODO Video cropping

Also contains a lot of "debug" print's
2011-09-23 02:35:57 +02:00
Christopher Allan Webber
273227e399 Merge branch 'i507_beaker_cache' 2011-09-05 23:28:41 -05:00
Will Kahn-Greene
12a100e4d8 508. Updates copyright/license information 2011-09-01 20:50:19 -04:00
Christopher Allan Webber
0533f117a9 Basic beaker caching functionality added to the application. 2011-08-23 23:22:17 -05:00
Elrond
56fc718659 Storage config: Drop all Backward Compatibility
Chris Webber says not to care about backward compatibility
at this stage. So drop the last bits.
2011-08-09 13:18:22 +02:00
Elrond
f7d73aeb34 storage Config: Stop being backward compatible (beginning).
Chris Webber says "no backward compatibility for this".
So start removing the backward compat stuff.
2011-08-09 13:15:20 +02:00
Elrond
ed7970696e Storage Config: Use own section
Instead of configuring storage X by parameters in the main
section "X_class = backend" and "X_param = value", use a
new section in the config: "[storage:X]" and use "class =
backend" and "param = value" there.

This is the beginning, it includes a try at being backward
compatible. But that try isn't really fully useful anyway.
2011-08-09 13:13:04 +02:00
Christopher Allan Webber
482d53cd30 Let users know when their migrations are from the future :O 2011-07-30 12:33:57 -05:00