#!/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 makes sure that all Perforce users are in the limits group.
"""
import sys, os, string, re
instance=sys.argv[1]
LimitsFile = ("C:\\p4\\%s\\tmp\\limits.txt" % instance)
NewLimitsFile = ("C:\\p4\\%s\\tmp\\limits.new.txt" % instance)
UsersFile = ("C:\\p4\\%s\\tmp\\users.txt" % instance)
os.system("p4 group -o limits > %s" % LimitsFile)
os.system("p4 users > %s" % UsersFile)
users = open(UsersFile, "r")
limits = open(LimitsFile, "r")
output = open(NewLimitsFile, "w")
userlist = []
for user in users.readlines():
user = re.sub( r"<.*", r"", user )
user = user.strip()
if user != "":
userlist.append(user)
users.close()
for line in limits.readlines():
if line != "\n":
output.write(line)
limits.close()
for user in userlist:
output.write("\t%s\n" % user)
output.close()
os.system("p4 group -i < %s" % NewLimitsFile)
os.remove("%s" % UsersFile)
os.remove("%s" % LimitsFile)
os.remove("%s" % NewLimitsFile)