Christopher Allan Webber [Thu, 10 Dec 2015 17:29:20 +0000 (11:29 -0600)]
Fix issue #5372: test_comment_notification fails with werkzeug 0.11 or newer
Formerly like:
chris commented on your post (http://localhost:80/u/otherperson/m/some-title/c/1/#comment) at GNU MediaGoblin
With werkzeug 0.11.0 or higher:
chris commented on your post (http://localhost/u/otherperson/m/some-title/c/1/#comment) at GNU MediaGoblin
Easy enough just to be flexible.
ayleph [Fri, 4 Dec 2015 07:02:02 +0000 (02:02 -0500)]
Fix issue 983 PDF UnicodeDecodeError
Parse PDF lines as unicode to prevent UnicodeDecodeError when a
non-ASCII character is encountered.
Jessica Tallon [Wed, 25 Nov 2015 14:57:46 +0000 (14:57 +0000)]
Fix #5363 - Collections don't serialize correctly
Jessica Tallon [Tue, 24 Nov 2015 10:45:23 +0000 (10:45 +0000)]
Added test for #5356 - Read someone else's feed
This adds a test and improves a previous test for the ability to read
someone elses feed. Previously it was not possible however this has
since been patched and this test checks for that.
ayleph [Sat, 31 Oct 2015 08:18:44 +0000 (04:18 -0400)]
Allow API client to GET another user's outbox
Signed-off-by: Jessica Tallon <tsyesika@tsyesika.se>
Jessica Tallon [Mon, 23 Nov 2015 17:27:32 +0000 (17:27 +0000)]
Fix #5354 & #5355 - Fix Graveyard.serialize
Graveyard.serialize raised an exception as the deleted datetime
objects where not being converted to strings for json encoding. It
also didn't deal with the case when there was an actor, it now calls
the actor's serialize method as it should.
Thanks to Alyeph who provided the patches for both of these.
ayleph [Wed, 4 Nov 2015 03:56:33 +0000 (22:56 -0500)]
Use urljoin to create proper feed media URLs
ayleph [Wed, 18 Nov 2015 04:56:31 +0000 (23:56 -0500)]
Fix for issue 5070 gst incomplete file
Seek tmp_media_file to 0 before attempting to discover the file type.
This prevents the following error when discovering mp4 video files.
"gst-stream-error-quark: This file is incomplete and cannot be played"
Daniel Krol [Mon, 9 Nov 2015 08:11:36 +0000 (00:11 -0800)]
Fix add collection view for new schema
Ben Sturmfels [Tue, 4 Aug 2015 02:23:14 +0000 (12:23 +1000)]
Fix minor grammatical error 'settings' -> 'setting'.
Ben Sturmfels [Tue, 4 Aug 2015 02:00:58 +0000 (12:00 +1000)]
Remove <br/> from safe string indicating that CSRF cooking is missing.
Ben Sturmfels [Mon, 4 Aug 2014 07:18:36 +0000 (17:18 +1000)]
trac#687: Add unit tests for `redirect` and `redirect_obj`.
Christopher Allan Webber [Thu, 5 Nov 2015 21:32:51 +0000 (15:32 -0600)]
Switch to webtest >= 2.0.18
Ben Sturmfels [Mon, 24 Aug 2015 10:47:33 +0000 (20:47 +1000)]
trac#665: Upgrade to WebTest 2.0.18 and fix broken test `test_csrf_cookie_set`.
Test was failing due to API change in WebTest around accessing cookies set in the test client. These are now in `test_app.cookies`.
While there are currently 48 other tests failing, I've verified that before and after this change that the same number fail. I've also checked that no other tests use the old API for accessing test client cookies.
I've pinned to version 2.0.18. My understanding is that it's generally a good idea to pin to a specific version where possible to avoid the "why has this suddenly broken" type bugs. This also seems appropriate since WebTest appears to be very stable.
Ben Sturmfels [Sun, 23 Aug 2015 10:37:15 +0000 (20:37 +1000)]
Prevent unhandled exception on non-existant user.
These changes bring `makeadmin` and `changepw` in-line with the approach used in `deleteuser`.
I've also made the error messages more consistent: list the username and full sentences.
Jessica Tallon [Tue, 20 Oct 2015 13:02:15 +0000 (13:02 +0000)]
Merge branch 'comments'
Jessica Tallon [Tue, 20 Oct 2015 12:24:54 +0000 (12:24 +0000)]
Comment changes for federation
This adds a new Comment link table that is used to link between some
object and then the comment object, which can be more or less any
object in Mediagoblin. The MediaComment has been renamed to
TextComment as that more aptly describes what it is. There is
migrations for these changes.
There is also the conslidation of the Report tables into a single
Report table, the same with the Notification objects. This is because
both of them split out MediaEntry and Comment versions into their own
polymorphic versions from a base, this is no longer a meaningful
distinction as comments can be anything.
Jessica Tallon [Sat, 17 Oct 2015 00:18:32 +0000 (00:18 +0000)]
Fix #5353 - Bug in OAuth which referenced "user"
There was a recent change in
0f3bf8d where several names which were
used to refer the actor where renamed to the standard "actor"
property name. There were some places in the OAuth decorator and the
OAuth views where the old names were still referred. This fixes that.
Jessica Tallon [Wed, 7 Oct 2015 11:13:40 +0000 (13:13 +0200)]
Add public_id fixes throughout the code
This adds several things, mainly code which checks for the public id and
if it doesn't exist generating it where it can. This is to because we
need to keep the public_id to be able to effectively soft delete models.
This also adds a public_id field to the Activity along with a migration.
Jessica Tallon [Thu, 1 Oct 2015 13:59:20 +0000 (15:59 +0200)]
Add Graveyard model
This adds the Graveyard model which is used when a model is deleted, it
stores the important "shell" information on the model so it can
hard-delete the real object. It also remaps the GenericModelReference
references to the new Graveyard model.
This also moves the soft deletion setting from __model_args__ to
"deletion_mode" on the model.
Jessica Tallon [Thu, 1 Oct 2015 11:23:33 +0000 (13:23 +0200)]
Add the __model_args__ deletion code
This adds the "deleted" fields to the models as well as a new
__model_args__ section whcih supports the option for changing the
deletion type. Deletion is now handled by choosing a deletion method
based on the __model_args__["deletion"] setting, for example if it's
soft deletion it will call Model.soft_delete()
Jessica Tallon [Thu, 17 Sep 2015 11:47:56 +0000 (13:47 +0200)]
Collection changes and migration for federation
- Adds a "type" column to the Collection object and allows the
CollectionItem model to contain any object.
- Changes "items" to "num_items" as per TODO
- Renames "uploader", "creator" and "user" to a common "actor" in most places
Jessica Tallon [Wed, 7 Oct 2015 11:48:42 +0000 (13:48 +0200)]
Fix bugs with the exifread library update
- As of version 2.1.2 of exifread the 90 CW and 90 CCW values were
swapped, this bug is now fixed however our test data had those values
swapped too. I have fixed that.
- I also noticed that I had different orientation values, this was
noticed and fixed for some other differing values in commit
ccca39f1
when it was decided we'll add values which were noticed on different
platforms.
Ben Sturmfels [Fri, 4 Sep 2015 13:31:53 +0000 (23:31 +1000)]
Fix #994: Also set self.data when no change made to URL.
This partially reverts
2a1082e3
Berker Peksag [Tue, 25 Aug 2015 00:44:02 +0000 (03:44 +0300)]
Use StringField.process_formdata() if valuelist is empty.
Ben Sturmfels [Sun, 23 Aug 2015 12:17:13 +0000 (22:17 +1000)]
Fix #994: Don't require users to type the website URL scheme when updating profile.
Adds 'http://' if no scheme is provided. Eg. If you enter
'www.example.com', this will be updated to 'http://www.example.com'.
Ben Sturmfels [Tue, 4 Aug 2015 00:15:17 +0000 (10:15 +1000)]
Issue #815: Replace two non-ASCII curly single quotes with straight quotes.
I don't think there's necessarily anything wrong with using non-ASCII
characters, since UTF-8 is basically the de facto standard. There's no
reason to mix a small number of curly quotes into a configuration file
though, so I've replaced them for consistency.
Jessica Tallon [Mon, 24 Aug 2015 16:28:41 +0000 (18:28 +0200)]
Fix some unit tests and bugs
This fixes a lot of the issues with the LocalUser changes that were
merged recently. There was a problem where the attributes of LocalUser
were not being eagerly loaded and because the Session was detached an
exception was being raised when they were accessed.
This also fixes some typo's which were introduced.
Finally this adds a temporary fix for a potential SQLAlchemy bug, this
is a bug where doing:
User.query.filter(LocalUser.username == "some_username").first()
does NOT yeild a user with the username "some_username" but all users
on the site. The temp fix is to just query the LocalUser, this should
be resolved when bug is confirmed and fixed upstream.
Jessica Tallon [Fri, 21 Aug 2015 15:57:39 +0000 (17:57 +0200)]
Fix #5344 - OAuth NotImplemented exception
This introduces a migration which adds a dummy Client, RequestToken
and AccessToken. These are used when an invalid request comes in,
instead of bailing early, it needs dummy data to prevent timing
attacks.
This then implements the methods which get the IDs of the dummy
objects. If these are changed in the future a migration which checks
for the previous dummy object should be created and updates them to
reflect the new IDs/tokens.
Jessica Tallon [Thu, 20 Aug 2015 11:20:48 +0000 (13:20 +0200)]
Fix #1066 - OAuth Invalid signature error
It seems that the GET params on a URL should be included when
one signs the request. Mediagoblin was just using the base URL
without them. This should fix that.
Jessica Tallon [Thu, 20 Aug 2015 09:31:50 +0000 (11:31 +0200)]
Fix serialization after model changes
After the recent model changes there were some bugs which were
introduced into the serialization methods of the models. This commit
fixes those issues.
Jessica Tallon [Wed, 19 Aug 2015 14:56:49 +0000 (16:56 +0200)]
Change structure of MediaEntry and add migration
This makes the changes needed for federating MediaEntry objects as well
as adding the migration and necessary methods to get the public_id just
in time (JIT).
Jessica Tallon [Fri, 17 Jul 2015 15:51:51 +0000 (17:51 +0200)]
Change codebase to query or create correct User model
The code base had many references to User.username and other
specific to LocalUser attributes as that was the way it use to exist.
This updates those to query on the generic User model but filtering
by attributes on the LocalUser.
Duncan [Sun, 2 Aug 2015 03:51:27 +0000 (06:51 +0300)]
Add a no_referrer setting to prevent browsers leaking information.
Berker Peksag [Sat, 1 Aug 2015 02:05:07 +0000 (05:05 +0300)]
Fix urlparse import in tools/routing.py
urlparse is already a function, so we don't need to specify
a module name.
Refs #5339
Jessica Tallon [Fri, 31 Jul 2015 11:45:52 +0000 (13:45 +0200)]
Add the user models to the MODELS list
This adds the two new user models (LocalUser and RemoteUser) to the
MODELS list that is in models.py. This stops the strange bug that occurs
if you migrate a fresh database, the two models don't exist however
migrating an existing database would create them as the migrations
exist.
Jessica Tallon [Fri, 17 Jul 2015 15:51:51 +0000 (17:51 +0200)]
Change codebase to query or create correct User model
The code base had many references to User.username and other
specific to LocalUser attributes as that was the way it use to exist.
This updates those to query on the generic User model but filtering
by attributes on the LocalUser.
Jessica Tallon [Fri, 17 Jul 2015 15:49:18 +0000 (17:49 +0200)]
Add polymorphic properties to User
This adds the ability to search for any user based on the generic
User case and be given back the specific LocalUser or RemoteUser.
This will require any code using the model to look which attributes
they are searching on and specify the specific User model they are
on if they're not on the generic User model. This will also require
new users to be created with LocalUser.
Jessica Tallon [Fri, 26 Jun 2015 13:29:44 +0000 (15:29 +0200)]
Add LocalUser and RemoteUser and migration
Berker Peksag [Wed, 22 Jul 2015 08:24:49 +0000 (11:24 +0300)]
Berker Peksag [Wed, 22 Jul 2015 08:24:12 +0000 (11:24 +0300)]
Fix typos reported in #1102
Berker Peksag [Wed, 22 Jul 2015 07:52:37 +0000 (10:52 +0300)]
Return non-zero exit code if the command cannot be completed successfully.
Fixes #5084
Berker Peksag [Wed, 22 Jul 2015 07:18:00 +0000 (10:18 +0300)]
Pin mock 1.0.1 in Python 2 for now.
mock recently dropped Python 2.6 support and then
re-introduced it in its latest release (however,
it's a bit unstable right now).
I think at this point, we can be more cautious
and just use mock==1.0.1.
Berker Peksag [Thu, 25 Jun 2015 19:24:03 +0000 (22:24 +0300)]
Change all unicode() calls with six.text_type().
Fixes #5329.
Berker Peksag [Thu, 25 Jun 2015 13:03:30 +0000 (16:03 +0300)]
Fix typo.
Berker Peksag [Thu, 25 Jun 2015 12:57:47 +0000 (15:57 +0300)]
Fix more print statements. Refs #5331
Sebastian Spaeth [Thu, 25 Jun 2015 10:38:58 +0000 (12:38 +0200)]
Fix print statements to be python3 compatible. Refs #5331
Jessica Tallon [Wed, 24 Jun 2015 19:45:39 +0000 (21:45 +0200)]
Merge branch Generic Foreign Key changes
Jessica Tallon [Wed, 24 Jun 2015 19:22:03 +0000 (21:22 +0200)]
Fix removal of ActivityIntermediatory migration
The migration had a problem where other tables still referenced the migration
as well as a typo in an earlier migration. They have both been fixed and tested
on PostgreSQL and SQLite3.
This also fixes a bug where sometimes when creating an activity it'd raise an
Exception as the object hadn't got an ID. This has been fixed globally with a
fix to the create_activity federation tool.
Berker Peksag [Fri, 5 Jun 2015 16:45:00 +0000 (19:45 +0300)]
Import urlparse from six.moves to work on both Python 2 and 3.
Christopher Allan Webber [Thu, 4 Jun 2015 13:30:54 +0000 (08:30 -0500)]
v0.8.0! Let's get this party started!
Christopher Allan Webber [Thu, 4 Jun 2015 05:18:47 +0000 (00:18 -0500)]
More things to include in MANIFEST.in
Christopher Allan Webber [Thu, 4 Jun 2015 03:15:11 +0000 (22:15 -0500)]
Note that users have to install node.js :\
Christopher Allan Webber [Thu, 4 Jun 2015 02:32:44 +0000 (21:32 -0500)]
More adjustments to manifest.in
- include Makefile.in
- include configure scripts
- graft on devtools
Christopher Allan Webber [Thu, 4 Jun 2015 02:26:42 +0000 (21:26 -0500)]
We now store mediagoblin.example.ini, not mediagoblin.ini
Christopher Allan Webber [Thu, 4 Jun 2015 02:15:44 +0000 (21:15 -0500)]
Committing extracted and compiled translations
Christopher Allan Webber [Wed, 3 Jun 2015 20:08:45 +0000 (15:08 -0500)]
Potentially require virtualenv as a requirement for "make dist"
Christopher Allan Webber [Wed, 3 Jun 2015 19:21:37 +0000 (14:21 -0500)]
"make check" should work, and "make dist" should use setup.py
Christopher Allan Webber [Wed, 3 Jun 2015 18:45:57 +0000 (13:45 -0500)]
Right, also don't build _version.py in configure.ac
Christopher Allan Webber [Wed, 3 Jun 2015 15:36:33 +0000 (10:36 -0500)]
readthedocs can't read the version using autotools, so back to _version.py specifying it
Christopher Allan Webber [Tue, 2 Jun 2015 15:56:30 +0000 (10:56 -0500)]
Comment on why we're not using `make dist`... yet
Christopher Allan Webber [Mon, 1 Jun 2015 19:06:43 +0000 (14:06 -0500)]
Fix link from Gitorious -> Savannah
Christopher Allan Webber [Sat, 30 May 2015 15:34:10 +0000 (10:34 -0500)]
Better phrasing: "Should I Keep Open Registration Enabled?"
Christopher Allan Webber [Sat, 30 May 2015 15:27:37 +0000 (10:27 -0500)]
"Should I enable registration?" section
Jessica Tallon [Mon, 25 May 2015 15:22:32 +0000 (17:22 +0200)]
Fix some problems with activity mixins and migrations
Jessica Tallon [Mon, 25 May 2015 13:53:51 +0000 (15:53 +0200)]
Add a more verbose GenericForeignKey implementation
Jessica Tallon [Wed, 20 May 2015 12:45:25 +0000 (14:45 +0200)]
Remove deprecated fields and fix activity creation in tools
Jessica Tallon [Wed, 20 May 2015 10:41:42 +0000 (12:41 +0200)]
More fixed recommended by Elrond
This fixes the problem where GenericForeignKey could only be used with models
that are in the core of Mediagoblin, it now can be used with any model
that SQLAlchemy knows about, including plugins. This also fixes some small bugs
caused by incorrect ordering of params into a function.
Jessica Tallon [Mon, 18 May 2015 09:12:47 +0000 (11:12 +0200)]
Add some fixes Elrond suggested and doc strings
Jessica Tallon [Tue, 28 Apr 2015 18:43:15 +0000 (20:43 +0200)]
Add migration to remove ActivityIntermediator
Migration to drop the table and removal of it from the model as it has
now been superseeded by the GenericForeignKey field.
Jessica Tallon [Tue, 28 Apr 2015 17:53:25 +0000 (19:53 +0200)]
Fix the GenericForeignKey implementation
Jessica Tallon [Mon, 2 Mar 2015 13:27:52 +0000 (14:27 +0100)]
Migrate Activity to using the new GenericForeignKey
Jessica Tallon [Wed, 25 Feb 2015 12:41:53 +0000 (13:41 +0100)]
Add GenericForeignKey field and reference helper model
Jim Campbell [Tue, 26 May 2015 05:40:24 +0000 (00:40 -0500)]
docs: Added handling of user_dev permissions
The user_dev directory gets created when users get established
and they start uploading media. However, the permissions aren't
correct on the directory as it gets created.
As a workaround, we create the directory at this stage, and then
set the proper permissions.
See this mailing list post for more information:
http://lists.mediagoblin.org/pipermail/devel/2015-May/001201.html
Christopher Allan Webber [Fri, 22 May 2015 19:16:45 +0000 (14:16 -0500)]
Use of deprecated frombytes when processing videos causes the task to fail
(Anonymous contribution, not by me)
When transcoding a video using a recent version of PIL transcoding a
video fails reproducible. The reason for this is an AttributeError:
'module' object has no attribute 'frombytes'gets raised, while a
thumbnails is being created. This is because frombytes alias was
deprecated in favor of fromstring.
Christopher Allan Webber [Fri, 22 May 2015 16:28:23 +0000 (11:28 -0500)]
Clarifying the "note these steps"
Christopher Allan Webber [Fri, 22 May 2015 16:15:00 +0000 (11:15 -0500)]
No need to run git submodule init/update, run by bootstrap.sh
Christopher Allan Webber [Fri, 22 May 2015 16:11:42 +0000 (11:11 -0500)]
Switch git remote url
Christopher Allan Webber [Fri, 22 May 2015 16:08:45 +0000 (11:08 -0500)]
Wrong version number. Stupid copy-pasta!
Christopher Allan Webber [Fri, 22 May 2015 15:53:43 +0000 (10:53 -0500)]
0.8.0 release notes
Theoretically correct... I need to verify that the steps work as
expected
Christopher Allan Webber [Fri, 22 May 2015 15:04:30 +0000 (10:04 -0500)]
Updating AUTHORS for 0.8.0
Jim Campbell [Tue, 19 May 2015 06:54:50 +0000 (01:54 -0500)]
docs: Set paster service to start before celery
For some reason, celery wouldn't start if I started it first.
Setting paster to start first. Celery starts just fine on initial run
after paster is running.
Jim Campbell [Tue, 19 May 2015 06:50:07 +0000 (01:50 -0500)]
docs: Updated permissions. Tweaked install details
Added nginx to installation packages. We say that our install uses
nginx, so users should skip nginx if they want to use apache. Also,
our group permissions depend on a web server being installed.
Changed install directory for mediagoblin acct to /var/lib/mediagoblin
It works better if we need to back up data.
Assigned mediagoblin user to the same group as the web server. This
is needed so that the server can access uploaded media.
Created mediagoblin group for non-web-server things such as logs.
Jim Campbell [Tue, 19 May 2015 02:19:42 +0000 (21:19 -0500)]
docs: Removed systemcl enable/start. Already issued.
Debian-based platforms start the postgres server by default after
installation. For RPM-based distros, we've already issued these
commands prior to configuring the postgres server.
Jim Campbell [Tue, 19 May 2015 02:12:37 +0000 (21:12 -0500)]
docs: Need to start postgres on rpm distros
Need to enable / start postgres database on rpm-based distros
before you create the postgres mediagoblin user and database.
If you don't start the database server, you can't create a
database user or database.
Jim Campbell [Fri, 15 May 2015 23:37:21 +0000 (18:37 -0500)]
docs: Formatting tweaks to production-deployments.rst
Corrected typos and fixed rst formatting issues.
Christopher Allan Webber [Thu, 14 May 2015 03:43:35 +0000 (22:43 -0500)]
Switch from "cp --no-clobber" to "cp -n" for bsd compatibility
Jim Campbell [Tue, 12 May 2015 03:38:06 +0000 (22:38 -0500)]
docs: Added systemd info. Reworked init script info.
Added tested systemd service files. Modified the structure of the
section about init scripts.
Jim Campbell [Tue, 12 May 2015 02:16:30 +0000 (21:16 -0500)]
docs: Clean up nginx instructions
Made it more clear what commands to use if you're on deb/rpm-based system.
Added a note that shows the user how to test their nginx configuration.
Jim Campbell [Tue, 12 May 2015 01:41:01 +0000 (20:41 -0500)]
docs: Added 'sudo' to cmd. Made 'exit' from postgres acct more clear.
Added a missing reference to 'sudo' in a command. Made the exit from
the postgres account more clear to reduce the chance for user error.
Jim Campbell [Tue, 12 May 2015 01:15:08 +0000 (20:15 -0500)]
docs: Removed chkconfig cmd. Made 'exit' more explicit.
The chkconfig command is only needed on CentOS 6, which isn't really
a supported multimedia platform. CentOS 7 and Fedora 21+
wouldn't require this command.
Also made the "exit" command (used after setting up the postgres
mediagoblin account and database) more explicit. This will help prevent
user errors for users who may skim through the documentation.
Jim Campbell [Mon, 11 May 2015 18:05:10 +0000 (13:05 -0500)]
docs: Copy paste.ini to paste_local.ini
Some scripts on the internet have referenced paste_local.ini, so
it is safer to have a copy on the filesystem by default, even if
the user doesn't need to change any of the values for a regular
setup.
Jim Campbell [Mon, 11 May 2015 17:48:24 +0000 (12:48 -0500)]
docs: Typo fix. Fixed repated reference to gstreamer1.0-libav
Jim Campbell [Mon, 11 May 2015 17:44:14 +0000 (12:44 -0500)]
docs: Updated gstreamer audio media type requirements to gst-1.0
Previous media type docs referenced gstreamer0.10, but we've updated
to gstreamer1.0.
Also, Debian ships libav instead of ffmpeg now. Updated docs
accordingly
Finally, simplified the install instructions to two commands instead
of four commands.
Christopher Allan Webber [Tue, 28 Apr 2015 19:14:44 +0000 (14:14 -0500)]
Note on what --without-virtualenv does
Christopher Allan Webber [Mon, 27 Apr 2015 22:26:59 +0000 (17:26 -0500)]
#5314 Prevent ZeroDivisionError in exif.py
Christopher Allan Webber [Sat, 25 Apr 2015 02:10:25 +0000 (21:10 -0500)]
Paste 2.0 breaking wsgi
Christopher Allan Webber [Thu, 23 Apr 2015 19:10:47 +0000 (14:10 -0500)]
TinyMCE plugin loading should NOT be here.
This might break the blog plugin, but it's kind of broken already :\
Boris Bobrov [Thu, 19 Mar 2015 23:43:16 +0000 (02:43 +0300)]
Move check that metadata exists earlier
Because of gstreamer-1.0 we need to migrate from old format of storing
metadata to new one. It seems that there are cases when original
metadata is empty for some reason.
The patch adds an earlier check that original metadata exists, skipping
everything is it doesn't.
Closes bug 5071
Christopher Allan Webber [Thu, 23 Apr 2015 16:36:55 +0000 (11:36 -0500)]
#5074: Added set -e to bootstrap.sh
This should make it so that if any of the commands in the script fail,
the whole script fails.