Course: Comp 467 — Spring 2026
This script translates a Baselight color grading export into Xytech-compatible frame mark data. It reads facility locations from an Xytech workorder, maps the Baselight filesystem paths to their Xytech equivalents, compresses raw frame numbers into ranges, and writes the result to a CSV.
| File | Description |
|---|---|
project1_import_export.py |
Main script |
Xytech_spring2026.txt |
Xytech workorder with facility locations |
Baselight_export_spring2026.txt |
Baselight export with paths and frame numbers |
output.csv |
Generated output (path, frame ranges) |
python3 project1_import_export.py [xytech_file] [baselight_file] [output_csv]Default filenames are used when arguments are omitted:
python3 project1_import_export.pyCSV (output.csv) — two columns per row:
/hpsans16/production/SuperMarioBros/reel1/partA/1920x1080,"27-29,60,222-223,255,1023,1111-1112,..."
Console summary — individual frame count and range count per path, plus total CSV line count:
/hpsans16/production/.../1920x1080 Individual: 5 Ranges: 8
Total CSV lines: 7
- Parse Xytech — extracts the list of facility paths under the
Location:section. - Parse Baselight — reads each line as
<path> <frame1> <frame2> ..., grouping all frames per path. - Map paths — anchors on the show name (
SuperMarioBros) to strip the Baselight filesystem prefix and look up the matching Xytech path. - Compress frames — sorts and deduplicates frame numbers, then collapses consecutive runs into
start-endranges. - Write CSV — one row per unique Baselight path.
- Python 3.10+
- No external dependencies