From 8c1eb0a911c4fe3c407c513fc55f04ab57310841 Mon Sep 17 00:00:00 2001 From: Michael Spang Date: Thu, 10 Sep 2009 14:40:17 -0400 Subject: [PATCH] Move some code --- ceo/ops.py | 21 +++++++++++++++++++++ src/op-mysql | 23 ++--------------------- 2 files changed, 23 insertions(+), 21 deletions(-) create mode 100644 ceo/ops.py diff --git a/ceo/ops.py b/ceo/ops.py new file mode 100644 index 0000000..66a8566 --- /dev/null +++ b/ceo/ops.py @@ -0,0 +1,21 @@ +import os, syslog, grp + +def response_message(response, status, message): + priority = syslog.LOG_ERR if status else syslog.LOG_INFO + syslog.syslog(priority, message) + msg = response.messages.add() + msg.status = status + msg.message = message + return status + +def get_ceo_user(): + user = os.environ.get('CEO_USER') + if not user: + raise Exception("environment variable CEO_USER not set"); + return user + +def check_group(user, group): + try: + return user in grp.getgrnam(group).gr_mem + except KeyError: + return False diff --git a/src/op-mysql b/src/op-mysql index 593005f..ba54358 100755 --- a/src/op-mysql +++ b/src/op-mysql @@ -1,7 +1,8 @@ #!/usr/bin/python import os, sys, string, random, syslog, grp, errno, re -from ceo import ceo_pb2, members, conf +from ceo import ceo_pb2, members, conf, ops +from ceo.ops import response_message, get_ceo_user, check_group import MySQLdb CONFIG_FILE = '/etc/csc/mysql.cf' @@ -20,30 +21,10 @@ def configure(): # update the current configuration with the loaded values cfg.update(cfg_tmp) -def response_message(response, status, message): - priority = syslog.LOG_ERR if status else syslog.LOG_INFO - syslog.syslog(priority, message) - msg = response.messages.add() - msg.status = status - msg.message = message - return status - def random_password(): chars = string.letters + string.digits return ''.join(random.choice(chars) for i in xrange(20)) -def get_ceo_user(): - user = os.environ.get('CEO_USER') - if not user: - raise Exception("environment variable CEO_USER not set"); - return user - -def check_group(user, group): - try: - return user in grp.getgrnam(group).gr_mem - except KeyError: - return False - def check_auth(remote_user, mysql_user, response): if remote_user == mysql_user: return response_message(response, 0, 'user %s creating database for self' % remote_user)