p4_report.py #1

  • //
  • guest/
  • benjamin_ma/
  • python-scripts/
  • p4_report.py
  • View
  • Commits
  • Open Download .zip Download (2 KB)
# Run this script under the System Account that owns / start Perforce, 
# which will be the local system account if it is running as a Windows Service 
# There are two ways that you can run this script:

# (a) As a trigger script, add the following line to the p4 triggers table  
#
# In Windows:
#
#   p4-report form-out client "C:\Python3\python.exe C:\p4-report.py %serverport% %serverhost% %serverip% %user%" 
#
# In *nix:
#
#   p4-report form-out client "/usr/bin/Python3 /users/Perforce/triggers/p4-report.py %serverport% %serverhost% %serverip% %user%" 
# 
# Or, (b) Run inside a command prompt / shell
#
# In Windows:
#
# Download and install psexec.exe from here:
#
#  http://technet.microsoft.com/en-au/sysinternals/bb897553.asp
#
# Start a Local System Acccount prompt in Administrator prompt:
#
#  psexec -i -s cmd.exe
# 
# In *nix:
#
# Simply run it using the unix account that owns / start the Perforce Server
#

import os
import sys
print("#############  p4-report  START ##################")

if len(sys.argv) > 4:
  print ("serverport=[ {0} ]  serverhost=[ {1} ]  serverip=[ {2} ]  user=[ {3} ]".format(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4]))
  print("\n")           

print ("P4USER = {0}".format(os.environ.get('P4UER')))
print ("P4PORT = {0}".format(os.environ.get('P4PORT')))
print ("P4CHARSET = {0}".format(os.environ.get('P4CHARSET')))
print ("P4TICKETS = {0}".format(os.environ.get('P4TICKETS')))

print("\n'p4 tickets' => \n{0}".format(os.popen("p4 tickets").read()))
print("\n'p4 info' => \n{0}".format(os.popen("p4 info").read()))

if sys.platform.startswith('linux'):
    print ("HOME = {0}".format(os.environ.get('HOME')))
    print("\n'p4 set' => \n{0}".format(os.popen('p4 set').read()))
elif sys.platform.startswith('win'):
    print ("USERPROFILE = {0}".format(os.environ.get('USERPROFILE')))
    print("\n'p4 set' => \n{0}".format(os.popen('p4 set -S Perforce').read()))

print("#############  p4-report END ##################\n\n")
# Change User Description Committed
#1 8804 benjamin_ma Based on the initial works ky my colleague Joel Kovisto