Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import sys
- from django.utils import simplejson
- from django.http import HttpResponse
- from google.appengine.api import users
- from google.appengine.ext import db
- from google.appengine.ext import webapp
- from google.appengine.ext.webapp.util import run_wsgi_app
- from google.appengine.ext.webapp import template
- from elementtree.ElementTree import *
- from elementtree.SimpleXMLWriter import *
- class BlobStore(db.Model):
- resumeFile = db.BlobProperty(default="")
- class ResStore(db.Model):
- username = db.UserProperty()
- resumeJSON = db.TextProperty(default="")
- creationDate = db.DateTimeProperty(auto_now_add=True)
- class Login(webapp.RequestHandler):
- def get(self):
- url = ""
- url_linktext = ""
- if users.get_current_user() is None:
- url = users.create_login_url('/newresume')
- url_linktext = 'Login'
- else:
- self.redirect('/newresume')
- template_values = {
- 'url': url,
- 'url_linktext': url_linktext}
- path = os.path.join(os.path.dirname(__file__), 'login.html')
- self.response.out.write(template.render(path, template_values))
- class NewResume(webapp.RequestHandler):
- def get(self):
- resSearch = db.GqlQuery("SELECT * FROM ResStore WHERE username = :1", users.get_current_user())
- userRes = resSearch.get()
- if userRes is not None:
- self.redirect('/resume')
- if users.get_current_user() is None:
- self.redirect('/')
- template_values = {
- }
- path = os.path.join(os.path.dirname(__file__), 'newresume.html')
- self.response.out.write(template.render(path, template_values))
- class AdminHome(webapp.RequestHandler):
- def get(self):
- if users.get_current_user() is None:
- self.redirect('/')
- if users.is_current_user_admin() is False:
- self.redirect('/resume')
- getResume = db.GqlQuery("SELECT * FROM BlobStore")
- Resumes = []
- for resumeBlob in getResume:
- Resume = {}
- Resume['blob'] = resumeBlob.resumeFile
- Resume['resKey'] = resumeBlob.key()
- Resume['indivName'] = fromstring(resumeBlob.resumeFile).findtext('.//PersonName/FormattedName')
- Resumes.append(Resume)
- logout_url = users.create_logout_url('/')
- logout_linktext = 'Logout'
- template_values = {
- 'Resumes' : Resumes,
- 'logout_url': logout_url,
- 'logout_linktext': logout_linktext
- }
- path = os.path.join(os.path.dirname(__file__), 'adminhome.html')
- self.response.out.write(template.render(path, template_values))
- class UploadHandler(webapp.RequestHandler):
- def post(self):
- resStore = ResStore()
- resStore.username = users.get_current_user()
- resStore.resumeJSON = self.request.get('Resume_JSON')
- resStore.put()
- self.redirect('/resume')
- class ResumePage(webapp.RequestHandler):
- def get(self):
- if users.get_current_user() is None:
- self.redirect('/')
- if users.is_current_user_admin() is True:
- self.redirect('/adminhome')
- resSearch = db.GqlQuery("SELECT * FROM ResStore WHERE username = :1", users.get_current_user())
- userRes = resSearch.get()
- resumeJson = userRes.resumeJSON
- data = simplejson.loads(resumeJson)
- firstName = data['p_firstname']
- lastName = data['p_lastname']
- telephonenum = data['p_street']
- execsum = data['objective']
- emailadd = data['p_email']
- streetadd = data['p_street']
- cityadd = data['p_city']
- stateadd = data['p_state']
- zipadd = data['p_zip']
- education =[]
- eduInfo = {}
- eduInfo['eduname'] = data['school_0']
- eduInfo['eduweb'] = data['schoolWeb_0']
- eduInfo['educity'] = data['schoolCity_0']
- eduInfo['edustate'] = data['schoolState_0']
- eduInfo['edutype'] = data['degreeType_0']
- eduInfo['edumajor'] = data['degreeMajor_0']
- eduInfo['eduyear'] = data['yearComplete_0']
- education.append(eduInfo)
- employers = []
- employerInfo = {}
- employerInfo['emplname'] = data['company_0']
- employerInfo['webadress'] = data['workWeb_0']
- employerInfo['emplcity'] = data['workCity_0']
- employerInfo['emplstate'] = data['workState_0']
- employerInfo['emplstart'] = data['workStart_0']
- employerInfo['emplend'] = data['workEnd_0']
- employerInfo['emplpos'] = data['position_0']
- employerInfo['Resp1'] = data['resp1_0']
- employerInfo['Resp2'] = data['resp2_0']
- employerInfo['Resp3'] = data['resp3_0']
- employerInfo['Resp4'] = data['resp4_0']
- employerInfo['Resp5'] = data['resp5_0']
- for companyItemKey in [x for x in data.keys() if x.startswith('company_')]:
- employerInfo[companyItemKey] = data[companyItemKey]
- employers.append(employerInfo)
- certs = []
- certInfo = {}
- certInfo['certname'] = data['certName_0']
- certInfo['certdate'] = data['validFrom_0']
- certInfo['certexp'] = data['validUntil_0']
- for certItemKey in [x for x in data.keys() if x.startswith('certName_')]:
- certInfo['certname'] = data['certName_1']
- certs.append(certInfo)
- skills = []
- skillsInfo = {}
- skillsInfo['skillname'] = data['skillName_0']
- skillsInfo['skillevid'] = data['skillDesc_0']
- for skillItemKey in [x for x in data.keys() if x.startswith('skillName')]:
- skillsInfo['skillname'] = data['skillName_3']
- skills.append(skillsInfo)
- logout_url = users.create_logout_url('/')
- logout_linktext = 'Logout'
- template_values = {
- 'logout_url': logout_url,
- 'logout_linktext': logout_linktext,
- 'fname': firstName,
- 'lname': lastName,
- 'telephone': telephonenum,
- 'execsummary': execsum,
- 'email' : emailadd,
- 'street' : streetadd,
- 'state' : stateadd,
- 'city' : cityadd,
- 'zip' : zipadd,
- 'employers' : employers,
- 'education' : education,
- 'certs' : certs,
- 'skills' : skills,
- }
- path = os.path.join(os.path.dirname(__file__), 'resume.html')
- self.response.out.write(template.render(path, template_values))
- application = webapp.WSGIApplication([('/', Login),
- ('/newresume', NewResume),
- ('/adminhome', AdminHome),
- ('/upload2', UploadHandler),
- ('/resume', ResumePage)
- ], debug=True)
- def main():
- run_wsgi_app(application)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement