mirror of
https://github.com/SL-RU/ranger_udisk_menu.git
synced 2024-12-27 07:26:36 +01:00
update for older version of lsblk and update documentation
This commit is contained in:
parent
2fa1218ca0
commit
c89d4eed56
2 changed files with 21 additions and 9 deletions
|
@ -4,9 +4,9 @@ This script draws menu to mount and unmount partitions using udisksctl and ncurs
|
||||||
![Screenshot](screenshot.png)
|
![Screenshot](screenshot.png)
|
||||||
|
|
||||||
# Requirements
|
# Requirements
|
||||||
- python3
|
- python3.8 or newer
|
||||||
- udisks2 (for udisksctl)
|
- udisks2 (for udisksctl)
|
||||||
- lsblk
|
- lsblk 2.3 or newer
|
||||||
|
|
||||||
# How to install
|
# How to install
|
||||||
Firstly you need to clone this repo to ranger config directory
|
Firstly you need to clone this repo to ranger config directory
|
||||||
|
@ -36,3 +36,7 @@ Enter in ranger `:mount`, than will be shown menu. In this menu you can press:
|
||||||
- `e` to unmount all partitions of selected partition's drive
|
- `e` to unmount all partitions of selected partition's drive
|
||||||
- `p` to power off selected the selected partition's drive (also called safely remove). It can be done only when all partitions of the drive are unmounted
|
- `p` to power off selected the selected partition's drive (also called safely remove). It can be done only when all partitions of the drive are unmounted
|
||||||
- `ENTER` to open selected mountpoint in current tab of the ranger
|
- `ENTER` to open selected mountpoint in current tab of the ranger
|
||||||
|
|
||||||
|
# Troubles
|
||||||
|
|
||||||
|
If there is trouble with permissions, then you need to create group `storage` and add your user to it. Then you need to update your Polkit or PolicyKit permissions like it shown [here: https://github.com/coldfix/udiskie/wiki/Permissions](https://github.com/coldfix/udiskie/wiki/Permissions)
|
||||||
|
|
22
menu.py
22
menu.py
|
@ -154,7 +154,7 @@ class ChoosePartition:
|
||||||
if blk is None:
|
if blk is None:
|
||||||
return
|
return
|
||||||
for part in blk['children']:
|
for part in blk['children']:
|
||||||
self.unmount(part['path'])
|
self.unmount(part)
|
||||||
|
|
||||||
def select(self):
|
def select(self):
|
||||||
sel = None
|
sel = None
|
||||||
|
@ -179,15 +179,15 @@ class ChoosePartition:
|
||||||
elif x == ord('m'):
|
elif x == ord('m'):
|
||||||
sel = self._get_part_by_partn()
|
sel = self._get_part_by_partn()
|
||||||
if sel is not None:
|
if sel is not None:
|
||||||
self.mount(sel['path'])
|
self.mount(sel)
|
||||||
elif x == ord('u'):
|
elif x == ord('u'):
|
||||||
sel = self._get_part_by_partn()
|
sel = self._get_part_by_partn()
|
||||||
if sel is not None:
|
if sel is not None:
|
||||||
self.unmount(sel['path'])
|
self.unmount(sel)
|
||||||
elif x == ord('p'):
|
elif x == ord('p'):
|
||||||
sel_drive = self._get_drive_by_partn()
|
sel_drive = self._get_drive_by_partn()
|
||||||
if sel_drive is not None:
|
if sel_drive is not None:
|
||||||
self.poweroff(sel_drive['path'])
|
self.poweroff(sel_drive)
|
||||||
elif x == ord('g') or x == ord('r'):
|
elif x == ord('g') or x == ord('r'):
|
||||||
self._read_partitions()
|
self._read_partitions()
|
||||||
curses.endwin()
|
curses.endwin()
|
||||||
|
@ -207,14 +207,22 @@ class ChoosePartition:
|
||||||
self.message = cmd + " error: " + r + str(e)
|
self.message = cmd + " error: " + r + str(e)
|
||||||
self._read_partitions()
|
self._read_partitions()
|
||||||
|
|
||||||
|
def get_drive_path(self, drive):
|
||||||
|
if 'path' not in drive:
|
||||||
|
drive['path'] = '/dev/' + drive['kname']
|
||||||
|
return drive['path']
|
||||||
|
|
||||||
def unmount(self, dev):
|
def unmount(self, dev):
|
||||||
self._udisk_mount_unmount("unmount", dev)
|
p = self.get_drive_path(dev)
|
||||||
|
self._udisk_mount_unmount("unmount", p)
|
||||||
|
|
||||||
def poweroff(self, dev):
|
def poweroff(self, dev):
|
||||||
self._udisk_mount_unmount("power-off", dev)
|
p = self.get_drive_path(dev)
|
||||||
|
self._udisk_mount_unmount("power-off", p)
|
||||||
|
|
||||||
def mount(self, dev):
|
def mount(self, dev):
|
||||||
self._udisk_mount_unmount("mount", dev)
|
p = self.get_drive_path(dev)
|
||||||
|
self._udisk_mount_unmount("mount", p)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
Loading…
Reference in a new issue