fstat2csv.py #1

  • //
  • guest/
  • sam_stafford/
  • scripts/
  • fstat2csv.py
  • View
  • Commits
  • Open Download .zip Download (837 B)
from P4 import P4
from argparse import ArgumentParser
from csv import DictWriter
from sys import stdout

parser = ArgumentParser(description='Dump fstat data into CSV format.')
parser.add_argument('files', nargs='+', help='Perforce file path(s)')
parser.add_argument('--output', '-o', help='Output file (default stdout)')
parser.add_argument(
    '--archive', help='Fetch archive data (requires admin permission)',
    dest='flags', action='append_const', const='b'
)
args = parser.parse_args()
args.flags = args.flags or []

with P4().connect() as p4:
    fstats = p4.run_fstat(f"-Oals{''.join(args.flags)}", args.files)
tags = sorted({tag for row in fstats for tag in row})

with open(args.output, "w", newline='') if args.output else stdout as f:
    writer = DictWriter(f, tags)
    writer.writeheader()
    writer.writerows(fstats)
# Change User Description Committed
#1 28434 Sam Stafford Script to dump fstat metadata into CSV format, with sample output.