#!/usr/bin/env python #============================================================================== # Copyright and license info is available in the LICENSE file included with # the Server Deployment Package (SDP), and also available online: # https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE #------------------------------------------------------------------------------ """ 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: SDP_INSTANCE = str(sys.argv[1]) else: SDP_INSTANCE = '1' config = ConfigParser.RawConfigParser() config.read('maintenance.cfg') ########################################################################## ##### ##### ##### CONFIGURATION VARIABLES: Modify in maintenance.cfg as needed. ##### ##### ##### server = (config.get(SDP_INSTANCE, 'server')) p4user = (config.get(SDP_INSTANCE, 'p4user')) passwd = (config.get(SDP_INSTANCE, '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")