#!/usr/bin/env python3
# This file is placed in the Public Domain.
# pylint: disable=C0413,W0105,W0212


"service"


import getpass
import os
import pwd


from nixt.main    import forever, init, scan, wrap
from nixt.modules import face as FACE
from nixt.persist import pidfile, pidname
from nixt.runtime import Errors


def errors():
    "print errors."
    for err in Errors.errors:
        for line in err:
            print(line)


def privileges(username):
    "privileges."
    pwnam2 = pwd.getpwnam(username)
    os.setgid(pwnam2.pw_gid)
    os.setuid(pwnam2.pw_uid)


def main():
    "main"
    privileges(getpass.getuser())
    pidfile(pidname())
    scan(FACE)
    init(FACE)
    forever()


if __name__ == "__main__":
    wrap(main)
    errors()
