def update_project_skills(self): id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) p.skills = self['project_skills'].split( ',') if self['project_skills'] else [] p.put()
def update_project(self, image_key): id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) p.title = self['project_title'] p.description = self['description'] p.skills = self['project_skills'].split(',') if self['project_skills'] else [] p.end_date = datetime.strptime(str(self['project_end_date']), "%Y-%m-%d").date() p.bid = float(self['project_bid']) if p.image: delete_image(p.image) p.image = image_key p.put()
def get(self): path = 'startups_search_results.html' project_id = long(self['project_id']) project = Project.get_by_id(project_id) skills = project.skills q = Company.all() sorted_companies = {} for c in q.fetch(50): expertise_dict = convert_string_list_to_dict(c.expertise_avg) score = 0.0 matched_skills = 0.0 fit = 0.0 id = c.key().id() sorted_companies[id] = {} sorted_companies[id]['name'] = c.name sorted_companies[id]['influence'] = c.influence_avg sorted_companies[id]['skills'] = [] if skills: for skill in skills: skill = str(skill) if skill in expertise_dict: skill_dict = { 'name': skill, 'value': float(expertise_dict[skill]) } score += float(expertise_dict[skill]) matched_skills += 1 else: skill_dict = {'name': skill, 'value': 0.0} sorted_companies[id]['skills'].append(skill_dict) score = float(score / len(skills)) fit = float(matched_skills / len(skills)) if matched_skills > 0.0 else 0.0 sorted_companies[id]['combined'] = score sorted_companies[id]['fit'] = fit donuts = (len(skills) if skills else 0) + 3 sorted_companies = sorted(sorted_companies.iteritems(), key=lambda (k, v): v['combined'], reverse=True) donut_size = 80 - (5 * donuts) score_font_size = 40 - (2.25 * donuts) tooltip_font_size = 14 - donuts template_values = { 'startups': sorted_companies, 'skills': skills, 'donut_size': donut_size, 'score_font_size': score_font_size, 'tooltip_font_size': tooltip_font_size } self.write(self.get_rendered_html(path, template_values), 200)
def update_project(self, image_key): id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) p.title = self['project_title'] p.description = self['description'] p.skills = self['project_skills'].split( ',') if self['project_skills'] else [] p.end_date = datetime.strptime(str(self['project_end_date']), "%Y-%m-%d").date() p.bid = float(self['project_bid']) if p.image: delete_image(p.image) p.image = image_key p.put()
def get(self): path = 'project_edit.html' template_values = {} template_values['duration_options'] = DURATION_OPTIONS template_values['skills'] = get_skills_json() template_values['form_url'] = blobstore.create_upload_url('/api/projects/update_project') project = {} id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) project['id'] = id project['title'] = p.title project['description'] = p.description project['skills'] = p.skills project['end_date'] = p.end_date.strftime("%Y-%m-%d") project['bid'] = p.bid project['image'] = '/api/common/download_image/'+p.image if p.image else None template_values['project'] = project self.write(self.get_rendered_html(path, template_values), 200)
def get(self): project_id = self['project_id'] if not project_id: self.write('no project id') return p = Project.get_by_id(int(str(project_id))) if not p: self.write('no project with id: '+project_id) return path = 'project_skills.html' form_url = blobstore.create_upload_url('/api/projects/update_project_skills') breadcrumb_idx = 2 template_values = {'form_url': form_url, 'breadcrumb_idx':breadcrumb_idx, 'breadcrumbs_len':len(registration_breadcrumbs), 'breadcrumb':registration_breadcrumbs[projects][breadcrumb_idx-1], 'progress': (100/len(registration_breadcrumbs))*breadcrumb_idx, 'project_id': p.id} template_values['skills'] = get_skills_json() self.write(self.get_rendered_html(path, template_values), 200)
def get(self): path = 'project_edit.html' template_values = {} template_values['duration_options'] = DURATION_OPTIONS template_values['skills'] = get_skills_json() template_values['form_url'] = blobstore.create_upload_url( '/api/projects/update_project') project = {} id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) project['id'] = id project['title'] = p.title project['description'] = p.description project['skills'] = p.skills project['end_date'] = p.end_date.strftime("%Y-%m-%d") project['bid'] = p.bid project[ 'image'] = '/api/common/download_image/' + p.image if p.image else None template_values['project'] = project self.write(self.get_rendered_html(path, template_values), 200)
def get(self): path = 'startups_search_results.html' project_id = long(self['project_id']) project = Project.get_by_id(project_id) skills = project.skills q = Company.all() sorted_companies = {} for c in q.fetch(50): expertise_dict = convert_string_list_to_dict(c.expertise_avg) score = 0.0 matched_skills = 0.0 fit = 0.0 id = c.key().id() sorted_companies[id] = {} sorted_companies[id]['name'] = c.name sorted_companies[id]['influence'] = c.influence_avg sorted_companies[id]['skills'] = [] if skills: for skill in skills: skill = str(skill) if skill in expertise_dict: skill_dict = { 'name':skill,'value':float(expertise_dict[skill]) } score += float(expertise_dict[skill]) matched_skills += 1 else: skill_dict = { 'name':skill,'value':0.0 } sorted_companies[id]['skills'].append(skill_dict) score = float(score / len(skills)) fit = float(matched_skills / len(skills)) if matched_skills > 0.0 else 0.0 sorted_companies[id]['combined']=score sorted_companies[id]['fit']=fit donuts = (len(skills) if skills else 0) + 3 sorted_companies = sorted(sorted_companies.iteritems(), key=lambda (k,v): v['combined'], reverse = True) donut_size = 80-(5*donuts) score_font_size = 40-(2.25*donuts) tooltip_font_size = 14-donuts template_values = {'startups' : sorted_companies, 'skills' : skills, 'donut_size' : donut_size, 'score_font_size' : score_font_size, 'tooltip_font_size' : tooltip_font_size} self.write(self.get_rendered_html(path, template_values), 200)
def get(self): project_id = self['project_id'] if not project_id: self.write('no project id') return p = Project.get_by_id(int(str(project_id))) if not p: self.write('no project with id: ' + project_id) return path = 'project_skills.html' form_url = blobstore.create_upload_url( '/api/projects/update_project_skills') breadcrumb_idx = 2 template_values = { 'form_url': form_url, 'breadcrumb_idx': breadcrumb_idx, 'breadcrumbs_len': len(registration_breadcrumbs), 'breadcrumb': registration_breadcrumbs[projects][breadcrumb_idx - 1], 'progress': (100 / len(registration_breadcrumbs)) * breadcrumb_idx, 'project_id': p.id } template_values['skills'] = get_skills_json() self.write(self.get_rendered_html(path, template_values), 200)
def get_project(id): return Project.get_by_id(id)
def update_project_skills(self): id = int(str(self['project_id'])) if id: p = Project.get_by_id(id) p.skills = self['project_skills'].split(',') if self['project_skills'] else [] p.put()