We need to make sure we safely set up transactions here... it looks
pretty clearly like we aren't yet, so we need to review this. This
should be re-enabled by 0.8.0.
- Fix the "pulling the error out of excinfo" stuff for py3
- The u"" only gets embedded in the string on py2.
This commit sponsored by Jeff Gibson. Thanks, Jeff! :)
bin/gmg deleteuser will produce a traceback error if you attempt to delete a
user who does not exist. This commit provides a fix to allow deletuser to fail
gracefully.
This commit addresses https://issues.mediagoblin.org/ticket/969
Or rather, reimplement one of Berker's fixes and add one of mine:
- add back the http_auth_headers fix Berker wrote
- decode to json when testing the response.body, since we have no
idea what the order will be here
- Make changes to objectType to be more pythonic "object_type"
- Move object_type to mixins rather than be on the models
- Convert migrations to sqlalchemy core rather than ORM (fix)
- Change TYPES to use descriptive strings rather than numbers
- This has introduced a intermediatory table between object/target and
the activity. This allows for multiple activities to be associated
with one object/target.
- This moves some of the methods off Activity model into a mixin which
didn't need to interact with database things.
- This also cleaned up the migrations as well as adding retroactive
creation of activities for collection creation.
This adds betters upport for targets in the content generation
and on the model itself. Adding getters for properties which would
otherwise require looking up e.g. get_author.
This creates the Activity and Genrator models from the Activity
Streams spec and. I then created a migration which retro-actively
create activities for media uploaded and comments created. Through
out the code I've added so automatically activties are created when
a user peforms an action (uploading media, commenting, etc.).
This is Elronds change on #948. As 'blog_slug' is always
set in request.matchdict there is no need to do a default-none
get on the dictionary. This change just makes it easier to read.
The blog_post_listing function in mediagoblin/media_types/blow/views.py
attempts to access blogs based on the requesting user rather than the url
user. This results in server errors when an unauthenticated user attempts to
follow a link from another user's blog post listing, and 404 errors when an
authenticated user attempts to follow a link from another user's blog post
listing.
This change bases blog post listings on the URL user rather than the request
user.