#! /usr/bin/python3
#
# Copyright (c) 2021, AT&T Intellectual Property. All rights reserved.
#
# SPDX-License-Identifier: GPL-2.0-only
#

import os
import sys
from vyatta import configd

class RenewPassword():
    client = configd.Client()
    sessid = str(os.getpid())

    def setupSession(self):
        self.client.session_setup(self.sessid)
        try:
            self.client.session_exists()
        except Exception as e:
            print(e)
            sys.exit(1)

    def teardownSession(self):
        self.client.session_teardown()

    def setPassword(self, path):
        try:
            self.client.set(path)
        except Exception as e:
            print(e)
            sys.exit(1)

    def commitPassword(self):
        try:
            self.client.commit("")
        except Exception as e:
            print(e)
            sys.exit(1)

    def updatePassword(self, path):
        self.setupSession()
        self.setPassword(path)
        self.commitPassword()
        self.teardownSession()

try:
    u, p = sys.stdin.readline().strip().split(':', 2)
except Exception as e:
    print(e)
    sys.exit(1)
path = ["system", "login", "user", u, "authentication", "plaintext-password", p]

pwd = RenewPassword()
pwd.updatePassword(path)
