diff -Nru nemo-python-3.4.0/configure.in nemo-python-3.6.0/configure.in --- nemo-python-3.4.0/configure.in 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/configure.in 2017-10-24 11:00:07.000000000 +0000 @@ -2,7 +2,7 @@ AC_INIT PACKAGE=nemo-python -VERSION=3.4.0 +VERSION=3.6.0 AC_SUBST(PACKAGE) AC_SUBST(VERSION) diff -Nru nemo-python-3.4.0/debian/changelog nemo-python-3.6.0/debian/changelog --- nemo-python-3.4.0/debian/changelog 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/debian/changelog 2017-11-21 10:53:14.000000000 +0000 @@ -1,8 +1,14 @@ -nemo-python (3.4.0-1~webupd8~xenial1) xenial; urgency=medium +nemo-python (3.6.0-1~webupd8~xenial) xenial; urgency=medium - * rebuild + * Upload for Ubuntu - -- Alin Andrei Thu, 04 May 2017 11:50:15 +0100 + -- Alin Andrei Tue, 21 Nov 2017 12:53:14 +0200 + +nemo-python (3.6.0) sylvia; urgency=medium + + * 3.6.0 + + -- Clement Lefebvre Tue, 24 Oct 2017 11:58:54 +0100 nemo-python (3.4.0) sonya; urgency=medium diff -Nru nemo-python-3.4.0/examples/background-image.py nemo-python-3.6.0/examples/background-image.py --- nemo-python-3.4.0/examples/background-image.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/background-image.py 2017-10-24 11:00:07.000000000 +0000 @@ -7,13 +7,13 @@ class BackgroundImageExtension(GObject.GObject, Nemo.MenuProvider): def __init__(self): self.bgsettings = Gio.Settings.new(BACKGROUND_SCHEMA) - + def menu_activate_cb(self, menu, file): if file.is_gone(): return - + self.bgsettings[BACKGROUND_KEY] = file.get_uri() - + def get_file_items(self, window, files): if len(files) != 1: return @@ -30,7 +30,7 @@ return item = Nemo.MenuItem(name='Nemo::set_background_image', - label='Use as background image', - tip='Set the current image as a background image') + label='Use as background image', + tip='Set the current image as a background image') item.connect('activate', self.menu_activate_cb, file) return item, diff -Nru nemo-python-3.4.0/examples/block-size-column.py nemo-python-3.6.0/examples/block-size-column.py --- nemo-python-3.4.0/examples/block-size-column.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/block-size-column.py 2017-10-24 11:00:07.000000000 +0000 @@ -6,17 +6,17 @@ class ColumnExtension(GObject.GObject, Nemo.ColumnProvider, Nemo.InfoProvider): def __init__(self): pass - + def get_columns(self): return Nemo.Column(name="NemoPython::block_size_column", - attribute="block_size", - label="Block size", - description="Get the block size"), + attribute="block_size", + label="Block size", + description="Get the block size"), def update_file_info(self, file): if file.get_uri_scheme() != 'file': return - + filename = urllib.unquote(file.get_uri()[7:]) - + file.add_string_attribute('block_size', str(os.stat(filename).st_blksize)) diff -Nru nemo-python-3.4.0/examples/location-widget-provider.py nemo-python-3.6.0/examples/location-widget-provider.py --- nemo-python-3.4.0/examples/location-widget-provider.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/location-widget-provider.py 2017-10-24 11:00:07.000000000 +0000 @@ -3,7 +3,7 @@ class LocationProviderExample(GObject.GObject, Nemo.LocationWidgetProvider): def __init__(self): pass - + def get_widget(self, uri, window): entry = Gtk.Entry() entry.set_text(uri) diff -Nru nemo-python-3.4.0/examples/md5sum-property-page.py nemo-python-3.6.0/examples/md5sum-property-page.py --- nemo-python-3.4.0/examples/md5sum-property-page.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/md5sum-property-page.py 2017-10-24 11:00:07.000000000 +0000 @@ -6,11 +6,11 @@ class MD5SumPropertyPage(GObject.GObject, Nemo.PropertyPageProvider): def __init__(self): pass - + def get_property_pages(self, files): if len(files) != 1: return - + file = files[0] if file.get_uri_scheme() != 'file': return @@ -34,14 +34,14 @@ self.hbox.pack_start(self.value_label, False, False, 0) md5sum = hashlib.md5() - with open(filename,'rb') as f: - for chunk in iter(lambda: f.read(8192), ''): + with open(filename,'rb') as f: + for chunk in iter(lambda: f.read(8192), ''): md5sum.update(chunk) - f.close() + f.close() self.value_label.set_text(md5sum.hexdigest()) self.value_label.show() - + return Nemo.PropertyPage(name="NemoPython::md5_sum", - label=self.property_label, - page=self.hbox), + label=self.property_label, + page=self.hbox), diff -Nru nemo-python-3.4.0/examples/open-terminal.py nemo-python-3.6.0/examples/open-terminal.py --- nemo-python-3.4.0/examples/open-terminal.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/open-terminal.py 2017-10-24 11:00:07.000000000 +0000 @@ -9,37 +9,37 @@ class OpenTerminalExtension(Nemo.MenuProvider, GObject.GObject): def __init__(self): self.client = GConf.Client.get_default() - + def _open_terminal(self, file): filename = urllib.unquote(file.get_uri()[7:]) terminal = self.client.get_string(TERMINAL_KEY) os.chdir(filename) os.system('%s &' % terminal) - + def menu_activate_cb(self, menu, file): self._open_terminal(file) - - def menu_background_activate_cb(self, menu, file): + + def menu_background_activate_cb(self, menu, file): self._open_terminal(file) - + def get_file_items(self, window, files): if len(files) != 1: return - + file = files[0] if not file.is_directory() or file.get_uri_scheme() != 'file': return - + item = Nemo.MenuItem(name='NemoPython::openterminal_file_item', - label='Open Terminal' , - tip='Open Terminal In %s' % file.get_name()) + label='Open Terminal' , + tip='Open Terminal In %s' % file.get_name()) item.connect('activate', self.menu_activate_cb, file) return item, def get_background_items(self, window, file): item = Nemo.MenuItem(name='NemoPython::openterminal_item', - label='Open Terminal Here', - tip='Open Terminal In This Directory') + label='Open Terminal Here', + tip='Open Terminal In This Directory') item.connect('activate', self.menu_background_activate_cb, file) return item, diff -Nru nemo-python-3.4.0/examples/submenu.py nemo-python-3.6.0/examples/submenu.py --- nemo-python-3.4.0/examples/submenu.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/submenu.py 2017-10-24 11:00:07.000000000 +0000 @@ -3,36 +3,35 @@ class ExampleMenuProvider(GObject.GObject, Nemo.MenuProvider): def __init__(self): pass - + def get_file_items(self, window, files): - top_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo', - label='Foo', - tip='', - icon='') + top_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo', + label='Foo', + tip='', + icon='') submenu = Nemo.Menu() top_menuitem.set_submenu(submenu) - sub_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Bar', - label='Bar', - tip='', - icon='') + sub_menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Bar', + label='Bar', + tip='', + icon='') submenu.append_item(sub_menuitem) return top_menuitem, def get_background_items(self, window, file): submenu = Nemo.Menu() - submenu.append_item(Nemo.MenuItem(name='ExampleMenuProvider::Bar2', - label='Bar2', - tip='', - icon='')) - - menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo2', - label='Foo2', - tip='', - icon='') + submenu.append_item(Nemo.MenuItem(name='ExampleMenuProvider::Bar2', + label='Bar2', + tip='', + icon='')) + + menuitem = Nemo.MenuItem(name='ExampleMenuProvider::Foo2', + label='Foo2', + tip='', + icon='') menuitem.set_submenu(submenu) return menuitem, - diff -Nru nemo-python-3.4.0/examples/update-file-info-async.py nemo-python-3.6.0/examples/update-file-info-async.py --- nemo-python-3.4.0/examples/update-file-info-async.py 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/examples/update-file-info-async.py 2017-10-24 11:00:07.000000000 +0000 @@ -3,12 +3,12 @@ class UpdateFileInfoAsync(GObject.GObject, Nemo.InfoProvider): def __init__(self): pass - + def update_file_info_full(self, provider, handle, closure, file): print "update_file_info_full" gobject.timeout_add_seconds(3, self.update_cb, provider, handle, closure) return Nemo.OperationResult.IN_PROGRESS - + def update_cb(self, provider, handle, closure): print "update_cb" Nemo.info_provider_update_complete_invoke(closure, provider, handle, Nemo.OperationResult.FAILED) diff -Nru nemo-python-3.4.0/src/nemo-python-object.c nemo-python-3.6.0/src/nemo-python-object.c --- nemo-python-3.4.0/src/nemo-python-object.c 2017-05-04 10:50:15.000000000 +0000 +++ nemo-python-3.6.0/src/nemo-python-object.c 2017-10-24 11:00:07.000000000 +0000 @@ -411,6 +411,8 @@ NemoOperationHandle *handle) { NemoPythonObject *object = (NemoPythonObject*)provider; + PyObject *py_ret = NULL; + PyGILState_STATE state = pyg_gil_state_ensure(); PyObject *py_handle = nemo_python_boxed_new (_PyNemoOperationHandle_Type, handle, FALSE); @@ -419,12 +421,15 @@ CHECK_OBJECT(object); CHECK_METHOD_NAME(object->instance); - PyObject_CallMethod(object->instance, + py_ret = PyObject_CallMethod(object->instance, METHOD_PREFIX METHOD_NAME, "(NN)", pygobject_new((GObject*)provider), py_handle); + HANDLE_RETVAL(py_ret); + beach: + Py_XDECREF(py_ret); pyg_gil_state_release(state); } #undef METHOD_NAME