summaryrefslogtreecommitdiff
path: root/notmuch-ssh-server
blob: 6a7a2ed52c282408b031228dc5b1c3a9573d20fd (plain)
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
27
28
29
30
#!@python@/bin/python

import os
import sys
import shlex
from xdg import BaseDirectory
from pathlib import Path
from configparser import ConfigParser


config = ConfigParser()
config_file = BaseDirectory.load_first_config('notmuch-ssh')
if config_file is not None:
    config.read(config_file)

original_command = os.environ.get('SSH_ORIGINAL_COMMAND')

if original_command is None:
    sys.exit(os.EX_USAGE)

original_command = shlex.split(original_command, comments = True)

if len(original_command) < 1:
    sys.exit(os.EX_USAGE)

config_section = original_command[0]

command_environment = config.items(config_section) if config.has_section(config_section) else config.items(config.default_section)

os.execvpe('@notmuch@/bin/notmuch', original_command[1:], command_environment)