aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2014-03-19 16:44:34 +0200
committerBerker Peksag <berker.peksag@gmail.com>2014-05-08 20:33:14 +0300
commit7f342c72f64594775bac1bcce81b32ae9e18e6ac (patch)
tree4e4c1e7657bdb3d7d83b23c60143632e5a02945e
parent74e77c36888b9fbec7e4f8f2b0f1d0e0487ed6b4 (diff)
downloadmediagoblin-7f342c72f64594775bac1bcce81b32ae9e18e6ac.tar.lz
mediagoblin-7f342c72f64594775bac1bcce81b32ae9e18e6ac.tar.xz
mediagoblin-7f342c72f64594775bac1bcce81b32ae9e18e6ac.zip
Continue to port GMG codebase.
-rw-r--r--mediagoblin/_compat.py9
-rw-r--r--mediagoblin/db/migration_tools.py4
-rw-r--r--mediagoblin/db/open.py3
-rw-r--r--mediagoblin/media_types/image/processing.py5
-rw-r--r--mediagoblin/media_types/pdf/processing.py2
-rw-r--r--mediagoblin/storage/__init__.py4
-rw-r--r--mediagoblin/storage/filestorage.py3
-rw-r--r--mediagoblin/tools/crypto.py4
-rw-r--r--mediagoblin/tools/mail.py20
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 <http://www.gnu.org/licenses/>.
+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 <http://www.gnu.org/licenses/>.
+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 <http://www.gnu.org/licenses/>.
+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 <http://www.gnu.org/licenses/>.
+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.")