def api_obj_set_attribute(ctx, api_obj, attr_name, attr_value): valid_attrs = [attr for attr in list(api_obj._api_attributes.values()) if attr.editable] valid_attrs_names = [attr.name for attr in valid_attrs] if attr_name not in valid_attrs_names: print("ERROR: '%s' is not a valid attribute." % attr_name) print("Valid attributes are: %s" % (", ".join(valid_attrs_names))) ctx.exit(CHISUBMIT_FAIL) attr = api_obj._api_attributes[attr_name] if attr.type.attrtype == AttributeType.STRING: v = attr_value elif attr.type.attrtype == AttributeType.INTEGER: v = int(attr_value) elif attr.type.attrtype == AttributeType.BOOLEAN: v = (attr_value in ("true", "True")) elif attr.type.attrtype == AttributeType.TIMEDELTA: v = parse_timedelta(attr_value) elif attr.type.attrtype == AttributeType.DATETIME: v = parse(attr_value) if v.tzinfo is None: v = convert_datetime_to_utc(v) else: print("ERROR: Editing attribute '%s' from the command-line is not currently supported." % attr_name) ctx.exit(CHISUBMIT_FAIL) api_obj.edit(**{attr_name: v})
def api_obj_set_attribute(ctx, api_obj, attr_name, attr_value): valid_attrs = [attr for attr in api_obj._api_attributes.values() if attr.editable] valid_attrs_names = [attr.name for attr in valid_attrs] if attr_name not in valid_attrs_names: print "ERROR: '%s' is not a valid attribute." % attr_name print "Valid attributes are: %s" % (", ".join(valid_attrs_names)) ctx.exit(CHISUBMIT_FAIL) attr = api_obj._api_attributes[attr_name] if attr.type.attrtype == AttributeType.STRING: v = attr_value elif attr.type.attrtype == AttributeType.INTEGER: v = int(attr_value) elif attr.type.attrtype == AttributeType.BOOLEAN: v = (attr_value in ("true", "True")) elif attr.type.attrtype == AttributeType.TIMEDELTA: v = parse_timedelta(attr_value) elif attr.type.attrtype == AttributeType.DATETIME: v = parse(attr_value) if v.tzinfo is None: v = convert_datetime_to_utc(v) else: print "ERROR: Editing attribute '%s' from the command-line is not currently supported." % attr_name ctx.exit(CHISUBMIT_FAIL) api_obj.edit(**{attr_name: v})
def __init__(self, *args, **kwargs): if kwargs.has_key("submitted_at"): if kwargs["submitted_at"] is not None and not hasattr( kwargs["submitted_at"], 'isoformat'): kwargs["submitted_at"] = convert_datetime_to_utc( parser.parse(kwargs['submitted_at'])) super(AssignmentTeam, self).__init__(*args, **kwargs)
def instructor_assignment_add(ctx, course, assignment_id, name, deadline): deadline = convert_datetime_to_utc(deadline) assignment = Assignment(id = assignment_id, name = name, deadline = deadline, course_id = course.id) return CHISUBMIT_SUCCESS
def instructor_assignment_add(ctx, course, assignment_id, name, deadline): deadline = convert_datetime_to_utc(deadline) course.create_assignment(assignment_id, name, deadline) return CHISUBMIT_SUCCESS
def __init__(self, *args, **kwargs): if kwargs.has_key("submitted_at"): if kwargs["submitted_at"] is not None and not hasattr(kwargs["submitted_at"], 'isoformat'): kwargs["submitted_at"] = convert_datetime_to_utc(parser.parse(kwargs['submitted_at'])) super(AssignmentTeam, self).__init__(*args, **kwargs)
def __init__(self, *args, **kwargs): if kwargs.has_key("deadline"): if not hasattr(kwargs["deadline"], 'isoformat'): kwargs["deadline"] = convert_datetime_to_utc(parser.parse(kwargs['deadline'])) super(Assignment, self).__init__(*args, **kwargs)