Example #1
0
def set_name(course_id, name):
    """ Set the name of a course."""
    assert isinstance(course_id, int)
    assert isinstance(name, str) or isinstance(name, unicode)
    run_sql("UPDATE courses SET title = %s WHERE course = %s;", [name, course_id])
    key = "course-%s-name" % course_id
    MC.delete(key)
Example #2
0
def add_perm(uid, course_id, perm):
    """ Assign a permission."""
    key = "permission-%s-super" % (uid, )
    MC.delete(key)
    run_sql(
        """INSERT INTO permissions (course, userid, permission)
               VALUES (%s, %s, %s) """, (course_id, uid, perm))
Example #3
0
def set_name(course_id, name):
    """ Set the name of a course."""
    assert isinstance(course_id, int)
    assert isinstance(name, str) or isinstance(name, unicode)
    incr_version()
    run_sql("UPDATE courses SET title=%s WHERE course=%s;", (name, course_id))
    key = "course-%s-name" % course_id
    MC.delete(key)
Example #4
0
def set_title(course_id, title):
    # type: (int, str) -> None
    """ Set the title of a course."""
    assert isinstance(course_id, int)
    assert isinstance(title, str) or isinstance(title, unicode)
    run_sql("UPDATE courses SET description = %s WHERE course = %s;",
            [title, course_id])
    key = "course-%s-title" % course_id
    MC.delete(key)
Example #5
0
def delete_perm(uid, group_id, perm):
    """Remove a permission. """
    key = "permission-%s-super" % (uid,)
    MC.delete(key)
    run_sql("""DELETE FROM permissions
               WHERE userid=%s
                 AND course=%s
                 AND permission=%s""",
            [uid, group_id, perm])
Example #6
0
def set_title(course_id, title):
    """ Set the title of a course."""
    assert isinstance(course_id, int)
    assert isinstance(title, str) or isinstance(title, unicode)
    incr_version()
    run_sql("UPDATE courses SET description=%s WHERE course=%s;",
            (title, course_id))
    key = "course-%s-title" % course_id
    MC.delete(key)
Example #7
0
def set_title(course_id, title):
    """ Set the title of a course."""
    assert isinstance(course_id, int)
    assert isinstance(title, str) or isinstance(title, unicode)
    incr_version()
    run_sql("UPDATE courses SET description=%s WHERE course=%s;",
            (title, course_id))
    key = "course-%s-title" % course_id
    MC.delete(key)
Example #8
0
def delete_perm(uid, group_id, perm):
    """Remove a permission. """
    key = "permission-%s-super" % (uid, )
    MC.delete(key)
    run_sql(
        """DELETE FROM permissions
               WHERE userid=%s
                 AND course=%s
                 AND permission=%s""", (uid, group_id, perm))
Example #9
0
def incr_version():
    """ Increment the course table version."""
    key = "coursetable-version"
    MC.delete(key)
    ret = run_sql("SELECT nextval('courses_version_seq');")
    if ret:
        MC.set(key, int(ret[0][0]))
        return int(ret[0][0])
    L.error("Error incrementing Courses version.")
    return -1
Example #10
0
def incr_version():
    """ Increment the course table version."""
    key = "coursetable-version"
    MC.delete(key)
    ret = run_sql("SELECT nextval('courses_version_seq');")
    if ret:
        MC.set(key, int(ret[0][0]))
        return int(ret[0][0])
    L.error("Error incrementing Courses version.")
    return -1
Example #11
0
def incr_version():
    """ Increment the user table version.
    """
    key = "userstable-version"
    MC.delete(key)
    ret = run_sql("SELECT nextval('users_version_seq');")
    if ret:
        MC.set(key, int(ret[0][0]))
        return int(ret[0][0])
    log(ERROR, "Error incrementing version.")
    return -1
Example #12
0
def set_active(course_id, active):
    """ Set the active flag of a course."""
    assert isinstance(course_id, int)
    assert isinstance(active, bool)
    if active:
        val = 1
    else:
        val = 0
    run_sql("UPDATE courses SET active=%s WHERE course=%s;", (val, course_id))
    incr_version()
    key = "course-%s-active" % course_id
    MC.delete(key)
    key = "courses-active"
    MC.delete(key)
Example #13
0
def set_active(course_id, active):
    """ Set the active flag of a course."""
    assert isinstance(course_id, int)
    assert isinstance(active, bool)
    if active:
        val = 1
    else:
        val = 0
    run_sql("UPDATE courses SET active=%s WHERE course=%s;", (val, course_id))
    incr_version()
    key = "course-%s-active" % course_id
    MC.delete(key)
    key = "courses-active"
    MC.delete(key)
Example #14
0
def create(name, description, owner, coursetype):
    """ Add a course to the database."""
    res = run_sql("""INSERT INTO courses (title, description, owner, type)
                     VALUES (%s, %s, %s, %s) RETURNING course;""",
                  (name, description, owner, coursetype))
    incr_version()
    key = "courses-active"
    MC.delete(key)
    key = "courses-all"
    MC.delete(key)
    if res:
        return int(res[0][0])
    L.error("create('%s','%s',%d,%d) Fail" % (name, description, owner, coursetype))
    return 0
Example #15
0
def create(name, description, owner, coursetype):
    """ Add a course to the database."""
    res = run_sql(
        """INSERT INTO courses (title, description, owner, type)
                     VALUES (%s, %s, %s, %s) RETURNING course;""",
        (name, description, owner, coursetype))
    incr_version()
    key = "courses-active"
    MC.delete(key)
    key = "courses-all"
    MC.delete(key)
    if res:
        return int(res[0][0])
    L.error("create('%s','%s',%d,%d) Fail" %
            (name, description, owner, coursetype))
    return 0
Example #16
0
def create(name, description, owner, coursetype):
    """ Add a course to the database."""
    conn = dbpool.begin()
    conn.run_sql("""INSERT INTO courses (title, description, owner, type)
                    VALUES (%s, %s, %s, %s);""",
                    (name, description, owner, coursetype))
    res = conn.run_sql("SELECT currval('courses_course_seq')")
    dbpool.commit(conn)
    incr_version()
    key = "courses-active"
    MC.delete(key)
    key = "courses-all"
    MC.delete(key)
    if res:
        return int(res[0][0])
    log(ERROR,
        "create('%s','%s',%d,%d) Fail" % (name, description, owner, coursetype))
    return 0
Example #17
0
def set_active(course_id, active):
    """ Set the active flag of a course.
        :param course_id: the course to alter
        :type course_id: int
        :param active: whether the course is active or not
        :type active: bool
    """
    assert isinstance(course_id, int)
    assert isinstance(active, bool)
    if active:
        val = 1
    else:
        val = 0
    run_sql("UPDATE courses SET active = %s WHERE course = %s;", [val, course_id])
    key = "course-%s-active" % course_id
    MC.delete(key)
    key = "courses-active"
    MC.delete(key)
Example #18
0
def add_perm(uid, course_id, perm):
    """ Assign a permission."""
    key = "permission-%s-super" % (uid,)
    MC.delete(key)
    run_sql("""INSERT INTO permissions (course, userid, permission)
               VALUES (%s, %s, %s) """, [course_id, uid, perm])