﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	parents
5506	Python 3 compatibility for ./bin/gmg assetlink	Vaelatern		"Without this patch:
{{{
$ ./bin/gmg assetlink
/var/www/mediagoblin/mg/mediagoblin/media_types/video/transcoders.py:37: PyGIWarning: GstPbutils was imported without specifying a version first. Use gi.require_version('GstPbutils', '1.0') before import to ensure that the right version gets loaded.
  from gi.repository import GstPbutils
WARNING: audiolab is not installed so wav2png will not work
Traceback (most recent call last):
  File ""./bin/gmg"", line 11, in <module>
    load_entry_point('mediagoblin', 'console_scripts', 'gmg')()
  File ""/var/www/mediagoblin/mg/mediagoblin/gmg_commands/__init__.py"", line 148, in main_cli
    args.func(args)
  File ""/var/www/mediagoblin/mg/mediagoblin/gmg_commands/assetlink.py"", line 141, in assetlink
    mgoblin_app = commands_util.setup_app(args)
  File ""/var/www/mediagoblin/mg/mediagoblin/gmg_commands/util.py"", line 28, in setup_app
    mgoblin_app = app.MediaGoblinApp(args.conf_file)
  File ""/var/www/mediagoblin/mg/mediagoblin/app.py"", line 121, in __init__
    self.theme_registry, self.current_theme = register_themes(self.app_config)
  File ""/var/www/mediagoblin/mg/mediagoblin/tools/theme.py"", line 83, in register_themes
    and registry.has_key(current_theme_name):
AttributeError: 'dict' object has no attribute 'has_key'
}}}

With this patch:

{{{
$ ./bin/gmg assetlink
/var/www/mediagoblin/mg/mediagoblin/media_types/video/transcoders.py:37: PyGIWarning: GstPbutils was imported without specifying a version first. Use gi.require_version('GstPbutils', '1.0') before import to ensure that the right version gets loaded.
  from gi.repository import GstPbutils
WARNING: audiolab is not installed so wav2png will not work
Linked the theme's asset directory:
  /var/www/mediagoblin/mg/mediagoblin/themes/airy/assets
to:
  /var/www/mediagoblin/mg/user_dev/theme_static
Skipping ""coreplugin_basic_auth""; already set up.
}}}

Patch:
{{{
diff --git a/mediagoblin/tools/theme.py b/mediagoblin/tools/theme.py
index 97b041a6..ebb03980 100644
--- a/mediagoblin/tools/theme.py
+++ b/mediagoblin/tools/theme.py
@@ -80,7 +80,7 @@ def register_themes(app_config, builtin_dir=BUILTIN_THEME_DIR):

     current_theme_name = app_config.get('theme')
     if current_theme_name \
-            and registry.has_key(current_theme_name):
+            and current_theme_name in registry.keys():
         current_theme = registry[current_theme_name]
     else:
         current_theme = None
}}}"	defect	closed	trivial		programming	fixed	python3		
