#!/usr/bin/env python
# CCS Computer Science
#   Change Full Name
#
# Douglas Thrift
#
# $Id$

from __future__ import with_statement
import admin
import common
import ldap
import os
import re
import sys

if sys.hexversion >= 0x2060000:
	import warnings

	with warnings.catch_warnings():
		warnings.filterwarnings('ignore', 'the sets module is deprecated', DeprecationWarning)

		import MySQLdb
else:
	import MySQLdb

if __name__ == '__main__':
	user = common.user()

	try:
		old_password = os.environ.get('OLD_PASSWORD')

		if old_password:
			with open(old_password, 'rb') as file:
				old_password = file.read()

		new_password = common.new_password()

		if admin.master():
			admin.passwd(user, old_password, new_password)
			
		admin.run(common.change_all(user, old_password, new_password) if old_password else common.reset_all(user, new_password))
	except (common.PasswordError, ldap.LDAPError, MySQLdb.MySQLError), error:
		admin.error(error)
	except (EOFError, KeyboardInterrupt):
		admin.eof()
