{"push_id":1096985017,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"c299bd1ab41a7c5e822d2f59b071588e691fc2cd","before":"9ee46cacdfb5a955d3edf919045cc3369454f2ad","commits":[{"sha":"c299bd1ab41a7c5e822d2f59b071588e691fc2cd","author":{"email":"6bb5a335b0b6c251e818c0de653d342158f949f9@instructure.com","name":"Alex Boyd"},"message":"DRY up filename computation and make names path safe\n\nFixes CNVS-28419, CNVS-28880\n\nTest plan:\n - Turn on content exports\n - Make a course whose name is \"foo / bar baz\"\n - Pull up /epub_exports\n - Generate or regnerate a course export\n - Ensure the export succeeds\n - click \"Download Associated Files\"\n - Ensure the downloaded file's name is \"foo-bar-baz-*.zip\",\n   where * is a timestamp of the form\n   yyyy-mm-dd_hh-mm-ss\n\nChange-Id: If232e588841955c0ad851905fbbc3f904df302f0\nReviewed-on: https://gerrit.instructure.com/78144\nTested-by: Jenkins\nReviewed-by: Jeremy Stanley <jeremy@instructure.com>\nQA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>\nProduct-Review: Alex Boyd <aboyd@instructure.com>","distinct":true,"url":"https://api.github.com/repos/instructure/canvas-lms/commits/c299bd1ab41a7c5e822d2f59b071588e691fc2cd"}]}