337 Commits

Author SHA1 Message Date
Elrond
4305580e85 Improve .one() by using sqlalchemy's .one() 2011-12-24 19:11:42 +01:00
Elrond
2608982885 Add search level one() method
And create a _fix_query_dict which converts '_id' to 'id'.
2011-12-24 19:11:12 +01:00
Elrond
fb7dd855de Turn MediaComment's author() into get_author property
1) MediaComment's author method conflicts with the author
   field. So rename it to get_author.
2) Turn it from a normal function into a python property.
   That means you call it by ".get_author" not by
   ".get_author()". This is exactly what sqlalchemy gives
   us free of charge.
2011-12-23 22:25:06 +01:00
Elrond
4ae4012dad Move db/models.py -> db/mongo/models.py
To my surprise, there was only ONE reference to models.py.
From open.py.
2011-12-20 20:41:21 +01:00
Elrond
faf74067da Move db/migrations.py -> db/mongo/migrations.py
And change references.
2011-12-20 20:33:33 +01:00
Elrond
59bd06aabb Move db/util.py -> db/mongo/util.py
- Change some reference
- Provide a wrapper db/util.py
2011-12-20 19:35:47 +01:00
Elrond
4970960f8c Move db/indexes.py to db/mongo/indexes.py
And change references (one!).
2011-12-20 19:20:09 +01:00
Elrond
046f9f8481 Move db/open.py to db/mongo/open.py
Starting to move the mongo specific stuff into db/mongo.
And create thin "from db.mongo.Y import z" wrappers in
db/Y.py.

Why?
1) Will make it lots easier to switch to sql for
   testing/developing.
2) The mongo stuff needs to stay around after moving to
   sql, because the converter needs it.
2011-12-20 19:06:04 +01:00
Elrond
7b194a79f0 SQL: mongokit like interface
In trying to ease the migration to SQL, created an
interface to sqlalchemy that looks a lot like the interface
that is currently in use.

*WARNING* Work in progress
2011-12-18 17:07:15 +01:00
Elrond
dbcf5289dc Simple Mongo -> SQL migration tool
This is just a start at a Migration tool from Mongo to SQL.
It fills all currently available SQL models with data from
MongoDB. A few fields in the SQL tables are left out,
because some data format migrations are needed (notably:
queue_file_name).

This thing lives in mediagoblin/db/sql/convert.py because
it has a lot of stuff hardcoded and is not, repeat not for
end users!

Hard coded:
- output database: ./mediagoblin.db (sqlite)
- Mediagoblin config: ./mediagoblin.ini
2011-12-17 21:37:02 +01:00
Elrond
7c2c56a5ff Little sql model update
- Add title to the MediaEntry
- Rename fp_verification_expire to fp_token_expire to
  follow the mongo model.
2011-12-17 17:34:55 +01:00
Elrond
e365f980ac SQL: Some toys and little fix
Run bin/python mediagoblin/db/sql/models.py and watch the
create tables on a memory sqlite db.

Also unicode strings need unicode defauls. Warning by
sqlalchemy.
2011-12-15 22:11:49 +01:00
Elrond
a8ae9a29c1 Move sql models into db/sql/
So we can play with the sql models, let's put them in a
proper place.
2011-12-15 21:15:21 +01:00
Elrond
a0033abb9b Merge remote branch 'remotes/cwebber/sqlalchemy'
* remotes/cwebber/sqlalchemy:
  Beginnings of sqlalchemy models
2011-12-15 21:10:01 +01:00
Elrond
ddc1cae9ea Dot-Notation for MediaEntry.media_data 2011-12-05 21:08:58 +01:00
Elrond
5da0bf901b Dot-Notation for MediaEntry.slug 2011-12-05 21:08:58 +01:00
Elrond
ec82fbd85c Dot-Notation for MediaEntry.title 2011-12-05 21:08:58 +01:00
Elrond
1ceb4fc868 Dot-Notation for MediaEntry.uploader 2011-12-05 21:08:58 +01:00
Elrond
9047b254f3 Dot-Notation for Users.pw_hash 2011-12-05 21:08:57 +01:00
Elrond
5a4e3ff1e2 Dot-Notation for Users.username 2011-12-05 21:08:57 +01:00
Christopher Allan Webber
99d2ac1d83 Merge remote-tracking branch 'remotes/jwandborg/master' 2011-11-24 15:24:58 -06:00
Elrond
3018832153 Rename MediaEntry.uploader() to .get_uploader()
The .uploader() method conflicts with the uploader database
field. As we're moving to .FIELD for db field access, this
is a relevant conflict.

So renaming .uploader() to .get_uploader()
2011-11-22 22:29:37 +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
Pablo J. Urbano Santos
e62fc61194 Added parameter ascending to MediaEntry::get_comments, if true, comments
will be ordered ascending, otherwise descending
2011-11-19 19:11:42 +01:00
Christopher Allan Webber
ccca0fbfc3 Beginnings of sqlalchemy models 2011-11-17 08:28:23 -06:00
Elrond
eabe6b678a Dot-Notation for "_id"
Note: Migrations can't use "Dot Notation"!

Migrations run on pymongo, not mongokit.
So they can't use the "Dot Notation".
This isn't really a big issue, as migrations are anyway
quite mongo specific.
2011-11-15 11:32:13 +01:00
Elrond
7cbddc96a8 Enable mongokit's "Dot notation"
mongokit documents can allow to use x.FIELD instead of
x["FIELD"].
First it looks a lot more pythonic.
Second it might allow us an easier migration path towards
an sqlalchemy database backend.

Docs: http://namlook.github.com/mongokit/tutorial.html#dot-notation
2011-11-15 11:32:13 +01:00
Christopher Allan Webber
ee91c2b88d Merge remote-tracking branch 'remotes/nyergler/pep8-ification'
Conflicts:
	mediagoblin/db/migrations.py
	mediagoblin/db/models.py
	mediagoblin/user_pages/views.py
	mediagoblin/util.py
2011-11-13 20:23:26 -06:00
Elrond
03d47730cd Factor out a add_table_field function
Migrations often just add a new field to some
table/collection. So just have a nice helper function for
this!
2011-10-21 22:17:16 +02: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
Aaron Williamson
152a3bfaa3 Finished splitting util.py into separate files. 2011-10-01 18:05:44 -04:00
Aaron Williamson
ae3bc7fabf Moved common, translation, template, and url code out of util.py and into tools/[file].py 2011-10-01 09:31:42 -04: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
f373599bd7 Merge branch 'gullydwarf-cfdv-f357_lost_password_functionality'
Conflicts:
	mediagoblin/auth/routing.py
2011-09-08 08:12:43 -05:00
Christopher Allan Webber
2db31581ed user_add_forgot_password_token_and_expires migration should set new fields to None/null 2011-09-07 20:18:17 -05:00
Will Kahn-Greene
12a100e4d8 508. Updates copyright/license information 2011-09-01 20:50:19 -04:00
Caleb Forbes Davis V
6503073508 oops, uses Alejandro's fp_verification_key. my bad. 2011-08-28 21:13:07 -05:00
Alejandro Villanueva
25ba955e20 Adding fotgot password functionality 2011-08-28 20:08:14 -05:00
Christopher Allan Webber
6ee9c71902 Method to get the failure exception object for a MediaEntry, if appropriate. 2011-08-14 07:55:08 -05:00
Christopher Allan Webber
6c50c21068 Add fail_error and fail_metadata fields to MediaEntry and relevant migration 2011-08-13 07:48:34 -05:00
Christopher Allan Webber
fabdccd011 Missing multi=True closing this migration, oops :) 2011-08-12 13:14:35 -05:00
Christopher Allan Webber
ba4858c5b4 Merge branch 'master' into processing
Conflicts:
	mediagoblin/db/migrations.py
2011-08-11 22:54:11 -05:00
Christopher Allan Webber
852d5bb238 Merge branch 'master' into processing 2011-08-10 19:53:37 -05:00
Caleb Forbes Davis V
84abd2bbc4 Bug #372 - MediaEntry.thumbnail_file not used
- deleted the thumbnail_file from the media_entries collection
- added a migration to remove the field from previous db versions
2011-08-10 12:48:23 -05:00
Christopher Allan Webber
3cdf366acf Merge branch 'remotes/gullydwarf-cfdv/f360_tagging' (early part) into mergetags
Conflicts:
	mediagoblin/config_spec.ini
	mediagoblin/edit/views.py
	mediagoblin/util.py
2011-07-30 13:09:01 -05:00
Caleb Forbes Davis V
37be7b6da6 updates indices to index on the slug component of the tag list
- uses dot notation to reach into the JSON-style MediaEntry tags
  field object to index on the slug property of each tag
2011-07-27 16:04:41 -05:00
Caleb Forbes Davis V
0712a06dc6 changes tags to a list of dicts in the db, adding tag slugs
- adds a function to convert the tag list of dicts to a text string
  properly delimited for loading into forms
- tag string conversion function updated to generate list of dicts
- updates all mentions of the conversion of the string to the tags db
  object
- adds a tags template utility and updates the media template accordingly
2011-07-27 14:51:57 -05:00
Christopher Allan Webber
6b9ee0ca13 Store the task id of a processing action in the database. 2011-07-24 23:12:46 -05:00
Christopher Allan Webber
e83dc091cc docstring for MediaComment's structure 2011-07-17 17:06:06 -05:00