Work started on MongoDB integration...

There had been an awful lot of stuff changed. The code should be simpler with the introduction on PyMongo.

Non of the packages has been fully converted yet. Auth is probably the closest to being done. All the packages are tightly intergrated so all will need updating.

The plan at the moment is to keep lists such as the feed, followers, followees, votes, subscribers and all alerts inside Redis.

Posts, comments and users will be stored inside Mongo. This also allows us to remove the lists of posts and comments as we can lookup the uid inside each hash. This will mean there should be less issues with data deletion and insertion.

Please note, this branch WILL NOT PASS TESTS.
Added pymongo to requirements.
Fixed pattern in run_tests so it tests everthing.

This was an change I made during development.
More work on MongoDB rework...

There is a lot changing in this branch and few things which will be being removed. A few functions here and few added elsewhere.

Once the majority of the work is done I will document the differences between this version and 0.5.
Moved back to UUIDs from BSON ObjectIds.

ObjectIds where causing to much trouble with Redis and jsonpickle. It would have required loads of of conversions from str and back. UUIDs where good enough before so they will do here. We can re-visit this in the future if they start to cause issues which I can't imagine they will.

The auth tests are now passing. There may still be some issues we will see with coverage once every package has been updated.

Also some of the posts stuff has been moved accross. Just enough at the moment to get the auth tests to pass.
Reworked a lot more stuff...

This still will not pass unit tests, it is actually far from it!

Reworked a lot of functions within posts and users to try and make our way towards fixing issue #19 and issue #20.

Posts and comments are now the same thing so we only have one write path. There is a difference between these. Comments now have a new field called 'reply_to' which should be an ID of the post. Some of the fields have also been renamed within the hash. uid is now user_id for example. This renaming will make its way in to the users collection also in the future.

A lot of parameters have been renamed in a similar fashion to the above. 'uid' are becoming 'user_id' and 'cid's are being replaced with 'reply_id'.

Please note the work on the MongoDB rewrite / full code refactor is still in its infancy. I would like to review all processes.
Storing more rewrites whilst I fix an issue!
More work on posting since comments removed...

There is still along way to go! All unit tests will have to change.
Added Sphinx to /docs

I am now planning on keeping code level documentation for the code.
Added badge to README.md for RTFD...

Also added Sphinx to requirements.txt.

As a side note I tweaked the tests include path as I had tweaked it whilst working on them but they still don't work.
Set default style on RTFD badge
Code re-org! Moved views in to Blueprints...

The issues I have been facing can be worked around with a bit of code re-org and the use of Blueprints. This seems to have stopped a lot of the issues with working outside the application context.

This is the initial work on this and there is much to do. Hopefully we will be able to removed the tests from there app_context and start with a fresh slate everytime amonst other things.

PLEASE NOTE: URLS ARE NOW PRECEDED WITH THERE BLUEPRINT, EG. 'signin' BECOMES 'auth.signin' THIS SHOULD HELP WITH READING INSIDE TEMPLATES.
Merge branch 'rework/mongodb' of github.com:pjuu/pjuu into rework/mongodb

Forgot I made this change on the Github site yesterday. It changed the style for RTFD badge.
Started reworking tests with blueprints in place...

Also fixed a few coding issues around the code base. Not touched tests yet.
A few changes that don't really sit together...

- Updated .gitignore to be a full Python one from Github
- Updated requirements.txt they should now be the same
- The change to WTForms yesterday (DataRequired) doesn't affect Flask-WTF yet.
Auth tests work!...

Fixed up the auth system, a lot has changed and there may be more:

- Made function names a little more consistent. `create_user` is not `create_account`.
- Changed most references of `uid` to user `user_id`, helps with reading the code.
- Cleaned up a few of the docstrings and removed a lot. This is ready for documenting with Sphinx. The module docstrings are now much smaller.
- Fixed url_for lookups in the system. URLs are now namespaced because of the Blueprints so `signin` becomes `auth.signin` this should help with readability. It also fixed our problems with context.
- Added MongoDB service to Travis config. This may be changed because I don't know what version of MongoDB it is! We may have to install via apt.
- The auth test suite passes in isolation. The tests will still not pass yet because I have to fix posts and users packages.

Note: MongoDB has made the code a lot cleaner!
Removed gunicorn for requirements.txt.

This should allow us to run unit tests on PyPy.
User tests now pass again.

There is still a refactor needed on the users packages to have it make a little more sense. But it looks like we are on the right tracks again. This has caused changes elsewhere in the code base though.
Fixed tests for post package, all packages work.

This closes #20. Posts and what were comments are now the same thing as far as MongoDB is concerned. Replies is the new name for comments, and are stored at 'reply_to' and references as 'reply_id'.
Sorted Celery, I had implemented it WRONG!

Added Celery and Helper to requirements.txt.
Using Flask-Celery-Helper as it saves duplicating work.
Added RabbitMQ to Travis-CI (not using yet though)
Remove PyPy from Travis config.
Removed un-used LUA script (not really needed since MongoDB)
Removed tasks.py in lib/ because it wasn't doing it for me.