예제 #1
0
파일: main.py 프로젝트: HeadShotBoom/DPWP
    def get(self):
        # Establishes p as referring to the Page class
        p = Page()
        # p.title uses the title setter in the Page class to set the value of title, the line below is similar
        p.title = "Encapsulated Calculator"
        p.css = "css/styles.css"

        # c1 uses the Cameras class to assemble an object with the following attributes and sets their values
        # c2=c5 is identical in function
        c1 = Cameras()
        c1.name = "Canon 5d3"
        c1.body_cost = 3000
        c1.lens_cost = 5000
        c1.accessories_cost = 1000
        c1.quality = "High"
        c1.calc_value()

        c2 = Cameras()
        c2.name = "Nikon D800"
        c2.body_cost = 2500
        c2.lens_cost = 1500
        c2.accessories_cost = 200
        c2.quality = "Low"
        c2.calc_value()

        c3 = Cameras()
        c3.name = "Leica M9"
        c3.body_cost = 100
        c3.lens_cost = 500
        c3.accessories_cost = 100
        c3.quality = "Medium"
        c3.calc_value()

        c4 = Cameras()
        c4.name = "Pentax MX1"
        c4.body_cost = 2000
        c4.lens_cost = 200
        c4.accessories_cost = 50
        c4.quality = "High"
        c4.calc_value()

        c5 = Cameras()
        c5.name = "GoPro Hero5 Platinum"
        c5.body_cost = 10000
        c5.lens_cost = 0
        c5.accessories_cost = 10
        c5.quality = "Low"
        c5.calc_value()

        # This establishes a variable that consolisates all c1-c5 objects
        all_these_cameras = [c1, c2, c3, c4, c5]


        # Checks if there is an instance of "cameras" in the request pushed from the browser
        if "cameras" in self.request.GET:
            # Uses a value in the request to determine which cX object I am requesting
            # and sets just that object to the current_camera variable in Page class.
            p.current_camera = all_these_cameras[int(self.request.GET["cameras"])]
            # Writes the entire contents of whole_page variable in Page class to the browser
            self.response.write(p.whole_page)
        else:
            # Writes the info to the browser even if a request hasnt been made.
            self.response.write(p.whole_page)