Skip to content
Snippets Groups Projects
Commit 1d75451b authored by Julien (jvoisin) Voisin's avatar Julien (jvoisin) Voisin
Browse files

Add some type annotations to the nautilus extension

parent dc35ef56
No related branches found
No related tags found
No related merge requests found
...@@ -35,8 +35,7 @@ mypy: ...@@ -35,8 +35,7 @@ mypy:
- apt-get -qqy update - apt-get -qqy update
- apt-get -qqy install --no-install-recommends python3-pip - apt-get -qqy install --no-install-recommends python3-pip
- pip3 install mypy - pip3 install mypy
- mypy mat2 libmat2/*.py --ignore-missing-imports - mypy --ignore-missing-imports mat2 libmat2/*.py ./nautilus/mat2.py
- mypy --ignore-missing-imports ./nautilus/mat2.py
tests:debian: tests:debian:
stage: test stage: test
......
...@@ -14,7 +14,7 @@ thread, so we'll have to resort to using a `queue` to pass "messages" around. ...@@ -14,7 +14,7 @@ thread, so we'll have to resort to using a `queue` to pass "messages" around.
import queue import queue
import threading import threading
from typing import Tuple from typing import Tuple, Optional, List
from urllib.parse import unquote from urllib.parse import unquote
import gi import gi
...@@ -25,10 +25,8 @@ from gi.repository import Nautilus, GObject, Gtk, Gio, GLib, GdkPixbuf ...@@ -25,10 +25,8 @@ from gi.repository import Nautilus, GObject, Gtk, Gio, GLib, GdkPixbuf
from libmat2 import parser_factory from libmat2 import parser_factory
# make pyflakes happy
assert Tuple
def _remove_metadata(fpath): def _remove_metadata(fpath) -> Tuple[bool, Optional[str]]:
""" This is a simple wrapper around libmat2, because it's """ This is a simple wrapper around libmat2, because it's
easier and cleaner this way. easier and cleaner this way.
""" """
...@@ -63,7 +61,7 @@ class ColumnExtension(GObject.GObject, Nautilus.MenuProvider, Nautilus.LocationW ...@@ -63,7 +61,7 @@ class ColumnExtension(GObject.GObject, Nautilus.MenuProvider, Nautilus.LocationW
self.infobar.get_content_area().pack_start(self.infobar_hbox, True, True, 0) self.infobar.get_content_area().pack_start(self.infobar_hbox, True, True, 0)
self.infobar.show_all() self.infobar.show_all()
def get_widget(self, uri, window): def get_widget(self, uri, window) -> Gtk.Widget:
""" This is the method that we have to implement (because we're """ This is the method that we have to implement (because we're
a LocationWidgetProvider) in order to show our infobar. a LocationWidgetProvider) in order to show our infobar.
""" """
...@@ -228,7 +226,7 @@ class ColumnExtension(GObject.GObject, Nautilus.MenuProvider, Nautilus.LocationW ...@@ -228,7 +226,7 @@ class ColumnExtension(GObject.GObject, Nautilus.MenuProvider, Nautilus.LocationW
""" https://bugzilla.gnome.org/show_bug.cgi?id=784278 """ """ https://bugzilla.gnome.org/show_bug.cgi?id=784278 """
return None return None
def get_file_items(self, window, files): def get_file_items(self, window, files) -> Optional[List[Nautilus.MenuItem]]:
""" This method is the one allowing us to create a menu item. """ This method is the one allowing us to create a menu item.
""" """
# Do not show the menu item if not a single file has a chance to be # Do not show the menu item if not a single file has a chance to be
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment