blob: 53419942870baec533a662acfd178a15087d1bf7 (
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
31
32
33
34
35
36
37
|
#!@python@/bin/python
import os
import sys
import shlex
from xdg import BaseDirectory
from pathlib import Path
from configparser import ConfigParser
import logging
from logging.handlers import SysLogHandler
syslog = SysLogHandler( address = '/dev/log' )
logging.basicConfig(handlers = [syslog], level = logging.DEBUG)
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[config_section] if config.has_section(config_section) else config[config.default_section]
logging.info("notmuch %s # %s", original_command[1:], command_environment)
os.execvpe('@notmuch@/bin/notmuch', original_command[1:], command_environment)
|