cit-jmu/rooibos — pull request #37 by hanleybrand (2014-05-22 20:30:37+00:00)
Title: update django to 1.6.5, WAT

Ok, here's the fruits of my recent train/lunch/night sprints - a (mostly) working mdid3 upgraded to the most recent stable django release. It mostly works, I think (I keep finding template syntax errors, argh!) - although there are a few...

## lingering issues of note

### tests broken

The biggest impediment to finalizing the upgrade is tests being broken by something in the workers module colliding with changes to django transactions (see commit a72acc6d5059646c60ebc4e38c23df51dee0edc6) - I made a couple fixes as you'll see in the commit, but I was a bit out of my depth in fully grokking what I was changing, so I figured I'd commit it and let @knabar take a look at it, since the worker changes are so fresh. Hopefully the transaction changes aren't too annoying to patch up, assuming that's what's wrong -- it could actually be related to changes in versions 1.3-1.6 in django tests... or...

### maybe something in workers needs a tweak

It's worth noting that the errors seem to be mostly in the tests, but I've seen a couple pika errors here and there, while testing (mostly a line of `WARNING:pika.adapters.base_connection:Connection to ::1:5672 failed: [Errno 61] Connection refused` interspersed with bunches of pika log lines indicating things are working - so it may not even be related, but when the tests throw errors they are preceded by a million of those connection refused lines)

### the flash-based uploader doesn't seem to work

I realized this morning that I can't upload images, but the errors seem to be entirely on the client side (but that's how the uploader is). I'm not sure what would be wrong (it could even just be my dev machine configuration) but it's something to look at

------------------

Otherwise, as I put in the read me - I'd recommend a fresh python 2.7.x venv for this commit, as it gives a couple advantages according to the django docs (I think for logging and unittest2)

## Setup

``` bash
pip install -f requirements.txt
python manage.py collectstatic
python manage.py runserver
```

## Major changes

* Following the newer django convention, moved the main app config files to a 'project' directory, called config
* The settings & settings_local_template files are currently a mess, sorry - I'm working to make them more 'self-documented' and more logically clumped (e.g. all of the external urls & api keys together, automatic relative path variables, etc.), but am only partly to mostly done - and I'm pretty sure there's some cleanup to be done as well.
* main settings object is now 'config.settings' (not 'rooibos.settings') - this can be refactored, I think I originally called the config directory __mdid__, which makes sense too.

* rooibos/static is where files go when `python manage.py collectstatic` is run.

* some previously included modules deleted (now listed in requirements.txt)
* rooibos/django
* rooibos/contrib/djangologging (replaced by [debug_toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar))
* rooibos/contrib/compressor

* probably at least one other very important thing