#!/usr/bin/python #------------------------------------------------------------------------------ # Copyright (c) 2007-2014 Perforce Software, Inc. Provided for use as defined in # the Perforce Consulting Services Agreement. #------------------------------------------------------------------------------ """ This script creates a list of email address for your users directly from their Perforce user accounts. It is intended to be used as part of email.bat, but can be used with any mail program that can read addresses from a list. """ import os import re import string import sys import time import platform import ConfigParser if len(sys.argv) > 1: P4INSTANCE = str(sys.argv[1]) else: P4INSTANCE = '1' config = ConfigParser.RawConfigParser() config.read('maintenance.cfg') ########################################################################## ##### ##### ##### CONFIGURATION VARIABLES: Modify in maintenance.cfg as needed. ##### ##### ##### server = (config.get(P4INSTANCE, 'server')) p4user = (config.get(P4INSTANCE, 'p4user')) passwd = (config.get(P4INSTANCE, 'passwd')) if platform.system() == "Windows": p4="p4.exe -p %s -u %s" % (server, p4user) else: p4="/p4/1/bin/p4_1 -p %s -u %s" % (server, p4user) os.system('echo %s| %s login' % (passwd, p4)) os.system("%s users > p4users.txt" % p4) input = open( "p4users.txt", "r" ) output = open( "emaillist.txt", "w" ) for line in input.readlines(): line = line.strip() line = re.sub( r".*<", r"", line ) line = re.sub( r">.*", r"", line ) output.write( line + "\n") input.close() output.close() os.remove("p4users.txt")