aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin')
-rw-r--r--mediagoblin/auth/lib.py4
-rw-r--r--mediagoblin/auth/views.py8
-rw-r--r--mediagoblin/db/mixin.py8
-rw-r--r--mediagoblin/db/sql/base.py17
-rw-r--r--mediagoblin/db/sql/models.py10
-rw-r--r--mediagoblin/decorators.py20
-rw-r--r--mediagoblin/edit/lib.py2
-rw-r--r--mediagoblin/edit/views.py8
-rw-r--r--mediagoblin/plugins/api/views.py4
-rw-r--r--mediagoblin/processing/__init__.py6
-rw-r--r--mediagoblin/processing/task.py8
-rw-r--r--mediagoblin/submit/views.py10
-rw-r--r--mediagoblin/templates/mediagoblin/admin/panel.html6
-rw-r--r--mediagoblin/templates/mediagoblin/edit/attachments.html2
-rw-r--r--mediagoblin/templates/mediagoblin/edit/edit.html2
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/collection.html2
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html2
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/media.html22
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/media_collect.html2
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html2
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/processing_panel.html6
-rw-r--r--mediagoblin/templates/mediagoblin/user_pages/user.html6
-rw-r--r--mediagoblin/templates/mediagoblin/utils/collection_gallery.html2
-rw-r--r--mediagoblin/tests/test_auth.py12
-rw-r--r--mediagoblin/tests/test_submission.py2
-rw-r--r--mediagoblin/tests/tools.py8
-rw-r--r--mediagoblin/tools/pagination.py4
-rw-r--r--mediagoblin/tools/request.py2
-rw-r--r--mediagoblin/user_pages/lib.py2
-rw-r--r--mediagoblin/user_pages/views.py26
30 files changed, 96 insertions, 119 deletions
diff --git a/mediagoblin/auth/lib.py b/mediagoblin/auth/lib.py
index c5b046d2..8829995a 100644
--- a/mediagoblin/auth/lib.py
+++ b/mediagoblin/auth/lib.py
@@ -109,7 +109,7 @@ def send_verification_email(user, request):
'verification_url': EMAIL_VERIFICATION_TEMPLATE.format(
host=request.host,
uri=request.urlgen('mediagoblin.auth.verify_email'),
- userid=unicode(user._id),
+ userid=unicode(user.id),
verification_key=user.verification_key)})
# TODO: There is no error handling in place
@@ -144,7 +144,7 @@ def send_fp_verification_email(user, request):
'verification_url': EMAIL_FP_VERIFICATION_TEMPLATE.format(
host=request.host,
uri=request.urlgen('mediagoblin.auth.verify_forgot_password'),
- userid=unicode(user._id),
+ userid=unicode(user.id),
fp_verification_key=user.fp_verification_key)})
# TODO: There is no error handling in place
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index 5b77c122..31f50fa6 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -90,7 +90,7 @@ def register(request):
user.save(validate=True)
# log the user in
- request.session['user_id'] = unicode(user._id)
+ request.session['user_id'] = unicode(user.id)
request.session.save()
# send verification email
@@ -125,7 +125,7 @@ def login(request):
if user and user.check_login(request.form['password']):
# set up login in session
- request.session['user_id'] = unicode(user._id)
+ request.session['user_id'] = unicode(user.id)
request.session.save()
if request.form.get('next'):
@@ -167,7 +167,7 @@ def verify_email(request):
return render_404(request)
user = request.db.User.find_one(
- {'_id': ObjectId(unicode(request.GET['userid']))})
+ {'id': ObjectId(unicode(request.GET['userid']))})
if user and user.verification_key == unicode(request.GET['token']):
user.status = u'active'
@@ -308,7 +308,7 @@ def verify_forgot_password(request):
# check if it's a valid Id
try:
user = request.db.User.find_one(
- {'_id': ObjectId(unicode(formdata_userid))})
+ {'id': ObjectId(unicode(formdata_userid))})
except InvalidId:
return render_404(request)
diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py
index 3f395e90..9829bb6e 100644
--- a/mediagoblin/db/mixin.py
+++ b/mediagoblin/db/mixin.py
@@ -99,14 +99,14 @@ class MediaEntryMixin(object):
@property
def slug_or_id(self):
- return (self.slug or self._id)
+ return (self.slug or self.id)
def url_for_self(self, urlgen, **extra_args):
"""
Generate an appropriate url for ourselves
- Use a slug if we have one, else use our '_id'.
+ Use a slug if we have one, else use our 'id'.
"""
uploader = self.get_uploader
@@ -208,13 +208,13 @@ class CollectionMixin(object):
@property
def slug_or_id(self):
- return (self.slug or self._id)
+ return (self.slug or self.id)
def url_for_self(self, urlgen, **extra_args):
"""
Generate an appropriate url for ourselves
- Use a slug if we have one, else use our '_id'.
+ Use a slug if we have one, else use our 'id'.
"""
creator = self.get_creator
diff --git a/mediagoblin/db/sql/base.py b/mediagoblin/db/sql/base.py
index ca0c8166..8aa9cc3a 100644
--- a/mediagoblin/db/sql/base.py
+++ b/mediagoblin/db/sql/base.py
@@ -42,28 +42,15 @@ class GMGQuery(Query):
Session = scoped_session(sessionmaker(query_cls=GMGQuery))
-def _fix_query_dict(query_dict):
- if '_id' in query_dict:
- query_dict['id'] = query_dict.pop('_id')
-
-
class GMGTableBase(object):
query = Session.query_property()
@classmethod
- def find(cls, query_dict=None):
- if query_dict is None:
- query_dict = {}
-
- _fix_query_dict(query_dict)
+ def find(cls, query_dict):
return cls.query.filter_by(**query_dict)
@classmethod
- def find_one(cls, query_dict=None):
- if query_dict is None:
- query_dict = {}
-
- _fix_query_dict(query_dict)
+ def find_one(cls, query_dict):
return cls.query.filter_by(**query_dict).first()
@classmethod
diff --git a/mediagoblin/db/sql/models.py b/mediagoblin/db/sql/models.py
index b48c1fbe..8315d05c 100644
--- a/mediagoblin/db/sql/models.py
+++ b/mediagoblin/db/sql/models.py
@@ -83,8 +83,6 @@ class User(Base, UserMixin):
## TODO
# plugin data would be in a separate model
- _id = SimpleFieldAlias("id")
-
def __repr__(self):
return '<{0} #{1} {2} {3} "{4}">'.format(
self.__class__.__name__,
@@ -161,8 +159,6 @@ class MediaEntry(Base, MediaEntryMixin):
# media_data
# fail_error
- _id = SimpleFieldAlias("id")
-
def get_comments(self, ascending=False):
order_col = MediaComment.created
if not ascending:
@@ -359,8 +355,6 @@ class MediaComment(Base, MediaCommentMixin):
get_author = relationship(User)
- _id = SimpleFieldAlias("id")
-
class Collection(Base, CollectionMixin):
__tablename__ = "core__collections"
@@ -383,8 +377,6 @@ class Collection(Base, CollectionMixin):
return CollectionItem.query.filter_by(
collection=self.id).order_by(order_col)
- _id = SimpleFieldAlias("id")
-
class CollectionItem(Base, CollectionItemMixin):
__tablename__ = "core__collection_items"
@@ -400,8 +392,6 @@ class CollectionItem(Base, CollectionItemMixin):
get_media_entry = relationship(MediaEntry)
- _id = SimpleFieldAlias("id")
-
__table_args__ = (
UniqueConstraint('collection', 'media_entry'),
{})
diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py
index 90b36771..2955c927 100644
--- a/mediagoblin/decorators.py
+++ b/mediagoblin/decorators.py
@@ -75,9 +75,9 @@ def user_may_delete_media(controller):
@wraps(controller)
def wrapper(request, *args, **kwargs):
uploader_id = request.db.MediaEntry.find_one(
- {'_id': ObjectId(request.matchdict['media'])}).uploader
+ {'id': ObjectId(request.matchdict['media'])}).uploader
if not (request.user.is_admin or
- request.user._id == uploader_id):
+ request.user.id == uploader_id):
return exc.HTTPForbidden()
return controller(request, *args, **kwargs)
@@ -94,7 +94,7 @@ def user_may_alter_collection(controller):
creator_id = request.db.User.find_one(
{'username': request.matchdict['user']}).id
if not (request.user.is_admin or
- request.user._id == creator_id):
+ request.user.id == creator_id):
return exc.HTTPForbidden()
return controller(request, *args, **kwargs)
@@ -134,15 +134,15 @@ def get_user_media_entry(controller):
media = request.db.MediaEntry.find_one(
{'slug': request.matchdict['media'],
'state': u'processed',
- 'uploader': user._id})
+ 'uploader': user.id})
# no media via slug? Grab it via ObjectId
if not media:
try:
media = request.db.MediaEntry.find_one(
- {'_id': ObjectId(request.matchdict['media']),
+ {'id': ObjectId(request.matchdict['media']),
'state': u'processed',
- 'uploader': user._id})
+ 'uploader': user.id})
except InvalidId:
return render_404(request)
@@ -169,7 +169,7 @@ def get_user_collection(controller):
collection = request.db.Collection.find_one(
{'slug': request.matchdict['collection'],
- 'creator': user._id})
+ 'creator': user.id})
# Still no collection? Okay, 404.
if not collection:
@@ -194,10 +194,10 @@ def get_user_collection_item(controller):
collection = request.db.Collection.find_one(
{'slug': request.matchdict['collection'],
- 'creator': user._id})
+ 'creator': user.id})
collection_item = request.db.CollectionItem.find_one(
- {'_id': request.matchdict['collection_item'] })
+ {'id': request.matchdict['collection_item'] })
# Still no collection item? Okay, 404.
if not collection_item:
@@ -216,7 +216,7 @@ def get_media_entry_by_id(controller):
def wrapper(request, *args, **kwargs):
try:
media = request.db.MediaEntry.find_one(
- {'_id': ObjectId(request.matchdict['media']),
+ {'id': ObjectId(request.matchdict['media']),
'state': u'processed'})
except InvalidId:
return render_404(request)
diff --git a/mediagoblin/edit/lib.py b/mediagoblin/edit/lib.py
index b4715134..aab537a0 100644
--- a/mediagoblin/edit/lib.py
+++ b/mediagoblin/edit/lib.py
@@ -17,7 +17,7 @@
def may_edit_media(request, media):
"""Check, if the request's user may edit the media details"""
- if media.uploader == request.user._id:
+ if media.uploader == request.user.id:
return True
if request.user.is_admin:
return True
diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py
index 111f9ae8..6d938f7c 100644
--- a/mediagoblin/edit/views.py
+++ b/mediagoblin/edit/views.py
@@ -79,7 +79,7 @@ def edit_media(request, media):
location=media.url_for_self(request.urlgen))
if request.user.is_admin \
- and media.uploader != request.user._id \
+ and media.uploader != request.user.id \
and request.method != 'POST':
messages.add_message(
request, messages.WARNING,
@@ -130,7 +130,7 @@ def edit_attachments(request, media):
attachment_public_filepath \
= mg_globals.public_store.get_unique_filepath(
- ['media_entries', unicode(media._id), 'attachment',
+ ['media_entries', unicode(media.id), 'attachment',
public_filename])
attachment_public_file = mg_globals.public_store.get_file(
@@ -278,7 +278,7 @@ def edit_collection(request, collection):
# Make sure there isn't already a Collection with this title
existing_collection = request.db.Collection.find_one({
- 'creator': request.user._id,
+ 'creator': request.user.id,
'title':request.form['title']})
if existing_collection and existing_collection.id != collection.id:
@@ -301,7 +301,7 @@ def edit_collection(request, collection):
collection=collection.slug)
if request.user.is_admin \
- and collection.creator != request.user._id \
+ and collection.creator != request.user.id \
and request.method != 'POST':
messages.add_message(
request, messages.WARNING,
diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py
index a1b1bcac..7f93108e 100644
--- a/mediagoblin/plugins/api/views.py
+++ b/mediagoblin/plugins/api/views.py
@@ -108,7 +108,7 @@ def post_entry(request):
process_media = registry.tasks[ProcessMedia.name]
try:
process_media.apply_async(
- [unicode(entry._id)], {},
+ [unicode(entry.id)], {},
task_id=task_id)
except BaseException as e:
# The purpose of this section is because when running in "lazy"
@@ -119,7 +119,7 @@ def post_entry(request):
#
# ... not completely the diaper pattern because the
# exception is re-raised :)
- mark_entry_failed(entry._id, e)
+ mark_entry_failed(entry.id, e)
# re-raise the exception
raise
diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py
index 6b2d50e2..e2bc1a13 100644
--- a/mediagoblin/processing/__init__.py
+++ b/mediagoblin/processing/__init__.py
@@ -38,7 +38,7 @@ class ProgressCallback(object):
def create_pub_filepath(entry, filename):
return mgg.public_store.get_unique_filepath(
['media_entries',
- unicode(entry._id),
+ unicode(entry.id),
filename])
@@ -93,7 +93,7 @@ def mark_entry_failed(entry_id, exc):
# Looks like yes, so record information about that failure and any
# metadata the user might have supplied.
atomic_update(mgg.database.MediaEntry,
- {'_id': entry_id},
+ {'id': entry_id},
{u'state': u'failed',
u'fail_error': unicode(exc.exception_path),
u'fail_metadata': exc.metadata})
@@ -104,7 +104,7 @@ def mark_entry_failed(entry_id, exc):
# metadata (in fact overwrite it if somehow it had previous info
# here)
atomic_update(mgg.database.MediaEntry,
- {'_id': entry_id},
+ {'id': entry_id},
{u'state': u'failed',
u'fail_error': None,
u'fail_metadata': {}})
diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py
index a8bc0f2f..06a26bb7 100644
--- a/mediagoblin/processing/task.py
+++ b/mediagoblin/processing/task.py
@@ -42,7 +42,7 @@ class ProcessMedia(Task):
(for now just process_image...)
"""
entry = mgg.database.MediaEntry.one(
- {'_id': ObjectId(media_id)})
+ {'id': ObjectId(media_id)})
# Try to process, and handle expected errors.
try:
@@ -61,7 +61,7 @@ class ProcessMedia(Task):
json_processing_callback(entry)
except BaseProcessingFail as exc:
- mark_entry_failed(entry._id, exc)
+ mark_entry_failed(entry.id, exc)
json_processing_callback(entry)
return
@@ -72,7 +72,7 @@ class ProcessMedia(Task):
entry.title,
exc))
- mark_entry_failed(entry._id, exc)
+ mark_entry_failed(entry.id, exc)
json_processing_callback(entry)
except Exception as exc:
@@ -80,7 +80,7 @@ class ProcessMedia(Task):
+ ' processing {0}'.format(
entry))
- mark_entry_failed(entry._id, exc)
+ mark_entry_failed(entry.id, exc)
json_processing_callback(entry)
raise
diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py
index 02026f45..3628fa0d 100644
--- a/mediagoblin/submit/views.py
+++ b/mediagoblin/submit/views.py
@@ -76,7 +76,7 @@ def submit_start(request):
entry.license = unicode(request.form.get('license', "")) or None
- entry.uploader = request.user._id
+ entry.uploader = request.user.id
# Process the user's folksonomy "tags"
entry.tags = convert_to_tag_list_of_dicts(
@@ -121,7 +121,7 @@ def submit_start(request):
process_media = registry.tasks[ProcessMedia.name]
try:
process_media.apply_async(
- [unicode(entry._id)], {},
+ [unicode(entry.id)], {},
task_id=task_id)
except BaseException as exc:
# The purpose of this section is because when running in "lazy"
@@ -132,7 +132,7 @@ def submit_start(request):
#
# ... not completely the diaper pattern because the
# exception is re-raised :)
- mark_entry_failed(entry._id, exc)
+ mark_entry_failed(entry.id, exc)
# re-raise the exception
raise
@@ -198,12 +198,12 @@ def add_collection(request, media=None):
collection.title = unicode(request.form['title'])
collection.description = unicode(request.form.get('description'))
- collection.creator = request.user._id
+ collection.creator = request.user.id
collection.generate_slug()
# Make sure this user isn't duplicating an existing collection
existing_collection = request.db.Collection.find_one({
- 'creator': request.user._id,
+ 'creator': request.user.id,
'title':collection.title})
if existing_collection:
diff --git a/mediagoblin/templates/mediagoblin/admin/panel.html b/mediagoblin/templates/mediagoblin/admin/panel.html
index d3c6c958..6bcb5c24 100644
--- a/mediagoblin/templates/mediagoblin/admin/panel.html
+++ b/mediagoblin/templates/mediagoblin/admin/panel.html
@@ -42,7 +42,7 @@
</tr>
{% for media_entry in processing_entries %}
<tr>
- <td>{{ media_entry._id }}</td>
+ <td>{{ media_entry.id }}</td>
<td>{{ media_entry.get_uploader.username }}</td>
<td>{{ media_entry.title }}</td>
<td>{{ media_entry.created.strftime("%F %R") }}</td>
@@ -72,7 +72,7 @@
</tr>
{% for media_entry in failed_entries %}
<tr>
- <td>{{ media_entry._id }}</td>
+ <td>{{ media_entry.id }}</td>
<td>{{ media_entry.get_uploader.username }}</td>
<td>{{ media_entry.title }}</td>
<td>{{ media_entry.created.strftime("%F %R") }}</td>
@@ -101,7 +101,7 @@
</tr>
{% for media_entry in processed_entries %}
<tr>
- <td>{{ media_entry._id }}</td>
+ <td>{{ media_entry.id }}</td>
<td>{{ media_entry.get_uploader.username }}</td>
<td><a href="{{ media_entry.url_for_self(request.urlgen) }}">{{ media_entry.title }}</a></td>
<td>{{ media_entry.created.strftime("%F %R") }}</td>
diff --git a/mediagoblin/templates/mediagoblin/edit/attachments.html b/mediagoblin/templates/mediagoblin/edit/attachments.html
index 6e7da0a1..55d446de 100644
--- a/mediagoblin/templates/mediagoblin/edit/attachments.html
+++ b/mediagoblin/templates/mediagoblin/edit/attachments.html
@@ -28,7 +28,7 @@
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.edit.attachments',
user= media.get_uploader.username,
- media= media._id) }}"
+ media= media.id) }}"
method="POST" enctype="multipart/form-data">
<div class="form_box">
<h1>
diff --git a/mediagoblin/templates/mediagoblin/edit/edit.html b/mediagoblin/templates/mediagoblin/edit/edit.html
index 144184df..1f5b91f7 100644
--- a/mediagoblin/templates/mediagoblin/edit/edit.html
+++ b/mediagoblin/templates/mediagoblin/edit/edit.html
@@ -29,7 +29,7 @@
<form action="{{ request.urlgen('mediagoblin.edit.edit_media',
user= media.get_uploader.username,
- media= media._id) }}"
+ media= media.id) }}"
method="POST" enctype="multipart/form-data">
<div class="form_box_xl edit_box">
<h1>{% trans media_title=media.title %}Editing {{ media_title }}{% endtrans %}</h1>
diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection.html b/mediagoblin/templates/mediagoblin/user_pages/collection.html
index f53c164f..f1ab7a42 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/collection.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/collection.html
@@ -44,7 +44,7 @@
{{ collection_title }} by <a href="{{ user_url }}">{{ username }}</a>
{%- endtrans %}
</h1>
- {% if request.user and (collection.creator == request.user._id or
+ {% if request.user and (collection.creator == request.user.id or
request.user.is_admin) %}
{% set edit_url = request.urlgen('mediagoblin.edit.edit_collection',
user=collection.get_creator.username,
diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html
index 9be10321..447201cd 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html
@@ -24,7 +24,7 @@
<form action="{{ request.urlgen('mediagoblin.user_pages.collection_item_confirm_remove',
user=collection_item.in_collection.get_creator.username,
collection=collection_item.in_collection.slug,
- collection_item=collection_item._id) }}"
+ collection_item=collection_item.id) }}"
method="POST" enctype="multipart/form-data">
<div class="form_box">
<h1>
diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html
index cb06c7ba..11f2a2a1 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/media.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/media.html
@@ -79,15 +79,15 @@
{{ media.title }}
</h2>
{% if request.user and
- (media.uploader == request.user._id or
+ (media.uploader == request.user.id or
request.user.is_admin) %}
{% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
user= media.get_uploader.username,
- media= media._id) %}
+ media= media.id) %}
<a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a>
{% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete',
user= media.get_uploader.username,
- media= media._id) %}
+ media= media.id) %}
<a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a>
{% endif %}
{% autoescape False %}
@@ -104,7 +104,7 @@
{% if request.user %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
user= media.get_uploader.username,
- media=media._id) }}" method="POST" id="form_comment">
+ media=media.id) }}" method="POST" id="form_comment">
<p>
{% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %}
</p>
@@ -117,11 +117,11 @@
{% endif %}
{% for comment in comments %}
{% set comment_author = comment.get_author %}
- {% if pagination.active_id == comment._id %}
- <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}">
+ {% if pagination.active_id == comment.id %}
+ <div class="comment_wrapper comment_active" id="comment-{{ comment.id }}">
<a name="comment" id="comment"></a>
{% else %}
- <div class="comment_wrapper" id="comment-{{ comment._id }}">
+ <div class="comment_wrapper" id="comment-{{ comment.id }}">
{% endif %}
<div class="comment_author">
<img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
@@ -131,7 +131,7 @@
</a>
{% trans %}at{% endtrans %}
<a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
- comment = comment._id,
+ comment = comment.id,
user = media.get_uploader.username,
media = media.slug_or_id) }}#comment">
{{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
@@ -181,7 +181,7 @@
{% endif %}
{% if app_config['allow_attachments']
and request.user
- and (media.uploader == request.user._id
+ and (media.uploader == request.user.id
or request.user.is_admin) %}
{% if not media.attachment_files|count %}
<h3>{% trans %}Attachments{% endtrans %}</h3>
@@ -189,7 +189,7 @@
<p>
<a href="{{ request.urlgen('mediagoblin.edit.attachments',
user=media.get_uploader.username,
- media=media._id) }}">{% trans %}Add attachment{% endtrans %}</a>
+ media=media.id) }}">{% trans %}Add attachment{% endtrans %}</a>
</p>
{% endif %}
@@ -197,7 +197,7 @@
<p>
<a type="submit" href="{{ request.urlgen('mediagoblin.user_pages.media_collect',
user=media.get_uploader.username,
- media=media._id) }}"
+ media=media.id) }}"
class="button_action"
title="{% trans %}Add media to collection{% endtrans %}">
<img src="{{ request.staticdirect('/images/icon_collect.png') }}"
diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html
index cefe638b..4f35dfa3 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html
@@ -28,7 +28,7 @@
<form action="{{ request.urlgen('mediagoblin.user_pages.media_collect',
user=media.get_uploader.username,
- media=media._id) }}"
+ media=media.id) }}"
method="POST" enctype="multipart/form-data">
<div class="form_box">
<h1>
diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html
index a3cf0210..833f500d 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html
@@ -23,7 +23,7 @@
<form action="{{ request.urlgen('mediagoblin.user_pages.media_confirm_delete',
user=media.get_uploader.username,
- media=media._id) }}"
+ media=media.id) }}"
method="POST" enctype="multipart/form-data">
<div class="form_box">
<h1>
diff --git a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
index e673902b..2a449d45 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html
@@ -41,7 +41,7 @@
</tr>
{% for media_entry in processing_entries %}
<tr>
- <td>{{ media_entry._id }}</td>
+ <td>{{ media_entry.id }}</td>
<td>{{ media_entry.title }}</td>
<td>{{ media_entry.created.strftime("%F %R") }}</td>
{% if media_entry.transcoding_progress %}
@@ -69,7 +69,7 @@
</tr>
{% for media_entry in failed_entries %}
<tr>
- <td>{{ media_entry._id }}</td>
+ <td>{{ media_entry.id }}</td>
<td>{{ media_entry.title }}</td>
<td>{{ media_entry.created.strftime("%F %R") }}</td>
{% if media_entry.get_fail_exception() %}
@@ -97,7 +97,7 @@
</tr>
{% for entry in processed_entries %}
<tr>
- <td>{{ entry._id }}</td>
+ <td>{{ entry.id }}</td>
<td><a href="{{ entry.url_for_self(request.urlgen) }}">{{ entry.title }}</a></td>
<td>{{ entry.created.strftime("%F %R") }}</td>
</tr>
diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html
index 4f7b1208..65c636b9 100644
--- a/mediagoblin/templates/mediagoblin/user_pages/user.html
+++ b/mediagoblin/templates/mediagoblin/user_pages/user.html
@@ -90,7 +90,7 @@
</h1>
{% if not user.url and not user.bio %}
- {% if request.user and (request.user._id == user._id) %}
+ {% if request.user and (request.user.id == user.id) %}
<div class="profile_sidebar empty_space">
<p>
{% trans %}Here's a spot to tell others about yourself.{% endtrans %}
@@ -112,7 +112,7 @@
<div class="profile_sidebar">
{% include "mediagoblin/utils/profile.html" %}
{% if request.user and
- (request.user._id == user._id or request.user.is_admin) %}
+ (request.user.id == user.id or request.user.is_admin) %}
<a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{
user.username }}">
{%- trans %}Edit profile{% endtrans -%}
@@ -139,7 +139,7 @@
{% include "mediagoblin/utils/feed_link.html" %}
</div>
{% else %}
- {% if request.user and (request.user._id == user._id) %}
+ {% if request.user and (request.user.id == user.id) %}
<div class="profile_showcase empty_space">
<p>
{% trans -%}
diff --git a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html
index ab5e46ea..dcc59244 100644
--- a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html
+++ b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html
@@ -38,7 +38,7 @@
<a href="{{ entry_url }}">{{ item.note }}</a>
{% endif %}
{% if request.user and
- (item.in_collection.creator == request.user._id or
+ (item.in_collection.creator == request.user.id or
request.user.is_admin) %}
{%- set remove_url=request.urlgen(
'mediagoblin.user_pages.collection_item_confirm_remove',
diff --git a/mediagoblin/tests/test_auth.py b/mediagoblin/tests/test_auth.py
index da17554b..06365161 100644
--- a/mediagoblin/tests/test_auth.py
+++ b/mediagoblin/tests/test_auth.py
@@ -154,7 +154,7 @@ def test_register_views(test_app):
## Make sure user is logged in
request = template.TEMPLATE_TEST_CONTEXT[
'mediagoblin/user_pages/user.html']['request']
- assert request.session['user_id'] == unicode(new_user._id)
+ assert request.session['user_id'] == unicode(new_user.id)
## Make sure we get email confirmation, and try verifying
assert len(mail.EMAIL_TEST_INBOX) == 1
@@ -171,7 +171,7 @@ def test_register_views(test_app):
### user should have these same parameters
assert parsed_get_params['userid'] == [
- unicode(new_user._id)]
+ unicode(new_user.id)]
assert parsed_get_params['token'] == [
new_user.verification_key]
@@ -179,7 +179,7 @@ def test_register_views(test_app):
template.clear_test_template_context()
response = test_app.get(
"/auth/verify_email/?userid=%s&token=total_bs" % unicode(
- new_user._id))
+ new_user.id))
response.follow()
context = template.TEMPLATE_TEST_CONTEXT[
'mediagoblin/user_pages/user.html']
@@ -254,7 +254,7 @@ def test_register_views(test_app):
# user should have matching parameters
new_user = mg_globals.database.User.find_one({'username': u'happygirl'})
- assert parsed_get_params['userid'] == [unicode(new_user._id)]
+ assert parsed_get_params['userid'] == [unicode(new_user.id)]
assert parsed_get_params['token'] == [new_user.fp_verification_key]
### The forgotten password token should be set to expire in ~ 10 days
@@ -265,7 +265,7 @@ def test_register_views(test_app):
template.clear_test_template_context()
response = test_app.get(
"/auth/forgot_password/verify/?userid=%s&token=total_bs" % unicode(
- new_user._id), status=404)
+ new_user.id), status=404)
assert_equal(response.status, '404 Not Found')
## Try using an expired token to change password, shouldn't work
@@ -393,7 +393,7 @@ def test_authentication_views(test_app):
# Make sure user is in the session
context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html']
session = context['request'].session
- assert session['user_id'] == unicode(test_user._id)
+ assert session['user_id'] == unicode(test_user.id)
# Successful logout
# -----------------
diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py
index b6fe0015..589ba7ed 100644
--- a/mediagoblin/tests/test_submission.py
+++ b/mediagoblin/tests/test_submission.py
@@ -184,7 +184,7 @@ class TestSubmission:
# ---------------------------------------------------
response, request = self.do_post({'confirm': 'y'}, *REQUEST_CONTEXT,
do_follow=True, url=delete_url)
- self.check_media(request, {'_id': media_id}, 0)
+ self.check_media(request, {'id': media_id}, 0)
self.check_comments(request, media_id, 0)
def test_evil_file(self):
diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py
index d3369831..8c09c7ec 100644
--- a/mediagoblin/tests/tools.py
+++ b/mediagoblin/tests/tools.py
@@ -184,20 +184,20 @@ def assert_db_meets_expected(db, expected):
"""
Assert a database contains the things we expect it to.
- Objects are found via '_id', so you should make sure your document
- has an _id.
+ Objects are found via 'id', so you should make sure your document
+ has an id.
Args:
- db: pymongo or mongokit database connection
- expected: the data we expect. Formatted like:
{'collection_name': [
- {'_id': 'foo',
+ {'id': 'foo',
'some_field': 'some_value'},]}
"""
for collection_name, collection_data in expected.iteritems():
collection = db[collection_name]
for expected_document in collection_data:
- document = collection.find_one({'_id': expected_document['_id']})
+ document = collection.find_one({'id': expected_document['id']})
assert document is not None # make sure it exists
assert document == expected_document # make sure it matches
diff --git a/mediagoblin/tools/pagination.py b/mediagoblin/tools/pagination.py
index 50e59070..141d91cc 100644
--- a/mediagoblin/tools/pagination.py
+++ b/mediagoblin/tools/pagination.py
@@ -41,7 +41,7 @@ class Pagination(object):
- per_page: number of objects per page
- cursor: db cursor
- jump_to_id: ObjectId, sets the page to the page containing the
- object with _id == jump_to_id.
+ object with id == jump_to_id.
"""
self.page = page
self.per_page = per_page
@@ -53,7 +53,7 @@ class Pagination(object):
cursor = copy.copy(self.cursor)
for (doc, increment) in izip(cursor, count(0)):
- if doc._id == jump_to_id:
+ if doc.id == jump_to_id:
self.page = 1 + int(floor(increment / self.per_page))
self.active_id = jump_to_id
diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py
index ae372c92..66d7ffa3 100644
--- a/mediagoblin/tools/request.py
+++ b/mediagoblin/tools/request.py
@@ -34,7 +34,7 @@ def setup_user_in_request(request):
except InvalidId:
user = None
else:
- user = request.db.User.find_one({'_id': oid})
+ user = request.db.User.find_one({'id': oid})
if not user:
# Something's wrong... this user doesn't exist? Invalidate
diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py
index a4be14c2..8a064a7c 100644
--- a/mediagoblin/user_pages/lib.py
+++ b/mediagoblin/user_pages/lib.py
@@ -33,7 +33,7 @@ def send_comment_email(user, comment, media, request):
comment_url = request.urlgen(
'mediagoblin.user_pages.media_home.view_comment',
- comment=comment._id,
+ comment=comment.id,
user=media.get_uploader.username,
media=media.slug_or_id,
qualified=True) + '#comment'
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index cbf3f15f..a091f13b 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -53,7 +53,7 @@ def user_home(request, page):
{'user': user})
cursor = request.db.MediaEntry.find(
- {'uploader': user._id,
+ {'uploader': user.id,
'state': u'processed'}).sort('created', DESCENDING)
pagination = Pagination(page, cursor)
@@ -196,12 +196,12 @@ def media_collect(request, media):
collection.description = unicode(
request.form.get('collection_description'))
- collection.creator = request.user._id
+ collection.creator = request.user.id
collection.generate_slug()
# Make sure this user isn't duplicating an existing collection
existing_collection = request.db.Collection.find_one({
- 'creator': request.user._id,
+ 'creator': request.user.id,
'title': collection.title})
if existing_collection:
@@ -220,7 +220,7 @@ def media_collect(request, media):
# Otherwise, use the collection selected from the drop-down
else:
collection = request.db.Collection.find_one({
- '_id': request.form.get('collection')})
+ 'id': request.form.get('collection')})
collection_item.collection = collection.id
# Make sure the user actually selected a collection
@@ -306,7 +306,7 @@ def media_confirm_delete(request, media):
location=media.url_for_self(request.urlgen))
if ((request.user.is_admin and
- request.user._id != media.uploader)):
+ request.user.id != media.uploader)):
messages.add_message(
request, messages.WARNING,
_("You are about to delete another user's media. "
@@ -378,7 +378,7 @@ def collection_item_confirm_remove(request, collection_item):
collection=collection.slug)
if ((request.user.is_admin and
- request.user._id != collection_item.in_collection.creator)):
+ request.user.id != collection_item.in_collection.creator)):
messages.add_message(
request, messages.WARNING,
_("You are about to delete an item from another user's collection. "
@@ -428,7 +428,7 @@ def collection_confirm_delete(request, collection):
collection=collection.slug)
if ((request.user.is_admin and
- request.user._id != collection.creator)):
+ request.user.id != collection.creator)):
messages.add_message(
request, messages.WARNING,
_("You are about to delete another user's collection. "
@@ -456,7 +456,7 @@ def atom_feed(request):
return render_404(request)
cursor = request.db.MediaEntry.find({
- 'uploader': user._id,
+ 'uploader': user.id,
'state': u'processed'}) \
.sort('created', DESCENDING) \
.limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS)
@@ -524,7 +524,7 @@ def collection_atom_feed(request):
'slug': request.matchdict['collection']})
cursor = request.db.CollectionItem.find({
- 'collection': collection._id}) \
+ 'collection': collection.id}) \
.sort('added', DESCENDING) \
.limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS)
@@ -601,7 +601,7 @@ def processing_panel(request):
#
# Make sure we have permission to access this user's panel. Only
# admins and this user herself should be able to do so.
- if not (user._id == request.user._id
+ if not (user.id == request.user.id
or request.user.is_admin):
# No? Let's simply redirect to this user's homepage then.
return redirect(
@@ -610,16 +610,16 @@ def processing_panel(request):
# Get media entries which are in-processing
processing_entries = request.db.MediaEntry.find(
- {'uploader': user._id,
+ {'uploader': user.id,
'state': u'processing'}).sort('created', DESCENDING)
# Get media entries which have failed to process
failed_entries = request.db.MediaEntry.find(
- {'uploader': user._id,
+ {'uploader': user.id,
'state': u'failed'}).sort('created', DESCENDING)
processed_entries = request.db.MediaEntry.find(
- {'uploader': user._id,
+ {'uploader': user.id,
'state': u'processed'}).sort('created', DESCENDING).limit(10)
# Render to response