1
0
mirror of synced 2024-06-07 23:07:50 +02:00

Add some type annotations to the nautilus extension

This commit is contained in:
jvoisin 2018-11-08 21:40:33 +01:00
parent dc35ef56c8
commit 1d75451b77
2 changed files with 5 additions and 8 deletions

View File

@ -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

View File

@ -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
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
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
""" 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