#!/usr/bin/python #------------------------------------------------------------------------------ # Copyright (c) 2007-2014 Perforce Software, Inc. Provided for use as defined in # the Perforce Consulting Services Agreement. #------------------------------------------------------------------------------ """ This script will unload labels that have not been accessed since the number of weeks specified in the removedate string below. """ import os import datetime import platform import sys 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')) weeks = int(config.get(P4INSTANCE, 'weeks')) 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) def main(): removedate = (datetime.date.today() - datetime.timedelta(weeks)).strftime("%Y/%m/%d") command = ('%s unload -f -L -z -al -d %s') % (p4, removedate) os.system(command) ############################################################################### # main if __name__ == '__main__': main()