diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-09-22 13:58:13 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2014-09-22 13:58:13 -0500 |
commit | a6252cbf211691aa9d81fd535f5af7bcdbbd6620 (patch) | |
tree | ca1131ba7a8ff0437d392c20a70f17ee7470e3dd /mediagoblin/plugins | |
parent | c47f402d7ee42e88ee1086351010dd598da6c0a5 (diff) | |
parent | 6430ae97eca57f4db4bcef54436df6c2abcd21ad (diff) | |
download | mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.tar.lz mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.tar.xz mediagoblin-a6252cbf211691aa9d81fd535f5af7bcdbbd6620.zip |
Merge branch 'merge-python3-port'
Conflicts:
setup.py
Diffstat (limited to 'mediagoblin/plugins')
-rw-r--r-- | mediagoblin/plugins/api/tools.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/api/views.py | 16 | ||||
-rw-r--r-- | mediagoblin/plugins/basic_auth/tools.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/httpapiauth/__init__.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/ldap/tools.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/ldap/views.py | 5 | ||||
-rw-r--r-- | mediagoblin/plugins/oauth/forms.py | 2 | ||||
-rw-r--r-- | mediagoblin/plugins/oauth/models.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/oauth/tools.py | 6 | ||||
-rw-r--r-- | mediagoblin/plugins/oauth/views.py | 12 | ||||
-rw-r--r-- | mediagoblin/plugins/openid/store.py | 6 | ||||
-rw-r--r-- | mediagoblin/plugins/openid/views.py | 5 | ||||
-rw-r--r-- | mediagoblin/plugins/persona/views.py | 4 | ||||
-rw-r--r-- | mediagoblin/plugins/piwigo/tools.py | 2 | ||||
-rw-r--r-- | mediagoblin/plugins/piwigo/views.py | 6 |
15 files changed, 53 insertions, 31 deletions
diff --git a/mediagoblin/plugins/api/tools.py b/mediagoblin/plugins/api/tools.py index d1b3ebb1..56256236 100644 --- a/mediagoblin/plugins/api/tools.py +++ b/mediagoblin/plugins/api/tools.py @@ -18,9 +18,11 @@ import logging import json from functools import wraps -from urlparse import urljoin from werkzeug.exceptions import Forbidden from werkzeug.wrappers import Response + +from six.moves.urllib.parse import urljoin + from mediagoblin import mg_globals from mediagoblin.tools.pluginapi import PluginManager from mediagoblin.storage.filestorage import BasicFileStorage diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index e8af7988..ef0b87e3 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -17,6 +17,8 @@ import json import logging +import six + from werkzeug.exceptions import BadRequest from werkzeug.wrappers import Response @@ -55,16 +57,16 @@ def post_entry(request): callback_url = request.form.get('callback_url') if callback_url: - callback_url = unicode(callback_url) + callback_url = six.text_type(callback_url) try: entry = submit_media( mg_app=request.app, user=request.user, submitted_file=request.files['file'], filename=request.files['file'].filename, - title=unicode(request.form.get('title')), - description=unicode(request.form.get('description')), - license=unicode(request.form.get('license', '')), - tags_string=unicode(request.form.get('tags', '')), + title=six.text_type(request.form.get('title')), + description=six.text_type(request.form.get('description')), + license=six.text_type(request.form.get('license', '')), + tags_string=six.text_type(request.form.get('tags', '')), upload_limit=upload_limit, max_file_size=max_file_size, callback_url=callback_url) @@ -89,7 +91,7 @@ def post_entry(request): ''' if isinstance(e, InvalidFileType) or \ isinstance(e, FileTypeNotSupported): - raise BadRequest(unicode(e)) + raise BadRequest(six.text_type(e)) else: raise @@ -103,7 +105,7 @@ def api_test(request): # TODO: This is the *only* thing using Response() here, should that # not simply use json_response()? - return Response(json.dumps(user_data)) + return Response(json.dumps(user_data, sort_keys=True)) def get_entries(request): diff --git a/mediagoblin/plugins/basic_auth/tools.py b/mediagoblin/plugins/basic_auth/tools.py index f943bf39..13f240b2 100644 --- a/mediagoblin/plugins/basic_auth/tools.py +++ b/mediagoblin/plugins/basic_auth/tools.py @@ -16,6 +16,8 @@ import bcrypt import random +import six + from mediagoblin import mg_globals from mediagoblin.tools.crypto import get_timed_signer_url from mediagoblin.tools.mail import send_email @@ -66,7 +68,7 @@ def bcrypt_gen_password_hash(raw_pass, extra_salt=None): if extra_salt: raw_pass = u"%s:%s" % (extra_salt, raw_pass) - return unicode( + return six.text_type( bcrypt.hashpw(raw_pass.encode('utf-8'), bcrypt.gensalt())) diff --git a/mediagoblin/plugins/httpapiauth/__init__.py b/mediagoblin/plugins/httpapiauth/__init__.py index 2b2d593c..d7180463 100644 --- a/mediagoblin/plugins/httpapiauth/__init__.py +++ b/mediagoblin/plugins/httpapiauth/__init__.py @@ -16,6 +16,8 @@ import logging +import six + from werkzeug.exceptions import Unauthorized from mediagoblin.auth.tools import check_login_simple @@ -40,7 +42,7 @@ class HTTPAuth(Auth): if not request.authorization: return False - user = check_login_simple(unicode(request.authorization['username']), + user = check_login_simple(six.text_type(request.authorization['username']), request.authorization['password']) if user: diff --git a/mediagoblin/plugins/ldap/tools.py b/mediagoblin/plugins/ldap/tools.py index 1c436792..2be2dcd7 100644 --- a/mediagoblin/plugins/ldap/tools.py +++ b/mediagoblin/plugins/ldap/tools.py @@ -16,6 +16,8 @@ import ldap import logging +import six + from mediagoblin.tools import pluginapi _log = logging.getLogger(__name__) @@ -47,7 +49,7 @@ class LDAP(object): return email def login(self, username, password): - for k, v in self.ldap_settings.iteritems(): + for k, v in six.iteritems(self.ldap_settings): try: self._connect(v) user_dn = v['LDAP_USER_DN_TEMPLATE'].format(username=username) diff --git a/mediagoblin/plugins/ldap/views.py b/mediagoblin/plugins/ldap/views.py index aef1bf56..be434daf 100644 --- a/mediagoblin/plugins/ldap/views.py +++ b/mediagoblin/plugins/ldap/views.py @@ -13,6 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. + +import six + from mediagoblin import mg_globals, messages from mediagoblin.auth.tools import register_user from mediagoblin.db.models import User @@ -40,7 +43,7 @@ def login(request): if user: # set up login in session - request.session['user_id'] = unicode(user.id) + request.session['user_id'] = six.text_type(user.id) request.session.save() if request.form.get('next'): diff --git a/mediagoblin/plugins/oauth/forms.py b/mediagoblin/plugins/oauth/forms.py index ddf4d390..4585c27c 100644 --- a/mediagoblin/plugins/oauth/forms.py +++ b/mediagoblin/plugins/oauth/forms.py @@ -16,7 +16,7 @@ import wtforms -from urlparse import urlparse +from six.moves.urllib.parse import urlparse from mediagoblin.tools.extlib.wtf_html5 import URLField from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ diff --git a/mediagoblin/plugins/oauth/models.py b/mediagoblin/plugins/oauth/models.py index 439424d3..3fe562a2 100644 --- a/mediagoblin/plugins/oauth/models.py +++ b/mediagoblin/plugins/oauth/models.py @@ -26,10 +26,6 @@ from mediagoblin.db.models import User from mediagoblin.plugins.oauth.tools import generate_identifier, \ generate_secret, generate_token, generate_code, generate_refresh_token -# Don't remove this, I *think* it applies sqlalchemy-migrate functionality onto -# the models. -from migrate import changeset - class OAuthClient(Base): __tablename__ = 'oauth__client' diff --git a/mediagoblin/plugins/oauth/tools.py b/mediagoblin/plugins/oauth/tools.py index af0a3305..2053d5d4 100644 --- a/mediagoblin/plugins/oauth/tools.py +++ b/mediagoblin/plugins/oauth/tools.py @@ -23,6 +23,8 @@ from datetime import datetime from functools import wraps +import six + from mediagoblin.tools.response import json_response @@ -86,7 +88,7 @@ def create_token(client, user): def generate_identifier(): ''' Generates a ``uuid.uuid4()`` ''' - return unicode(uuid.uuid4()) + return six.text_type(uuid.uuid4()) def generate_token(): @@ -110,5 +112,5 @@ def generate_secret(): ''' # XXX: We might not want it to use bcrypt, since bcrypt takes its time to # generate the result. - return unicode(getrandbits(192)) + return six.text_type(getrandbits(192)) diff --git a/mediagoblin/plugins/oauth/views.py b/mediagoblin/plugins/oauth/views.py index de637d6b..8ca73521 100644 --- a/mediagoblin/plugins/oauth/views.py +++ b/mediagoblin/plugins/oauth/views.py @@ -17,7 +17,9 @@ import logging -from urllib import urlencode +from six.moves.urllib.parse import urlencode + +import six from werkzeug.exceptions import BadRequest @@ -44,11 +46,11 @@ def register_client(request): if request.method == 'POST' and form.validate(): client = OAuthClient() - client.name = unicode(form.name.data) - client.description = unicode(form.description.data) - client.type = unicode(form.type.data) + client.name = six.text_type(form.name.data) + client.description = six.text_type(form.description.data) + client.type = six.text_type(form.type.data) client.owner_id = request.user.id - client.redirect_uri = unicode(form.redirect_uri.data) + client.redirect_uri = six.text_type(form.redirect_uri.data) client.save() diff --git a/mediagoblin/plugins/openid/store.py b/mediagoblin/plugins/openid/store.py index 8f9a7012..24726814 100644 --- a/mediagoblin/plugins/openid/store.py +++ b/mediagoblin/plugins/openid/store.py @@ -16,6 +16,8 @@ import base64 import time +import six + from openid.association import Association as OIDAssociation from openid.store.interface import OpenIDStore from openid.store import nonce @@ -34,12 +36,12 @@ class SQLAlchemyOpenIDStore(OpenIDStore): if not assoc: assoc = Association() - assoc.server_url = unicode(server_url) + assoc.server_url = six.text_type(server_url) assoc.handle = association.handle # django uses base64 encoding, python-openid uses a blob field for # secret - assoc.secret = unicode(base64.encodestring(association.secret)) + assoc.secret = six.text_type(base64.encodestring(association.secret)) assoc.issued = association.issued assoc.lifetime = association.lifetime assoc.assoc_type = association.assoc_type diff --git a/mediagoblin/plugins/openid/views.py b/mediagoblin/plugins/openid/views.py index bb2de7ab..71f444fa 100644 --- a/mediagoblin/plugins/openid/views.py +++ b/mediagoblin/plugins/openid/views.py @@ -13,6 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. + +import six + from openid.consumer import consumer from openid.consumer.discover import DiscoveryFailure from openid.extensions.sreg import SRegRequest, SRegResponse @@ -186,7 +189,7 @@ def finish_login(request): if user: # Set up login in session - request.session['user_id'] = unicode(user.id) + request.session['user_id'] = six.text_type(user.id) request.session.save() if request.session.get('next'): diff --git a/mediagoblin/plugins/persona/views.py b/mediagoblin/plugins/persona/views.py index 1bba3b8c..41d38353 100644 --- a/mediagoblin/plugins/persona/views.py +++ b/mediagoblin/plugins/persona/views.py @@ -17,6 +17,8 @@ import json import logging import requests +import six + from werkzeug.exceptions import BadRequest from mediagoblin import messages, mg_globals @@ -63,7 +65,7 @@ def login(request): user = query.user if query else None if user: - request.session['user_id'] = unicode(user.id) + request.session['user_id'] = six.text_type(user.id) request.session['persona_login_email'] = email request.session.save() diff --git a/mediagoblin/plugins/piwigo/tools.py b/mediagoblin/plugins/piwigo/tools.py index 484ea531..7b9b7af3 100644 --- a/mediagoblin/plugins/piwigo/tools.py +++ b/mediagoblin/plugins/piwigo/tools.py @@ -47,7 +47,7 @@ class PwgNamedArray(list): def _fill_element_dict(el, data, as_attr=()): - for k, v in data.iteritems(): + for k, v in six.iteritems(data): if k in as_attr: if not isinstance(v, six.string_types): v = str(v) diff --git a/mediagoblin/plugins/piwigo/views.py b/mediagoblin/plugins/piwigo/views.py index f913a730..1fe1e576 100644 --- a/mediagoblin/plugins/piwigo/views.py +++ b/mediagoblin/plugins/piwigo/views.py @@ -17,6 +17,8 @@ import logging import re +import six + from werkzeug.exceptions import MethodNotAllowed, BadRequest, NotImplemented from werkzeug.wrappers import BaseResponse @@ -133,8 +135,8 @@ def pwg_images_addSimple(request): mg_app=request.app, user=request.user, submitted_file=request.files['image'], filename=request.files['image'].filename, - title=unicode(form.name.data), - description=unicode(form.comment.data), + title=six.text_type(form.name.data), + description=six.text_type(form.comment.data), upload_limit=upload_limit, max_file_size=max_file_size) collection_id = form.category.data |