Ejemplo n.º 1
0
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}) 
Ejemplo n.º 2
0
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}) 
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
 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)    
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
 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)