From 7f342c72f64594775bac1bcce81b32ae9e18e6ac Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Wed, 19 Mar 2014 16:44:34 +0200 Subject: [PATCH] Continue to port GMG codebase. --- mediagoblin/_compat.py | 9 ++++++++- mediagoblin/db/migration_tools.py | 4 +++- mediagoblin/db/open.py | 3 ++- mediagoblin/media_types/image/processing.py | 5 +++-- mediagoblin/media_types/pdf/processing.py | 2 +- mediagoblin/storage/__init__.py | 4 +++- mediagoblin/storage/filestorage.py | 3 ++- mediagoblin/tools/crypto.py | 4 ++-- mediagoblin/tools/mail.py | 20 +++++++++++--------- 9 files changed, 35 insertions(+), 19 deletions(-) diff --git a/mediagoblin/_compat.py b/mediagoblin/_compat.py index bbd91c3f..38c71524 100644 --- a/mediagoblin/_compat.py +++ b/mediagoblin/_compat.py @@ -1,3 +1,10 @@ import sys -PY3 = sys.version_info[0] >= 3 +from six import PY3, iteritems + +if PY3: + from email.mime.text import MIMEText + from urllib import parse as urlparse +else: + from email.MIMEText import MIMEText + import urlparse diff --git a/mediagoblin/db/migration_tools.py b/mediagoblin/db/migration_tools.py index e39070c3..e725f565 100644 --- a/mediagoblin/db/migration_tools.py +++ b/mediagoblin/db/migration_tools.py @@ -14,6 +14,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from __future__ import unicode_literals + from mediagoblin.tools.common import simple_printer from sqlalchemy import Table from sqlalchemy.sql import select @@ -39,7 +41,7 @@ class MigrationManager(object): - migration_registry: where we should find all migrations to run """ - self.name = unicode(name) + self.name = name self.models = models self.foundations = foundations self.session = session diff --git a/mediagoblin/db/open.py b/mediagoblin/db/open.py index 4ff0945f..9cf9e578 100644 --- a/mediagoblin/db/open.py +++ b/mediagoblin/db/open.py @@ -20,6 +20,7 @@ import logging from mediagoblin.db.base import Base, Session from mediagoblin import mg_globals +from mediagoblin._compat import iteritems _log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ class DatabaseMaster(object): def __init__(self, engine): self.engine = engine - for k, v in Base._decl_class_registry.iteritems(): + for k, v in iteritems(Base._decl_class_registry): setattr(self, k, v) def commit(self): diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 1db82ee7..a9b966ff 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -14,6 +14,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from __future__ import print_function + try: from PIL import Image except ImportError: @@ -381,5 +383,4 @@ if __name__ == '__main__': clean = clean_exif(result) useful = get_useful(clean) - print pp.pprint( - clean) + print(pp.pprint(clean)) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index a000007a..0a173cf7 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -138,7 +138,7 @@ def is_unoconv_working(): try: proc = Popen([unoconv, '--show'], stderr=PIPE) output = proc.stderr.read() - except OSError, e: + except OSError: _log.warn(_('unoconv failing to run, check log file')) return False if 'ERROR' in output: diff --git a/mediagoblin/storage/__init__.py b/mediagoblin/storage/__init__.py index 51b46c07..3aa1f4a4 100644 --- a/mediagoblin/storage/__init__.py +++ b/mediagoblin/storage/__init__.py @@ -14,6 +14,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from __future__ import absolute_import + import shutil import uuid @@ -268,4 +270,4 @@ def storage_system_from_config(config_section): storage_class = common.import_component(storage_class) return storage_class(**config_params) -import filestorage +from . import filestorage diff --git a/mediagoblin/storage/filestorage.py b/mediagoblin/storage/filestorage.py index 29b8383b..404d24c3 100644 --- a/mediagoblin/storage/filestorage.py +++ b/mediagoblin/storage/filestorage.py @@ -21,7 +21,8 @@ from mediagoblin.storage import ( import os import shutil -import urlparse + +from mediagoblin._compat import urlparse class BasicFileStorage(StorageInterface): diff --git a/mediagoblin/tools/crypto.py b/mediagoblin/tools/crypto.py index 917e674c..14a1a72d 100644 --- a/mediagoblin/tools/crypto.py +++ b/mediagoblin/tools/crypto.py @@ -52,7 +52,7 @@ def load_key(filename): def create_key(key_dir, key_filepath): global __itsda_secret - old_umask = os.umask(077) + old_umask = os.umask(0o77) key_file = None try: if not os.path.isdir(key_dir): @@ -80,7 +80,7 @@ def setup_crypto(): key_filepath = os.path.join(key_dir, 'itsdangeroussecret.bin') try: load_key(key_filepath) - except IOError, error: + except IOError as error: if error.errno != errno.ENOENT: raise create_key(key_dir, key_filepath) diff --git a/mediagoblin/tools/mail.py b/mediagoblin/tools/mail.py index 0fabc5a9..ad2e5a19 100644 --- a/mediagoblin/tools/mail.py +++ b/mediagoblin/tools/mail.py @@ -14,9 +14,11 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from __future__ import print_function, unicode_literals + import smtplib -from email.MIMEText import MIMEText from mediagoblin import mg_globals, messages +from mediagoblin._compat import MIMEText from mediagoblin.tools import common ### ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -119,12 +121,12 @@ def send_email(from_addr, to_addrs, subject, message_body): EMAIL_TEST_INBOX.append(message) elif mg_globals.app_config['email_debug_mode']: - print u"===== Email =====" - print u"From address: %s" % message['From'] - print u"To addresses: %s" % message['To'] - print u"Subject: %s" % message['Subject'] - print u"-- Body: --" - print message.get_payload(decode=True) + print("===== Email =====") + print("From address: %s" % message['From']) + print("To addresses: %s" % message['To']) + print("Subject: %s" % message['Subject']) + print("-- Body: --") + print(message.get_payload(decode=True)) return mhost.sendmail(from_addr, to_addrs, message.as_string()) @@ -151,5 +153,5 @@ def email_debug_message(request): if mg_globals.app_config['email_debug_mode']: # DEBUG message, no need to translate messages.add_message(request, messages.DEBUG, - u"This instance is running in email debug mode. " - u"The email will be on the console of the server process.") + "This instance is running in email debug mode. " + "The email will be on the console of the server process.") -- 2.25.1