#!/usr/bin/env python3

import sys
import os
import pickle

_absfile = os.path.abspath(__file__)
_filedir = os.path.dirname(_absfile)
dfile = os.path.join(_filedir, '.dynamicsettings')

def write(data):
    with open(dfile, 'wb') as f:
        pickle.dump(data, f)

def touch(fname):
    if os.path.exists(fname):
        return os.utime(fname, None)
    else:
        with open(path, 'w'):
            pass

def _traverse(xs):
    for x in xs:
        pass

def act(d):
    try:
        d[sys.argv[1]]()
    except (IndexError, KeyError):
        print('unknown command', file=sys.stderr)
        print_help()

def print_help():
    print('''
Run one of:
  stop
  start
  restart
''')

if __name__ == '__main__':
    act({
            'stop': lambda: write({'status': 'stop'}),
            'start': lambda: write({'status': 'running'}),
            'restart': lambda: _traverse(
                f() for f in (lambda: write({'status': 'running'}),
                              lambda: touch(dfile))),
            'help': print_help, '-h': print_help, '--help': print_help
            })
