aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Stop failing if there is no previous/next to go toJef van Schendel2012-03-051-2/+6
|
* Merge branch 'keyboard_nav'Jef van Schendel2012-03-053-2/+33
|\
| * Add left and right arrow keys navigation (add new JS file, link it from ↵Jef van Schendel2012-02-143-2/+33
| | | | | | | | media.html; add new navigation_right class to right button)
* | Added the sql_switch.py script to .gitignoreJoar Wandborg2012-03-051-1/+5
| |
* | Implement atomic_update for SQL.Elrond2012-03-042-1/+15
| | | | | | | | | | | | On sqlalchemy most updates are atomic enough for most use cases. Anyway, here is an atomic_update that is compatible to the mongo version.
* | Create atomic_update db utility functionElrond2012-03-043-10/+22
| | | | | | | | | | | | | | | | | | In some cases (notably the mark_entry_failed function) it is useful to have atomic update functionality on the db. On mongo this requires special syntax. So created an atomic_update function for mongo and started to use it in mark_entry_failed.
* | Merge branch 'media_data_start'Elrond2012-03-035-5/+31
|\ \ | | | | | | | | | | | | | | | | | | * media_data_start: And media_data_init() for sql as a dummy Create a fake MediaEntry.media_data for sql Video media_data: Change layout in the mongo world
| * | And media_data_init() for sql as a dummyElrond2012-03-031-0/+4
| | | | | | | | | | | | Needs to be implemented.
| * | Create a fake MediaEntry.media_data for sqlElrond2012-03-031-0/+5
| | | | | | | | | | | | | | | | | | | | | So that the SQL backend is more useable, let the MediaEntry have a faked media_data. It's extremely fake: The returned dict is always a new one. So any stored info is even lost!
| * | Video media_data: Change layout in the mongo worldElrond2012-03-014-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Change the media_data for video from entry.media_data["video"] to use entry.media_data directly. Also start a bare MediaEntry.media_data_init(**kwargs) method for setting up the media_data and possibly initialising it with kwargs.
* | | Go go mediagoblin favico symmetryChristopher Allan Webber2012-03-012-0/+0
|/ /
* | SQL: Improve video media_data tableElrond2012-03-012-5/+7
| | | | | | | | | | | | 1. Make the foreignkey the primary_key. 2. Add width/height, as those are currently in use for the media_data
* | Cleanup Session after each request.Elrond2012-02-282-0/+9
| | | | | | | | | | | | | | | | | | | | | | It's good practice to cleanup the SQL session after each request so that the next request gets a fresh one. It's an application decision whether one wants a just-in-case ROLLBACK or COMMIT. There are two ideas behind it, really. I have decided for ROLLBACK. The idea is "if you forget to commit your changes yourself, there's something broken. Maybe you got an exception?".
* | Attachment support in the SQL backendElrond2012-02-284-4/+38
| | | | | | | | | | | | | | | | | | attachments working with the sql backend. - SQL Schema for attachment files, ordering attachments by their name, not by the submission order (as earlier). - Dot-Notation for attachments, where missing. - convert existing attachments over from mongo -> sql
* | Fix tests given recent celery "case" changeChristopher Allan Webber2012-02-287-16/+16
| |
* | Accidentally overwrote the celery/__init__.py, fixed this and removed the ↵Luke Slater2012-02-281-1/+55
| | | | | | | | upper correctly
* | Changed celery config keys to upper case and removed upper casing of keys ↵Luke Slater2012-02-282-96/+41
| | | | | | | | when initialising the config as per issue #214
* | Let mark_entry_failed log unknown exceptionsElrond2012-02-271-0/+1
| | | | | | | | | | | | | | | | I don't know exactly why, but an exception during processing hasn't found its way up. The entry was marked as failed and that was it. So I decided to add a _log.warn to the part of mark_entry_failed that handles general exceptions.
* | Merge remote-tracking branch 'cwebber/celerysql'Elrond2012-02-276-68/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cwebber/celerysql: Adjust unit tests to match new celery/kombu sqlalchemy setup "database" is not the sqlalchemy kombu transport... should be "sqlalchemy" Celery and kombu databases should also be .gitignore'd kombu-sqlalchemy a requirement in order for kombu sqlalchemy transport to work Move mediagoblin dbs out of user_dev for race condition directory-creation reasons. Give kombu its own db. Responding to Elrond "sqlite will lock all the time!" :) Apparently an absolute path is three slashes after sqlite:. Thx elrond. Should be all that's needed to switch celery/kombu settings to sqlalchemy
| * | Adjust unit tests to match new celery/kombu sqlalchemy setupChristopher Allan Webber2012-02-262-48/+9
| | |
| * | "database" is not the sqlalchemy kombu transport... should be "sqlalchemy"Christopher Allan Webber2012-02-261-1/+1
| | |
| * | Celery and kombu databases should also be .gitignore'dChristopher Allan Webber2012-02-261-0/+2
| | |
| * | kombu-sqlalchemy a requirement in order for kombu sqlalchemy transport to workChristopher Allan Webber2012-02-261-0/+1
| | |
| * | Move mediagoblin dbs out of user_dev for race condition directory-creation ↵Christopher Allan Webber2012-02-261-2/+2
| | | | | | | | | | | | reasons.
| * | Give kombu its own db. Responding to Elrond "sqlite will lock all the time!" :)Christopher Allan Webber2012-02-261-1/+1
| | |
| * | Apparently an absolute path is three slashes after sqlite:. Thx elrond.Christopher Allan Webber2012-02-261-2/+2
| | | | | | | | | | | | sqlite:///////////////////////////////////whaaaaaa.db
| * | Should be all that's needed to switch celery/kombu settings to sqlalchemyChristopher Allan Webber2012-02-252-20/+11
| | |
* | | Committing extracted and compiled translationsChristopher Allan Webber2012-02-263-23/+23
| | |
* | | Committing present MediaGoblin translations before pushing extracted messagesChristopher Allan Webber2012-02-262-161/+49
| | |
* | | Let SQL objects support .setdefault() and .delete()Elrond2012-02-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some parts in the code like to use .setdefault(). So make them happy and provide a minimal version. It ignores the given default and expects the attribute to already exist. Other parts use .delete() to delete a complete object. This version expects the object to live in a session and also does the final commit.
* | | Dot-Notation: MediaComment and some random placesElrond2012-02-262-7/+7
| | |
* | | Let Main Server emit startup notice including versionElrond2012-02-261-1/+6
|/ / | | | | | | | | | | | | There was no place in the software telling the user the version in use. So start by having the main server emit a startup notice including the version string. Uses python logging, so should be easy to reconfigure, etc.
* | Allow .id instead of ._id for the Mongo backendElrond2012-02-252-1/+16
| | | | | | | | | | | | | | | | | | | | To allow easier migration to the SQLAlchemy style .id give the User and MediaEntry mongo classes an alias attribute of .id that maps to ['_id']. Use it in the upload process, because this was one of the last positions with a ['_id'] instead of ._id (due to a bug in mongokit).
* | Create "gmg convert_mongo_to_sql" commandElrond2012-02-233-3/+32
| | | | | | | | | | | | | | | | | | Finally, to make testing of sql a bit easier, create a bin/gmg command to do the conversion from mongo to sql. It's currently named "convert_mongo_to_sql". The most important option is the gmg -cf option to give a configfile with the appropiate sql_engine definition.
* | mongo to sql convert: Better OrderingElrond2012-02-231-4/+4
| | | | | | | | | | | | | | | | Order the conversion by the "created" attribute. That way the sql ids are mostly in the order they would have been, if sql was used earlier. Makes things nicer to look at in a db dump.
* | Use task_id in generating the queue file pathElrond2012-02-211-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | The task_id is created anyway as a UUID. So it is very unique per definition. The only thing needed for the queue file path is a unique part. Before the objectid of the MediaEntry was used instead. But in the sql world the objectid is only available after an "insert" on the db. And creating the queue_file_path afterwards would require an "update" on the db. We can save that. ... for now.
* | We now require sqlalchemy and sqlalchemy-migrateChristopher Allan Webber2012-02-191-0/+2
| |
* | Commenting out the migrations that don't exist yetChristopher Allan Webber2012-02-181-4/+4
| |
* | Updates so that dbupdate command worksChristopher Allan Webber2012-02-189-10/+124
| | | | | | | | | | | | - Various fixes to dbupdate itself - Switching db/sql/migrations.py to use a dict instead of a list - Registering the function
* | Merge branch 'master' into sqlmigrateChristopher Allan Webber2012-02-186-9/+42
|\ \
| * | Start having useful defaults for SQLElrond2012-02-184-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly this means: Havintg a config_spec.ini that has a local (relative to mediagoblin.ini) sqlite db with the name "mediagoblin.db". Also: - Add to .gitignore - Add a notice to mediagoblin.ini about the db
| * | Fix MediaTag __init__ to handle no argsElrond2012-02-181-3/+5
| | | | | | | | | | | | | | | Let the init code also handle createing a fresh clean instance without any attrs set.
| * | SQL: fail_metadata as JSON encoded fieldElrond2012-02-183-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | fail_metadata used to be a dict in mongo. So a json encoded field should be okay too. We could use a pickled field instead, which would be more flexible.
* | | Merge branch 'master' into sqlmigrateChristopher Allan Webber2012-02-18181-372/+656
|\| | | | | | | | | | | | | | Conflicts: mediagoblin/db/sql/models.py
| * | Drop pre-rendered html: MediaComment.content_htmlElrond2012-02-186-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a bit of discussion, we decided to drop the pre-rendered html from the database and render it on the fly. In another step, we will use some proper caching method to cache this stuff. This commit affects the MediaComment.content_html part.
| * | Drop pre-rendered html: MediaEntry.description_htmlElrond2012-02-189-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a bit of discussion, we decided to drop the pre-rendered html from the database and render it on the fly. In another step, we will use some proper caching method to cache this stuff. This commit affects the MediaEntry.description_html part.
| * | Drop pre-rendered html: User.bio_htmlElrond2012-02-186-6/+17
| |/ | | | | | | | | | | | | | | | | | | | | After a bit of discussion, we decided to drop the pre-rendered html from the database and render it on the fly. In another step, we will use some proper caching method to cache this stuff. This commit affects the User.bio_html part.
| * Revert "Layout overhaul time!"Christopher Allan Webber2012-02-138-173/+146
| | | | | | | | | | | | | | | | This reverts a whole bunch of commits, fb1dc4f5 thru 92e8ca79, where an experimental new layout was played with. Unfortunately, this layout broke the look and feel of master, even though it was going in the right direction for mobile stuff. Jef said he'll do things in a branch!
| * 47: Only lowercase host part of emailElrond2012-02-131-1/+3
| | | | | | | | | | | | | | | | | | According to most documentation it seems that the local part of an email adress is/can be case sensitive. While the host part is not. So we lowercase only the host part of the given adress. See: http://issues.mediagoblin.org/ticket/47
| * Our javascript is actually AGPLv3+, not LGPL*. Correcting.Christopher Allan Webber2012-02-121-1/+1
| |