From 1d75451b77579441eb894b43ef9b44d9c5382831 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 8 Nov 2018 21:40:33 +0100 Subject: [PATCH] Add some type annotations to the nautilus extension --- .gitlab-ci.yml | 3 +-- nautilus/mat2.py | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 32ec086..10e0009 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,8 +35,7 @@ mypy: - apt-get -qqy update - apt-get -qqy install --no-install-recommends python3-pip - pip3 install mypy - - mypy mat2 libmat2/*.py --ignore-missing-imports - - mypy --ignore-missing-imports ./nautilus/mat2.py + - mypy --ignore-missing-imports mat2 libmat2/*.py ./nautilus/mat2.py tests:debian: stage: test diff --git a/nautilus/mat2.py b/nautilus/mat2.py index af49323..0688ef2 100644 --- a/nautilus/mat2.py +++ b/nautilus/mat2.py @@ -14,7 +14,7 @@ thread, so we'll have to resort to using a `queue` to pass "messages" around. import queue import threading -from typing import Tuple +from typing import Tuple, Optional, List from urllib.parse import unquote import gi @@ -25,10 +25,8 @@ from gi.repository import Nautilus, GObject, Gtk, Gio, GLib, GdkPixbuf 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 easier and cleaner this way. """ @@ -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.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 a LocationWidgetProvider) in order to show our infobar. """ @@ -228,7 +226,7 @@ class ColumnExtension(GObject.GObject, Nautilus.MenuProvider, Nautilus.LocationW """ https://bugzilla.gnome.org/show_bug.cgi?id=784278 """ 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. """ # Do not show the menu item if not a single file has a chance to be