Added methods to GradingRecord Logic to facilitate creating/updating them.
UpdateOrCreateRecordsFor will batch put GradingRecords for a given SurveyGroup and StudentProject.
getFieldsForGradingRecord will return the fields that need to be set for a single GradingRecord entity given a StudentProject, GradingSurveyGroup and if it is an update a GradingRecord entity.
"""Utilities for XML generation/parsing."""from xml.sax.saxutils import XMLGeneratorclass SimplerXMLGenerator(XMLGenerator): def addQuickElement(self, name, contents=None, attrs=None): "Convenience method for adding an element with no children" if attrs is None: attrs = {} self.startElement(name, attrs) if contents is not None: self.characters(contents) self.endElement(name)