コード例 #1
0
def flush():
    ndb.delete_multi(School.query().fetch(keys_only=True))
    ndb.delete_multi(QuestionInstance.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Question.query().fetch(keys_only=True))
    ndb.delete_multi(State.query().fetch(keys_only=True))
    ndb.delete_multi(Address.query().fetch(keys_only=True))
    ndb.delete_multi(Teacher.query().fetch(keys_only=True))
    ndb.delete_multi(Class.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(Student.query().fetch(keys_only=True))
    ndb.delete_multi(UserInfo.query().fetch(keys_only=True))
    ndb.delete
    _multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment.query().fetch(keys_only=True))
    ndb.delete_multi(Subject.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Subject_Topics.query().fetch(keys_only=True))
    ndb.delete_multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Topic.query().fetch(keys_only=True))
    ndb.delete_multi(User.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(State_Types.query().fetch(keys_only=True))
コード例 #2
0
ファイル: dummydata3.py プロジェクト: anks315/Assesment2
def flush():
    ndb.delete_multi(School.query().fetch(keys_only=True))
    ndb.delete_multi(QuestionInstance.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Question.query().fetch(keys_only=True))
    ndb.delete_multi(State.query().fetch(keys_only=True))
    ndb.delete_multi(Address.query().fetch(keys_only=True))
    ndb.delete_multi(Teacher.query().fetch(keys_only=True))
    ndb.delete_multi(Class.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(Student.query().fetch(keys_only=True))
    ndb.delete_multi(UserInfo.query().fetch(keys_only=True))
    ndb.delete_multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment.query().fetch(keys_only=True))
    ndb.delete_multi(Subject.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(State_Questions.query().fetch(keys_only=True))
    ndb.delete_multi(Topic_States.query().fetch(keys_only=True))
    ndb.delete_multi(Subject_Topics.query().fetch(keys_only=True))
    ndb.delete_multi(Student_Assessments.query().fetch(keys_only=True))
    ndb.delete_multi(Topic.query().fetch(keys_only=True))
    ndb.delete_multi(User.query().fetch(keys_only=True))
    ndb.delete_multi(Assessment_Record.query().fetch(keys_only=True))
    ndb.delete_multi(State_Types.query().fetch(keys_only=True))
コード例 #3
0
ファイル: classes.py プロジェクト: shubashri/src
    def handleGetRequest(self):
        # get the recent 10 classes added to datastore
        q = Class.query(ancestor=CLASS_KEY)
        classes = q.order(-Class.created).fetch(20)

        # get the recent 10 class-categories added to datastore
        q = ClassCategory.query(ancestor=CLASS_CATEGORY_KEY)
        categories = q.order(-ClassCategory.created).fetch(20)

        self.addTemplateValue('classes', classes)
        self.addTemplateValue('categories', categories)

        self.setActivePage('Classes')
コード例 #4
0
 def testAttendAddFirstStudent(self):
   params = {'class_id': self.class_key.id(), 
             'student_id': self.student_key.id(), 
             'yes': 1, 'date': self.today_as_ordinal}
   response = self.testapp.get('/attend', params)
   self.assertEqual(response.status_int, 302)
   query = Class.query()
   results = query.fetch(2)
   self.assertEqual(1, len(results))
   self.assertEqual('Test Class', results[0].name)
   attendance_key = ndb.Key('Class', self.class_key.id(), 'Attendance', self.today_as_ordinal)
   attendance = attendance_key.get()
   self.assertEqual(1, len(attendance.attending))
   student_key = attendance.attending[0].student
   student = student_key.get()
   self.assertEqual('Joe', student.first_name)
   self.assertEqual('Smith', student.last_name)
コード例 #5
0
 def get(self):
   authz = Authorize()
   if not authz.authorize():
     self.error(403)
     return
   query = Class.query()
   # Max classes that can be handled is 50 per school
   classes = query.fetch(50)
   for the_class in classes:
     the_class.id = the_class.key.id()
   school = namespace_manager.google_apps_namespace()
   if not school: school = 'Test school'
   template_values = { 'classes': classes,
                       'school': school,
                       'username': authz.get_name(),
                       'logout': users.create_logout_url("/") }
   path = os.path.join(os.path.dirname(__file__), 'templates/classes.html')
   self.response.out.write(template.render(path, template_values))
コード例 #6
0
    def get(self):

        # CLEAR All
        query = Department.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = House.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Class.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Student.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        user = users.get_current_user()
        if user and users.is_current_user_admin():
            # Create houses
            houses = ['Gryffindor', 'Hufflepuff', 'Ravenclaw', 'Slytherin']
            for house in houses:
                House(house_name=house).put()

            # Create departments
            deps = [
                {
                    'code': 'CS',
                    'name': 'Computer Science'
                },
                {
                    'code': 'BA',
                    'name': 'Business Administration'
                },
                {
                    'code': 'PHY',
                    'name': 'Physics'
                },
                {
                    'code': 'MAT',
                    'name': 'Mathematics'
                },
                {
                    'code': 'DRA',
                    'name': 'Drama'
                },
                {
                    'code': 'ECE',
                    'name': 'Electrical Engineering'
                },
            ]
            for dep in deps:
                Department(id=dep['code'], dept_name=dep['name']).put()

            # Create 40 classes for department, update depts
            classes_count = 40
            for dept in deps:
                department_key = ndb.Key('Department', dept['code'])
                department_obj = department_key.get()
                for i in range(classes_count):
                    class_full_name = "%s - Class %d" % (dept['name'], i)
                    department = department_key
                    class_key = Class(id='%s-%d' % (dept['code'], i),
                                      class_full_name=class_full_name).put()
                    department_obj.classes.append(class_key)
                department_obj.put()

            # Create students
            students_count = 1000
            random.seed()
            all_classes = Class.query().fetch()
            all_houses = House.query().fetch()
            for i in range(students_count):
                house = random.choice(all_houses)
                house_key = house.key
                student_name = 'Student %d' % i
                student_year = random.randint(1, 4)
                current_classes = random.sample(all_classes, 5)
                current_classes_keys = [el.key for el in current_classes]
                all_classes_keys = [el.key for el in all_classes]
                leftovers = set(all_classes_keys) - set(current_classes_keys)
                completed_classes_keys = random.sample(leftovers,
                                                       6 * (student_year - 1))
                student_key = Student(student_name=student_name,
                                      student_year=student_year,
                                      current_classes=current_classes_keys,
                                      completed_classes=completed_classes_keys,
                                      house=house_key).put()
                house.students.append(student_key)
                for el in current_classes:
                    el.students_enrolled.append(student_key)
            # save new status of houses and current classes
            for house in all_houses:
                house.put()
            for current_class in all_classes:
                current_class.put()

        elif user and not users.is_current_user_admin():
            self.redirect(users.create_logout_url('/create_entries'))
        else:
            self.redirect(users.create_login_url('/create_entries'))
コード例 #7
0
    def get(self):

        # CLEAR All
        query = Department.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = House.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Class.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Student.query()
        entries = query.fetch()
        entry_keys = [entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        user = users.get_current_user()
        if user and users.is_current_user_admin():
            # Create houses
            houses = ["Gryffindor", "Hufflepuff", "Ravenclaw", "Slytherin"]
            for house in houses:
                House(house_name=house).put()

            # Create departments
            deps = [
                {"code": "CS", "name": "Computer Science"},
                {"code": "BA", "name": "Business Administration"},
                {"code": "PHY", "name": "Physics"},
                {"code": "MAT", "name": "Mathematics"},
                {"code": "DRA", "name": "Drama"},
                {"code": "ECE", "name": "Electrical Engineering"},
            ]
            for dep in deps:
                Department(id=dep["code"], dept_name=dep["name"]).put()

            # Create 40 classes for department, update depts
            classes_count = 40
            for dept in deps:
                department_key = ndb.Key("Department", dept["code"])
                department_obj = department_key.get()
                for i in range(classes_count):
                    class_full_name = "%s - Class %d" % (dept["name"], i)
                    department = department_key
                    class_key = Class(id="%s-%d" % (dept["code"], i), class_full_name=class_full_name).put()
                    department_obj.classes.append(class_key)
                department_obj.put()

            # Create students
            students_count = 1000
            random.seed()
            all_classes = Class.query().fetch()
            all_houses = House.query().fetch()
            for i in range(students_count):
                house = random.choice(all_houses)
                house_key = house.key
                student_name = "Student %d" % i
                student_year = random.randint(1, 4)
                current_classes = random.sample(all_classes, 5)
                current_classes_keys = [el.key for el in current_classes]
                all_classes_keys = [el.key for el in all_classes]
                leftovers = set(all_classes_keys) - set(current_classes_keys)
                completed_classes_keys = random.sample(leftovers, 6 * (student_year - 1))
                student_key = Student(
                    student_name=student_name,
                    student_year=student_year,
                    current_classes=current_classes_keys,
                    completed_classes=completed_classes_keys,
                    house=house_key,
                ).put()
                house.students.append(student_key)
                for el in current_classes:
                    el.students_enrolled.append(student_key)
            # save new status of houses and current classes
            for house in all_houses:
                house.put()
            for current_class in all_classes:
                current_class.put()

        elif user and not users.is_current_user_admin():
            self.redirect(users.create_logout_url("/create_entries"))
        else:
            self.redirect(users.create_login_url("/create_entries"))
コード例 #8
0
    def get(self):

        # CLEAR All
        query = Department.query()
        entries =query.fetch()
        entry_keys =[entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = House.query()
        entries =query.fetch()
        entry_keys =[entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Class.query()
        entries =query.fetch()
        entry_keys =[entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        query = Student.query()
        entries =query.fetch()
        entry_keys =[entry.key for entry in entries]
        ndb.delete_multi(entry_keys)

        user = users.get_current_user()
        if user and users.is_current_user_admin():
            # Create houses
            houses = ['Gryffindor', 'Hufflepuff', 'Ravenclaw', 'Slytherin']
            for house in houses:
                House(house_name=house).put()

            # Create departments
            deps = [
                {'code': 'CS', 'name': 'Computer Science'},
                {'code': 'BA', 'name': 'Business Administration'},
                {'code': 'PHY', 'name': 'Physics'},
                {'code': 'MAT', 'name': 'Mathematics'},
                {'code': 'DRA', 'name': 'Drama'},
                {'code': 'ECE', 'name': 'Electrical Engineering'},
            ]
            for dep in deps:
                Department(id = dep['code'], dept_name = dep['name']).put()

            # Create 40 classes for department, update depts
            classes_count = 40
            for dept in deps:
                department_key = ndb.Key('Department', dept['code'])
                department_obj = department_key.get()
                for i in range(classes_count):
                    class_full_name = "%s - Class %d" % (dept['name'] ,i)
                    class_key = Class(id='%s-%d'%(dept['code'], i),
                          class_full_name = class_full_name,
                        department = department_key).put()
                    department_obj.classes.append(class_key)
                department_obj.put()

            # Create students
            students_count = 1000
            random.seed()
            all_classes = Class.query().fetch()
            all_houses = House.query().fetch()
            for i in range(students_count):
                house = random.choice(all_houses)
                house_key = house.key
                student_name = 'Student %d'% i
                student_year = random.randint(1,4)
                current_classes = random.sample(all_classes, 5)
                current_classes_keys = [el.key for el in current_classes]
                all_classes_keys = [el.key for el in all_classes]
                leftovers = set(all_classes_keys) - set(current_classes_keys)
                completed_classes_keys = random.sample(leftovers, 6*(student_year-1))
                student_key = Student(
                    student_name = student_name,
                    student_year = student_year,
                    current_classes = current_classes_keys,
                    completed_classes = completed_classes_keys,
                    house = house_key).put()
                house.students.append(student_key)
                for el in current_classes:
                    el.students_enrolled.append(student_key)
            # save new status of houses and current classes
            for house in all_houses:
                house.put()
            for current_class in all_classes:
                current_class.put()

        elif user and not users.is_current_user_admin():
            self.redirect(users.create_logout_url('/create_entries'))
        else:
            self.redirect(users.create_login_url('/create_entries'))
コード例 #9
0
def get_class(class_name):
  qry = Class.query().filter(Class.name == class_name)
  return qry.fetch(1)