File: block-size-column.py

package info (click to toggle)
nautilus-python 4.0.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 424 kB
  • sloc: xml: 1,713; ansic: 619; python: 250; makefile: 10
file content (26 lines) | stat: -rw-r--r-- 774 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import os
from urllib.parse import unquote
from gi.repository import GObject, Nautilus
from typing import List


class ColumnExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider):
    def get_columns(self) -> List[Nautilus.Column]:
        column = Nautilus.Column(
            name="NautilusPython::block_size_column",
            attribute="block_size",
            label="Block size",
            description="Get the block size",
        )

        return [
            column,
        ]

    def update_file_info(self, file: Nautilus.FileInfo) -> None:
        if file.get_uri_scheme() != "file":
            return

        filename = unquote(file.get_uri()[7:])

        file.add_string_attribute("block_size", str(os.stat(filename).st_blksize))