Mike Spadaru Mike Spadaru - 6 months ago 57
Python Question

Youtube in Webkit/Python/GTK app

I'm trying to do a python(2.7)/GTK+ app, and I have a window, containing a WebKit WebView.

from gi.repository import Gtk, WebKit

class MainWindow:
def __init__( self ):
self.builder = Gtk.Builder()
self.builder.add_from_file("youtubeWindow.ui")
self.main_window = self.builder.get_object("main_window")
self.scrl_window = self.builder.get_object("scrl_window")
self.webview = WebKit.WebView()
self.scrl_window.add(self.webview)
self.webview.show()
self.webview.open("http://youtu.be/o-akcEzQ6Y8")
self.main_window.show_all()
Gtk.main()


tube_window = MainWindow()


When I run my app I get the folowing error:


ERROR: Invalid browser function table. Some functionality may be
restricted. java version "1.6.0_24" OpenJDK Runtime Environment
(IcedTea6 1.11.3) (6b24-1.11.3-1ubuntu0.12.04.1) OpenJDK 64-Bit Server
VM (build 20.0-b12, mixed mode)
** Message: console message: undefined @0: TypeError: 'undefined' is not an object


The page loads, but I can't play my video :( (The video box is all black and doesn't have any play button, nothing)

The UI is made in Glade and the XML file generated by Glade, youtubeWindow.ui is:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="main_window">
<property name="can_focus">False</property>
<property name="type_hint">menu</property>
<child>
<object class="GtkScrolledWindow" id="scrl_window">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>


Can you please help me?
Thanks!

Answer

I found a solution that works for me. I used

import gtk 
import webkit

instead of:

from gi.repository import Gtk, WebKit
Comments