Report IV
Visualising results right away is useful, but sometimes you need to go back in time. So how about instead of printing the report, we write it to a file? Better yet, why not develop a plug-in to write the file such that it happens along with every publish?
└── logs
├── 20150612-112011.txt
├── 20150612-112021.txt
├── 20150612-112051.txt
├── 20150612-112118.txt
└── 20150612-112158.txtLet's get cracking.
import os
import datetime
import pyblish.api
class ArchiveValidation(pyblish.api.ContextPlugin):
# Run after all validators have finished
order = pyblish.api.ValidatorOrder + 0.1
def process(self, context):
formatted_results = self.format_results(context)
# Compute output directory
date = datetime.datetime.today().ctime()
date = pyblish.api.format_filename(date)
output_dir = os.path.join(os.path.expanduser("~"), "logs")
output_path = os.path.join(output_dir, date + ".txt")
# Write to disk
if not os.path.exists(output_dir):
os.makedirs(output_dir)
with open(output_path, "w") as f:
# E.g. c:\users\marcus\Documents\logs\20150612-110000.txt
f.write(formatted_report)We copy/paste the formatting from our previous example and chuck it into format_results, this time returning as opposed to printing.
Putting it all together, here is the full source code.
And the results can be found in your home directory.
Last updated
Was this helpful?