Browse Source

gtk/qt: lazy import to avoid unneeded dependencies

Arnau Sanchez 9 years ago
parent
commit
fe2f91c160
3 changed files with 7 additions and 9 deletions
  1. 2 3
      youtube_upload/auth/webkit_gtk.py
  2. 4 5
      youtube_upload/auth/webkit_qt.py
  3. 1 1
      youtube_upload/lib.py

+ 2 - 3
youtube_upload/auth/webkit_gtk.py

@@ -1,8 +1,5 @@
 import json
 import json
 
 
-import gtk
-import webkit
-
 CHECK_AUTH_JS = """
 CHECK_AUTH_JS = """
     var code = document.getElementById("code");
     var code = document.getElementById("code");
     var access_denied = document.getElementById("access_denied");
     var access_denied = document.getElementById("access_denied");
@@ -27,6 +24,8 @@ def _on_webview_status_bar_changed(webview, status, dialog):
 
 
 def get_code(url, size=(640, 480), title="Google authentication"):
 def get_code(url, size=(640, 480), title="Google authentication"):
     """Open a GTK webkit window and return the access code."""
     """Open a GTK webkit window and return the access code."""
+    import gtk
+    import webkit
     dialog = gtk.Dialog(title=title)
     dialog = gtk.Dialog(title=title)
     webview = webkit.WebView()
     webview = webkit.WebView()
     scrolled = gtk.ScrolledWindow()
     scrolled = gtk.ScrolledWindow()

+ 4 - 5
youtube_upload/auth/webkit_qt.py

@@ -1,8 +1,3 @@
-try:
-    from PyQt4 import QtCore, QtGui, QtWebKit
-except ImportError:
-    from PySide import QtCore, QtGui, QtWebKit
-    
 CHECK_AUTH_JS = """
 CHECK_AUTH_JS = """
     var code = document.getElementById("code");
     var code = document.getElementById("code");
     var access_denied = document.getElementById("access_denied");
     var access_denied = document.getElementById("access_denied");
@@ -37,6 +32,10 @@ def _on_qt_page_load_finished(dialog, webview):
    
    
 def get_code(url, size=(640, 480), title="Google authentication"):
 def get_code(url, size=(640, 480), title="Google authentication"):
     """Open a QT webkit window and return the access code."""
     """Open a QT webkit window and return the access code."""
+    try:
+        from PyQt4 import QtCore, QtGui, QtWebKit
+    except ImportError:
+        from PySide import QtCore, QtGui, QtWebKit
     app = QtGui.QApplication([])
     app = QtGui.QApplication([])
     dialog = QtGui.QDialog()
     dialog = QtGui.QDialog()
     dialog.setWindowTitle(title)
     dialog.setWindowTitle(title)

+ 1 - 1
youtube_upload/lib.py

@@ -44,7 +44,7 @@ def catch_exceptions(exit_codes, fun, *args, **kwargs):
         fun(*args, **kwargs)
         fun(*args, **kwargs)
         return 0
         return 0
     except tuple(exit_codes.keys()) as exc:
     except tuple(exit_codes.keys()) as exc:
-        debug("[%s] %s" % (exc.__class__.__name__, exc))
+        debug("[{}] {}".format(exc.__class__.__name__, exc))
         return exit_codes[exc.__class__]
         return exit_codes[exc.__class__]
 
 
 def get_encoding(fd):
 def get_encoding(fd):