예제 #1
0
	def get(self):
		self.response.headers['Content-Type'] = 'text/html'
		# URL that will contain a login or logout link
		# and also a string to represent this
		url = ''
		url_string = ''
		welcome = 'Welcome back'
		eletronicvehicle = ''
		template_values = ''
		list = ''
		# pull the current user from the request
		user = users.get_current_user()

		# determine if we have a user logged in or not
		if user:
			url = users.create_logout_url(self.request.uri)
			url_string = 'logout'
			#list = EleVhe.query(EleVhe.email_address == user.email()).fetch()
			EletronicVehicle_key = ndb.Key('EleVhe', user.user_id())
			eletronicvehicle = EletronicVehicle_key.get()
			query = EleVhe.query(EleVhe.email_address == user.email()).get() #Query To GetUser Email Address

			if eletronicvehicle == '' and query== None:
				welcome = 'Welcome to  the Application'
				eletronicvehicle = EleVhe(id=user.user_id())
				eletronicvehicle = EleVhe(email_address=user.email())
				#eletronicvehicle.put()
			else:
				welcome = 'Welcome Back'
				eletronicvehicle = EleVhe(email_address=user.email())

		else:
			url = users.create_login_url(self.request.uri)
			url_string = 'login'

		list = EleVhe.query().fetch()
		# generate a map that contains everything that we need to pass to the template
		template_values = {
		'url' : url,
		'url_string' : url_string,
		'user' : user,
		'welcome' : welcome,
		'eletronicvehicle' : eletronicvehicle,
		'showList' : list
		}

		# pull the template file and ask jinja to render
		# it with the given template values
		template = JINJA_ENVIRONMENT.get_template('search.html')
		#template = JINJA_ENVIRONMENT.get_template('addEVDetails.html')
		self.response.write(template.render(template_values))
예제 #2
0
 def post(self):
     self.response.headers['Content-Type'] = 'text/html'
     if self.request.get('button') == 'Add':
         user = users.get_current_user()
         if user:
             EletronicVehicle_key = ndb.Key('EleVhe', user.user_id())
             eletronicvehicle = EletronicVehicle_key.get()
             eletronicvehicle = EleVhe(
                 name=self.request.get('name').strip(),
                 manufacturer=self.request.get('manufacturer').strip(),
                 year=int(self.request.get('year').strip()),
                 btrysize=int(self.request.get('btrysize').strip()),
                 wltprng=int(self.request.get('wltprng').strip()),
                 power=int(self.request.get('power').strip()),
                 cost=int(self.request.get('cost').strip()),
                 email_address=user.email().strip())
             #query = eletronicvehicle.all().filter("email_address="user.email()).filter("name=",self.request.get('name')).filter("manufacturer=",self.request.get('manufacturer')).filter("year=",self.request.get('year'))
             #query=EleVhe.query(ndb.AND(EleVhe.email_address==user.email(),EleVhe.name==eletronicvehicle.name,EleVhe.manufacturer==eletronicvehicle.manufacturer,EleVhe.year==eletronicvehicle.year))
             query = EleVhe.query(
                 ndb.AND(
                     EleVhe.name == eletronicvehicle.name,
                     EleVhe.manufacturer == eletronicvehicle.manufacturer,
                     EleVhe.year == eletronicvehicle.year))
             if query.count() == 0:
                 welcome = "Details Entered"
                 eletronicvehicle.put()
             else:
                 #Code to display error box to user Using Ctypes Library Which Comes with Python Installation
                 print("Details Found")
         self.redirect('/')
     elif self.request.get('button') == 'Cancel':
         self.redirect('/')
예제 #3
0
    def get(self):
        self.response.headers['Content-Type'] = 'text/html'
        url = ''
        url_string = ''
        list1 = ''
        eletronicvehicle = ''
        EletronicVehicle_key = ''
        user = users.get_current_user()
        #list1=self.request.get('key').strip("Key()").split(",")
        list1 = int(self.request.get('key'))
        if (self.request.get('message') != ''):
            message = self.request.get('message')
        else:
            message = ''
        list = ''
        listr = ''
        avgl = []
        avg = 0.0
        EletronicVehicle_key = ndb.Key('EleVhe', list1)
        list = EleVhe.query(EleVhe.key == EletronicVehicle_key).fetch()
        listr = Reviews.query(
            Reviews.vehicle_id == list1).order(-Reviews.sequence).fetch()
        for i in listr:
            avgl.append(i.rating)
            avg += int(i.rating)
        if len(avgl) > 0:
            avg = avg / len(avgl)
        else:
            avg = 0
        if user:
            EletronicVehicle_key1 = ndb.Key('EleVhe', user.user_id())
            eletronicvehicle = EletronicVehicle_key1.get()
            eletronicvehicle = EleVhe(email_address=user.email())

            url = users.create_logout_url(self.request.uri)
            url_string = 'logout'
            #list1=eletronicvehicle
        else:
            url = users.create_login_url(self.request.uri)
            url_string = 'login'

        template_values = {
            'url': url,
            'url_string': url_string,
            'user': user,
            'showList': list,
            'Review': listr,
            'Avg': avg,
            'message': message,
            'list1': list1,
            'eletronicvehicle': eletronicvehicle
        }

        template = JINJA_ENVIRONMENT.get_template('Review.html')
        self.response.write(template.render(template_values))
예제 #4
0
    def post(self):
        self.response.headers['Content-Type'] = 'text/html'
        if self.request.get('button') == 'Update':
            user = users.get_current_user()
            url = ''
            url_string = ''
            list1 = ''
            eletronicvehicle = ''
            emial_address = ''
            EletronicVehicle_key = ''
            if user:
                EletronicVehicle_key = ndb.Key(
                    'EleVhe', int(self.request.get('edit_key')))
                eletronicvehicle = EletronicVehicle_key.get()
                name = self.request.get('name')
                manufacturer = self.request.get('manufacturer')
                year = int(self.request.get('year'))
                btrysize = int(self.request.get('btrysize'))
                wltprng = int(self.request.get('wltprng'))
                power = int(self.request.get('power'))
                cost = int(self.request.get('cost'))
                email_address = self.request.get('email_address')

                eletronicvehicle.name = self.request.get('name')
                eletronicvehicle.manufacturer = self.request.get(
                    'manufacturer')
                eletronicvehicle.year = int(self.request.get('year'))
                eletronicvehicle.btrysize = int(self.request.get('btrysize'))
                eletronicvehicle.wltprng = int(self.request.get('wltprng'))
                eletronicvehicle.power = int(self.request.get('power'))
                eletronicvehicle.cost = int(self.request.get('cost'))
                #eletronicvehicle.email_address = self.request.get('email_address')
                #query = eletronicvehicle.all().filter("email_address="user.email()).filter("name=",self.request.get('name')).filter("manufacturer=",self.request.get('manufacturer')).filter("year=",self.request.get('year'))
                #query=EleVhe.query(ndb.AND(EleVhe.email_address==email_address,EleVhe.name==name,EleVhe.manufacturer==manufacturer,EleVhe.year==year,EleVhe.key!=EletronicVehicle_key))
                query = EleVhe.query(
                    ndb.AND(EleVhe.name == name,
                            EleVhe.manufacturer == manufacturer,
                            EleVhe.year == year,
                            EleVhe.key != EletronicVehicle_key))
                if query.count() >= 1:
                    welcome = "Details Already Entered"
                    #eletronicvehicle.put()
                else:
                    #Code to display error box to user Using Ctypes Library Which Comes with Python Installation
                    #print("Details Found")
                    eletronicvehicle.put()
            self.redirect('/')
        elif self.request.get('button') == 'Cancel':
            self.redirect('/')
예제 #5
0
 def post(self):
     self.response.headers['Content-Type'] = 'text/html'
     if self.request.get('button') == 'Save':
         url = ''
         url_string = ''
         list1 = ''
         eletronicvehicle = ''
         EletronicVehicle_key = ''
         message = ''
         review = ''
         user = users.get_current_user()
         #list1=self.request.get('key').strip("Key()").split(",")
         list1 = int(self.request.get('hiddenid').strip())
         message = self.request.get('message')
         message = ''
         list = ''
         listr = ''
         avgl = []
         avg = 0
         rcnt = ''
         EletronicVehicle_key = ndb.Key('EleVhe', list1)
         list = EleVhe.query(EleVhe.key == EletronicVehicle_key).fetch()
         user = users.get_current_user()
         if user:
             EletronicVehicle_key = ndb.Key('EleVhe', user.user_id())
             eletronicvehicle = EletronicVehicle_key.get()
             eletronicvehicle = EleVhe(email_address=user.email())
             listr = Reviews.query(Reviews.vehicle_id == list1)
             rcnt = listr.count()
             review = Reviews(
                 review=self.request.get('review').strip(),
                 rating=int(self.request.get('rating').strip()),
                 vehicle_id=int(self.request.get('hiddenid').strip()),
                 email_address=user.email().strip(),
                 sequence=rcnt)
             if len(self.request.get('review').strip()) <= 1000:
                 review.put()
             else:
                 self.redirect('/?message=Review Length Exceeds')
         else:
             url = users.create_login_url(self.request.uri)
             url_string = 'login'
         self.redirect('/')
     elif self.request.get('button') == 'Cancel':
         self.redirect('/')
예제 #6
0
	def get(self):
		self.response.headers['Content-Type'] = 'text/html'
		url=''
		url_string=''
		list1=''
		eletronicvehicle=''
		EletronicVehicle_key=''
		user = users.get_current_user()
		#list1=self.request.get('key').strip("Key()").split(",")
		list1=int(self.request.get('key'))
		list=''
		if user:
			EletronicVehicle_key = ndb.Key('EleVhe',list1 )
			EletronicVehicle_key1 = ndb.Key('EleVhe', user.user_id())
			eletronicvehicle = EletronicVehicle_key1.get()
			eletronicvehicle=EleVhe(email_address=user.email())

			url=users.create_logout_url(self.request.uri)
			url_string='logout'
			list=EleVhe.query(EleVhe.key==EletronicVehicle_key).fetch()
			#list1=eletronicvehicle
		else:
			url = users.create_login_url(self.request.uri)
			url_string = 'login'

		template_values = {
			'url':url,
			'url_string':url_string,
			'user' : user,
			'showList':list,
			'list1':EletronicVehicle_key,
            'eletronicvehicle' : eletronicvehicle
		}


		template = JINJA_ENVIRONMENT.get_template('delete.html')
		self.response.write(template.render(template_values))
예제 #7
0
	def post(self):
		self.response.headers['Content-Type'] = "text/html"


		if self.request.get('button') =="Search":
			url = ''
			url_string = ''
			welcome = 'Welcome back'
			eletronicvehicle = ''
			list = ''
			list1=''
			name=''
			email_address=''
			manufacturer=''
			year=0 #min value of year
			year1=0 #max value of year
			btrysize=0 #min value of betery size
			btrysize1=0 #max value of betery size
			wltprng=0 #min value of WLTP range
			wltprng1=0 #max value of WLTP range
			cost=0 #min value of cost
			cost1=0 #max value of cost1
			power=0 #min value of Power
			power1=0 #max value of Power

			template_values=''

			user = users.get_current_user()

			if user:
				url = users.create_logout_url(self.request.uri)
				url_string = 'logout'
				EletronicVehicle_key = ndb.Key('EleVhe', user.user_id())
				eletronicvehicle = EletronicVehicle_key.get()
				query = EleVhe.query(EleVhe.email_address == user.email()).get()

				if eletronicvehicle == '' and query== None:
					welcome = 'Welcome to  the Application'
					eletronicvehicle = EleVhe(id=user.user_id())
					eletronicvehicle = EleVhe(email_address=user.email())
				else:
					welcome = 'Welcome Back'
					eletronicvehicle = EleVhe(email_address=user.email())
			else:
				url = users.create_login_url(self.request.uri)
				url_string = 'login'

			#print("--------"+self.request.get('name'))
			list = EleVhe.query()

			if(self.request.get('name').strip() != '' and self.request.get('name').strip() != None):
				name = self.request.get('name').strip()
			if(self.request.get('manufacturer').strip() !='' and self.request.get('manufacturer').strip() != None ):
				manufacturer = self.request.get('manufacturer').strip()
			if(self.request.get('year').strip() !='' and self.request.get('year').strip() != None ):
				year = int(self.request.get('year'))
			if(self.request.get('year1').strip() !='' and self.request.get('year1').strip() != None ):
				year1 = int(self.request.get('year1'))
			if(self.request.get('btrysize').strip() != '' and self.request.get('btrysize').strip() != None):
				btrysize = int(self.request.get('btrysize'))
			if(self.request.get('btrysize1').strip() != '' and self.request.get('btrysize1').strip() != None):
				btrysize1 = int(self.request.get('btrysize1'))
			if(self.request.get('wltprng').strip() != '' and self.request.get('wltprng').strip() != None):
				wltprng = int(self.request.get('wltprng'))
			if(self.request.get('wltprng1').strip() != '' and self.request.get('wltprng1').strip() != None):
				wltprng1 = int(self.request.get('wltprng1'))
			if(self.request.get('power').strip() != '' and self.request.get('power').strip() != None):
				power = int(self.request.get('power'))
			if(self.request.get('power1').strip() != '' and self.request.get('power1').strip() != None):
				power1 = int(self.request.get('power1'))
			if(self.request.get('cost').strip() != '' and self.request.get('cost').strip() != None):
				cost = int(self.request.get('cost'))
			if(self.request.get('cost1').strip() != '' and self.request.get('cost1').strip() != None):
				cost1 = int(self.request.get('cost1'))
			if(self.request.get('email_address').strip() != '' and self.request.get('email_address').strip() != None):
				email_address = self.request.get('email_address').strip()


			if( name=='' and manufacturer == '' and email_address =='' and year == 0 and year1 == 0 and btrysize == 0 and btrysize1 == 0 and wltprng == 0 and wltprng1 == 0 and power == 0 and power1 == 0 and cost == 0 and cost1 == 0 ):
				#list1 = type(cost)
				list = list.filter()
			else:
				#list1= cost
				list = list.filter(ndb.OR(EleVhe.name == name,EleVhe.manufacturer == manufacturer,ndb.AND(EleVhe.year >= year,EleVhe.year <= year1),ndb.AND(EleVhe.btrysize >= btrysize,EleVhe.btrysize <= btrysize1),ndb.AND(EleVhe.wltprng >= wltprng,EleVhe.wltprng <= wltprng1),ndb.AND(EleVhe.power >= power,EleVhe.power <= power1),ndb.AND(EleVhe.cost >= cost,EleVhe.cost <= cost1),EleVhe.email_address == email_address))

			#list1 = list
			list = list.fetch()

			#list1 = list

			template_values={
			'url' : url,
			'url_string' : url_string,
			'user' : user,
			'welcome' : welcome,
			'eletronicvehicle' : eletronicvehicle,
			'showList' : list,
			'list1' : list1
			}

			template = JINJA_ENVIRONMENT.get_template('search.html')
			self.response.write(template.render(template_values))
    def post(self):
        self.response.headers['Content-Type'] = 'text/html'
        ids=''
        list1=''
        listr=''
        l1=[]
        l2=[]
        cost=[]
        maxcost=0
        wltp=[]
        maxwltp=0
        power=[]
        maxpower=0
        btrysize=[]
        avgrating=[]
        maxavg=0
        maxbtry=0
        list2=''
        list = EleVhe.query()
        if self.request.get('button') == 'Compare':
            for i in range(list.count()):
                if(self.request.get("check_"+str(i))):
                    #l1.append(ndb.Key('EleVhe', self.request.get("check_"+str(i)).strip()))
                    l1.append(int(self.request.get("check_"+str(i)).strip()))

            if len(l1)<2:
                self.redirect('/')
            else:
                for j in range(len(l1)):
                    list1=EleVhe.query(EleVhe.key==ndb.Key('EleVhe',l1[j]))
                    c=0
                    avg=0.0
                    listr=Reviews.query(Reviews.vehicle_id==l1[j]).fetch()
                    for m in listr:
                        c+=1
                        avg+=int(m.rating)
                    if c>0:
                        avg=avg/c
                    else:
                        avg=0
                    avgrating.append(avg)
                    l2.append(list1.fetch())
                    #l2.append(avg)
                for k in l2:
                    for l in k:
                        cost.append(l.cost)
                        wltp.append(l.wltprng)
                        power.append(l.power)
                        btrysize.append(l.btrysize)
                maxcost=max(cost)
                maxwltp=max(wltp)
                maxpower=max(power)
                maxbtry=max(btrysize)
                maxavg=max(avgrating)
        template_values={
            'showList':l2,
            'cost':maxcost,
            'list1':list2,
            'wltp': maxwltp,
            'power':maxpower,
            'btrysize':maxbtry,
            'avgrat':maxavg,
            'avgratl':avgrating
        }
        template = JINJA_ENVIRONMENT.get_template('compare.html')
        #template = JINJA_ENVIRONMENT.get_template('addEVDetails.html')
        self.response.write(template.render(template_values))