Prevent non-Unicode SQLAlchemy warnings in most submission tests.
authorBrett Smith <brettcsmith@brettcsmith.org>
Sun, 8 Jul 2012 14:04:06 +0000 (10:04 -0400)
committerBrett Smith <brettcsmith@brettcsmith.org>
Sun, 8 Jul 2012 14:04:06 +0000 (10:04 -0400)
This commit  makes test_submission mostly warning-clean.

mediagoblin/db/mixin.py
mediagoblin/db/sql/models.py
mediagoblin/decorators.py
mediagoblin/media_types/image/processing.py
mediagoblin/processing/__init__.py
mediagoblin/tests/test_submission.py
mediagoblin/user_pages/views.py

index a5aded02f4cf8ee50e48a0b4c11acf3ae423c9c7..fe6dc796fe054983ee882a80a80544a897b7a2b6 100644 (file)
@@ -60,7 +60,7 @@ class MediaEntryMixin(object):
 
         if duplicate:
             if self.id is not None:
-                self.slug = "%s-%s" % (self.id, self.slug)
+                self.slug = u"%s-%s" % (self.id, self.slug)
             else:
                 self.slug = None
 
index d17386fccf47c17a1266e74d900e444f9608dfaf..9815fcf952817fcc7384b6c541b39c35549c6e3b 100644 (file)
@@ -158,7 +158,7 @@ class MediaEntry(Base, MediaEntryMixin):
         """get the next 'newer' entry by this user"""
         media = MediaEntry.query.filter(
             (MediaEntry.uploader == self.uploader)
-            & (MediaEntry.state == 'processed')
+            & (MediaEntry.state == u'processed')
             & (MediaEntry.id > self.id)).order_by(MediaEntry.id).first()
 
         if media is not None:
@@ -168,7 +168,7 @@ class MediaEntry(Base, MediaEntryMixin):
         """get the next 'older' entry by this user"""
         media = MediaEntry.query.filter(
             (MediaEntry.uploader == self.uploader)
-            & (MediaEntry.state == 'processed')
+            & (MediaEntry.state == u'processed')
             & (MediaEntry.id < self.id)).order_by(desc(MediaEntry.id)).first()
 
         if media is not None:
index 83602c7063c1d3dd64fed18b2fe8a979c7e5b378..b27910837e73b8cb4c0015bb7978ae1f1a479452 100644 (file)
@@ -97,7 +97,7 @@ def get_user_media_entry(controller):
             return render_404(request)
         media = request.db.MediaEntry.find_one(
             {'slug': request.matchdict['media'],
-             'state': 'processed',
+             'state': u'processed',
              'uploader': user._id})
 
         # no media via slug?  Grab it via ObjectId
@@ -105,7 +105,7 @@ def get_user_media_entry(controller):
             try:
                 media = request.db.MediaEntry.find_one(
                     {'_id': ObjectId(request.matchdict['media']),
-                     'state': 'processed',
+                     'state': u'processed',
                      'uploader': user._id})
             except InvalidId:
                 return render_404(request)
@@ -127,7 +127,7 @@ def get_media_entry_by_id(controller):
         try:
             media = request.db.MediaEntry.find_one(
                 {'_id': ObjectId(request.matchdict['media']),
-                 'state': 'processed'})
+                 'state': u'processed'})
         except InvalidId:
             return render_404(request)
 
index 487d593a0c40be2015f4b59a2a75c7fd8a90cd55..32b1f4f7aa95b752dda0bdc8f254599aa2c1fed5 100644 (file)
@@ -143,10 +143,10 @@ def process_image(entry):
 
     # Insert media file information into database
     media_files_dict = entry.setdefault('media_files', {})
-    media_files_dict['thumb'] = thumb_filepath
-    media_files_dict['original'] = original_filepath
+    media_files_dict[u'thumb'] = thumb_filepath
+    media_files_dict[u'original'] = original_filepath
     if medium_filepath:
-        media_files_dict['medium'] = medium_filepath
+        media_files_dict[u'medium'] = medium_filepath
 
     # Insert exif data into database
     exif_all = clean_exif(exif_tags)
index 4a827af490c97374268f6361abaeb7de995690e0..85b618803447c0550756df39cc90b513bff4755c 100644 (file)
@@ -84,7 +84,7 @@ def mark_entry_failed(entry_id, exc):
         atomic_update(mgg.database.MediaEntry,
             {'_id': entry_id},
             {u'state': u'failed',
-             u'fail_error': exc.exception_path,
+             u'fail_error': unicode(exc.exception_path),
              u'fail_metadata': exc.metadata})
     else:
         _log.warn("No idea what happened here, but it failed: %r", exc)
index bf1b87aae5e9fc89f6328347cff83563aa4dc2a5..3cc5280c0ce13976b49d37625fc73725c1b6afb5 100644 (file)
@@ -37,8 +37,8 @@ EVIL_JPG = resource('evil.jpg')
 EVIL_PNG = resource('evil.png')
 BIG_BLUE = resource('bigblue.png')
 
-GOOD_TAG_STRING = 'yin,yang'
-BAD_TAG_STRING = 'rage,' + 'f' * 26 + 'u' * 26
+GOOD_TAG_STRING = u'yin,yang'
+BAD_TAG_STRING = unicode('rage,' + 'f' * 26 + 'u' * 26)
 
 FORM_CONTEXT = ['mediagoblin/submit/start.html', 'submit_form']
 REQUEST_CONTEXT = ['mediagoblin/user_pages/user.html', 'request']
@@ -92,7 +92,7 @@ class TestSubmission:
 
         # Test blank file
         # ---------------
-        response, form = self.do_post({'title': 'test title'}, *FORM_CONTEXT)
+        response, form = self.do_post({'title': u'test title'}, *FORM_CONTEXT)
         assert_equal(form.file.errors, [u'You must provide a file.'])
 
     def check_url(self, response, path):
@@ -112,10 +112,10 @@ class TestSubmission:
         self.test_app.get(url)
 
     def test_normal_jpg(self):
-        self.check_normal_upload('Normal upload 1', GOOD_JPG)
+        self.check_normal_upload(u'Normal upload 1', GOOD_JPG)
 
     def test_normal_png(self):
-        self.check_normal_upload('Normal upload 2', GOOD_PNG)
+        self.check_normal_upload(u'Normal upload 2', GOOD_PNG)
 
     def check_media(self, request, find_data, count=None):
         media = request.db.MediaEntry.find(find_data)
@@ -128,11 +128,11 @@ class TestSubmission:
     def test_tags(self):
         # Good tag string
         # --------
-        response, request = self.do_post({'title': 'Balanced Goblin',
+        response, request = self.do_post({'title': u'Balanced Goblin',
                                           'tags': GOOD_TAG_STRING},
                                          *REQUEST_CONTEXT, do_follow=True,
                                          **self.upload_data(GOOD_JPG))
-        media = self.check_media(request, {'title': 'Balanced Goblin'}, 1)
+        media = self.check_media(request, {'title': u'Balanced Goblin'}, 1)
         assert media.tags[0]['name'] == u'yin'
         assert media.tags[0]['slug'] == u'yin'
 
@@ -141,7 +141,7 @@ class TestSubmission:
 
         # Test tags that are too long
         # ---------------
-        response, form = self.do_post({'title': 'Balanced Goblin',
+        response, form = self.do_post({'title': u'Balanced Goblin',
                                        'tags': BAD_TAG_STRING},
                                       *FORM_CONTEXT,
                                       **self.upload_data(GOOD_JPG))
@@ -151,10 +151,10 @@ class TestSubmission:
                     'ffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuuuu'])
 
     def test_delete(self):
-        response, request = self.do_post({'title': 'Balanced Goblin'},
+        response, request = self.do_post({'title': u'Balanced Goblin'},
                                          *REQUEST_CONTEXT, do_follow=True,
                                          **self.upload_data(GOOD_JPG))
-        media = self.check_media(request, {'title': 'Balanced Goblin'}, 1)
+        media = self.check_media(request, {'title': u'Balanced Goblin'}, 1)
         media_id = media.id
 
         # Add a comment, so we can test for its deletion later.
@@ -173,7 +173,7 @@ class TestSubmission:
             user=self.test_user.username, media=media_id)
         # Empty data means don't confirm
         response = self.do_post({}, do_follow=True, url=delete_url)[0]
-        media = self.check_media(request, {'title': 'Balanced Goblin'}, 1)
+        media = self.check_media(request, {'title': u'Balanced Goblin'}, 1)
         media_id = media.id
 
         # Confirm deletion
@@ -186,7 +186,7 @@ class TestSubmission:
     def test_evil_file(self):
         # Test non-suppoerted file with non-supported extension
         # -----------------------------------------------------
-        response, form = self.do_post({'title': 'Malicious Upload 1'},
+        response, form = self.do_post({'title': u'Malicious Upload 1'},
                                       *FORM_CONTEXT,
                                       **self.upload_data(EVIL_FILE))
         assert_equal(len(form.file.errors), 1)
@@ -200,7 +200,7 @@ class TestSubmission:
         template.clear_test_template_context()
         response = self.test_app.post(
             '/submit/', {
-                'title': 'UNIQUE_TITLE_PLS_DONT_CREATE_OTHER_MEDIA_WITH_THIS_TITLE'
+                'title': u'UNIQUE_TITLE_PLS_DONT_CREATE_OTHER_MEDIA_WITH_THIS_TITLE'
                 }, upload_files=[(
                     'file', GOOD_JPG)])
 
@@ -237,7 +237,7 @@ class TestSubmission:
         self.check_false_image('Malicious Upload 3', EVIL_PNG)
 
     def test_processing(self):
-        data = {'title': 'Big Blue'}
+        data = {'title': u'Big Blue'}
         response, request = self.do_post(data, *REQUEST_CONTEXT, do_follow=True,
                                          **self.upload_data(BIG_BLUE))
         media = self.check_media(request, data, 1)
index dad68ba54374f3cfc5fe62ea37898696a3aef853..a9b17b3b9a9c3834600c5bc850ef25810cba2274 100644 (file)
@@ -48,7 +48,7 @@ def user_home(request, page):
 
     cursor = request.db.MediaEntry.find(
         {'uploader': user._id,
-         'state': 'processed'}).sort('created', DESCENDING)
+         'state': u'processed'}).sort('created', DESCENDING)
 
     pagination = Pagination(page, cursor)
     media_entries = pagination()
@@ -75,13 +75,13 @@ def user_gallery(request, page):
     """'Gallery' of a User()"""
     user = request.db.User.find_one({
             'username': request.matchdict['user'],
-            'status': 'active'})
+            'status': u'active'})
     if not user:
         return render_404(request)
 
     cursor = request.db.MediaEntry.find(
         {'uploader': user._id,
-         'state': 'processed'}).sort('created', DESCENDING)
+         'state': u'processed'}).sort('created', DESCENDING)
 
     pagination = Pagination(page, cursor)
     media_entries = pagination()
@@ -224,13 +224,13 @@ def atom_feed(request):
 
     user = request.db.User.find_one({
                'username': request.matchdict['user'],
-               'status': 'active'})
+               'status': u'active'})
     if not user:
         return render_404(request)
 
     cursor = request.db.MediaEntry.find({
                  'uploader': user._id,
-                 'state': 'processed'}) \
+                 'state': u'processed'}) \
                  .sort('created', DESCENDING) \
                  .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS)
 
@@ -287,7 +287,7 @@ def processing_panel(request):
     # Get the user
     user = request.db.User.find_one(
         {'username': request.matchdict['user'],
-         'status': 'active'})
+         'status': u'active'})
 
     # Make sure the user exists and is active
     if not user:
@@ -312,12 +312,12 @@ def processing_panel(request):
     # Get media entries which are in-processing
     processing_entries = request.db.MediaEntry.find(
         {'uploader': user._id,
-         'state': 'unprocessed'}).sort('created', DESCENDING)
+         'state': u'unprocessed'}).sort('created', DESCENDING)
 
     # Get media entries which have failed to process
     failed_entries = request.db.MediaEntry.find(
         {'uploader': user._id,
-         'state': 'failed'}).sort('created', DESCENDING)
+         'state': u'failed'}).sort('created', DESCENDING)
 
     # Render to response
     return render_to_response(