示例#1
0
def get_offer_list(folder_id = None):

    if folder_id is None:
        folders_query=Folder.list()
    else:
        folders_query = []
        f = Folder.get_by_id(int(folder_id))
        if f:
            folders_query.append(f)
    
    courses_query=Course.list_for_enroll()  

    folders= set([])
    courses = []
    result = []
    for course in courses_query:
        folders.add(course.folder_key)
        courses.append(course)

    logging.info(folders)
    logging.info(courses)

    for folder in folders_query:
        fk = str(folder.key())
        logging.info('fk:%s'%fk)
        if fk in folders:
            logging.info('in')
            sub_list = [c for c in courses if fk==c.folder_key] 
            result.append({'folder':folder, 'courses':sub_list })
            pass
    return result
示例#2
0
def get_offer_list2():
    courses_query=Course.list_for_enroll()  
    folder_courses= dict()
    result = []
    for course in courses_query:
        folder_courses.setdefault(course.folder_key,[]).append(course)         

    result=[]
    folders_query=Folder.list()
    for folder in folders_query:
        if str(folder.key()) in folder_courses:
            result.append({'folder':folder, 'courses':folder_courses[str(folder.key())]})
            
    logging.info(result)
   
    return result