Beispiel #1
0
    def GET (self):
        """ Show page """
        posts = model.get_posts()
        master = model.get_masters()
        fontsource = [cFont.fontna,cFont.fontnb,cFont.glyphName]
	webglyph = cFont.glyphName
        return render.metap(posts,master,fontsource,webglyph)
Beispiel #2
0
	def GET(self):
		if not web.input() or str(web.input()) == "<Storage {'error': u'access_denied'}>":
			pass
		else:
			code = str(web.input())[20: -3]
			login_data = { 'client_id': API_KEY, 
			 			       'client_secret': API_SECRET,
			 			       'redirect_uri': CALLBACK,
			 			       'grant_type': 'authorization_code',
			 			       'code': code }

			r = requests.post("https://www.douban.com/service/auth2/token", data=login_data)
			access_token =  eval(r.text)['access_token']
			headers = {"Authorization": "Bearer "+access_token}
			r = requests.get("https://api.douban.com/v2/user/~me", headers=headers)
			str_user_info = r.text.encode('utf8')
			douban_username = str_user_info.split('\"')[7]
			if douban_username == 'Havlicek':
				session.logged_in = True
				raise web.seeother('/')
			else:
			 	return '对不起, 您没有登录该博客的权限。'.decode('utf8').encode('utf8')

		posts = model.get_posts()
		form = self.form()
		logged = False
		if session.get('logged_in', False):
			logged = True
		return render.index(posts, form, logged)
Beispiel #3
0
 def POST(self,id):
     form = New.form()
     post = model.get_posts(int(id))
     if not form.validates():
         return render.edit(post,form)
     model.update_post(int(id),form.d.title,form.d.content)
     raise web.seeother('/')
Beispiel #4
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     # for post in posts:
     # print post.posted_on.split(".")[0]
     # print web.datestr(datetime.datetime.strptime(post.posted_on.split(".")[0],"%Y-%m-%d %H:%M:%S"))
     return render.index(posts)
Beispiel #5
0
    def POST(self, id):
        i = web.input(addOther={})
        if i.photo:
            # 删除静态资源照片
            photo_name = i.photo.split('/')[-1]
            logger.debug('need delete photo path: ' + "/root/images/" + photo_name)
            try:
                os.remove("/root/images/" + photo_name)
            except FileNotFoundError as e:
                logger.error(e)

            filedir = 'https://www.xn--r35a.tech/lingxi_images/'
            if 'addOther' in i: # to check if the file-object is created
                filepath=i.addOther.filename.replace('\\','/') # replaces the windows-style slashes with linux ones.
                filename=filepath.split('/')[-1] # splits the and chooses the last part (the filename with extension)
                fullFileName = filedir + filename
                logger.debug('restart write photo path: ' + '/root/images/' + filename)
                fout = open('/root/images/' + filename,'wb') # creates the file where the uploaded file should be stored
                fout.write(i.addOther.file.read()) # writes the uploaded file to the newly created file.
                fout.close() # closes the file, upload complete.

                model.update_post(int(id), i.title, i.content, fullFileName)
        else:
            model.update_post(int(id), i.title, i.content, None)
        #raise web.seeother("/")
        posts = model.get_posts()
        return render.index(posts)
Beispiel #6
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     master = model.get_masters()
     fontsource = [cFont.fontna, cFont.fontnb, cFont.glyphName]
     webglyph = cFont.glyphName
     return render.metap(posts, master, fontsource, webglyph)
Beispiel #7
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     # for post in posts:
       # print post.posted_on.split(".")[0]
       # print web.datestr(datetime.datetime.strptime(post.posted_on.split(".")[0],"%Y-%m-%d %H:%M:%S"))
     return render.index(posts)
Beispiel #8
0
def feed():
    if request.method == 'POST':
        if request.form['action'] == 'save':
            model.parse_form(request.form)
        if request.form['action'] == 'fetch':
            model.get_new_data()
    template_data = {"items": model.get_posts('published')}
    return render_template('feed.html', data=template_data, page_id='feed')
Beispiel #9
0
    def GET(self):
        '''show page'''
#         login_form = login()    #add login
        posts = model.get_posts()
        return render.index(posts) #add login form
    
#     def POST(self):
        '''post page'''
Beispiel #10
0
def drafts():
    if request.method == 'POST':
        model.parse_form(request.form)
    template_data = {"items": model.get_posts('drafts')}
    # print("template data is:")
    # print(template_data)
    return render_template('db_drafts.html',
                           data=template_data,
                           page_id='drafts')
Beispiel #11
0
 def GET(self):
     """
     show index page
     """
     posts = model.get_posts()
     for post in posts:
         print post['title']
         print post['content']
     return render.index(posts=posts)
Beispiel #12
0
 def GET(self):
     """
     show index page
     """
     posts = model.get_posts()
     for post in posts:
         print post['title']
         print post['content']
     return render.index(posts=posts)
Beispiel #13
0
	def POST(self):
		form = self.form()
		if not session.get('logged_in', False):
			raise web.seeother('/login')
		else:
			if not form.validates():
				posts = model.get_posts()
				return render.index(posts, form)
			model.new_post(form.d.title, form.d.content, str(date.today()))
			raise web.seeother('/')
Beispiel #14
0
 def GET(self):
     """ Show page """
     raise seeother('/fonts/')
     if not is_loggedin():
         raise seeother('/login')
     posts = model.get_posts()
     master = model.get_masters()
     fontsource = [cFont.fontna, cFont.fontnb, cFont.glyphName]
     webglyph = cFont.glyphName
     return render.metap(posts, master, fontsource, webglyph)
Beispiel #15
0
def index():
    if request.method == 'GET':
        pass
    if request.method == 'POST':
        name = request.form.get('name')
        post = request.form.get('post')
        create_posts(name, post)

    posts = get_posts()

    return render_template('index.html', posts=posts)
Beispiel #16
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     for post in posts:
         # Post is set active only if it has an item yet to occur
         post.active = False
         items = model.get_items(post.id)
         for item in items:
             if not utils.date_in_past(item.date):
                 post.active = True
     return render.index(posts)
Beispiel #17
0
	def POST(self):
		flag_loginfail=1
		posts=model.get_posts()
		login_user=model.get_users()
		for user in login_user:
			if web.input().login_username==user.username and model.create_md5(web.input().login_password)==user.password:
				flag_loginfail=0
				web.setcookie('username',web.input().login_username)
		if flag_loginfail:
			return render.index(posts)
		raise web.seeother('/')
Beispiel #18
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     for post in posts:
         # Post is set active only if it has an item yet to occur
         post.active = False
         items = model.get_items(post.id)
         for item in items:
             if not utils.date_in_past(item.date):
                 post.active = True
     return render.index(posts)
Beispiel #19
0
    def GET(self, id):
        """ Show page """
        posts = model.get_posts()
        master = model.get_masters()

        if id == '0':
            #          we are working on font A
            cFont.idwork = id
            #
            fontsource = [cFont.fontna, cFont.glyphName]
        if id == '1':
            #          we are working on font B
            cFont.idwork = id
            #
            fontsource = [cFont.fontnb, cFont.glyphName]

        posts = model.get_posts()
        master = model.get_masters()

        webglyph = cFont.glyphName
        return render.metap(posts, master, fontsource, webglyph)
Beispiel #20
0
    def GET (self,id):
        """ Show page """
        posts = model.get_posts()
        master = model.get_masters()

        if id =='0':
#          we are working on font A
           cFont.idwork=id
#
           fontsource = [cFont.fontna,cFont.glyphName]
        if id =='1':
#          we are working on font B
           cFont.idwork=id
#          
           fontsource = [cFont.fontnb,cFont.glyphName]

        posts = model.get_posts()
        master = model.get_masters()

	webglyph = cFont.glyphName
        return render.metap(posts,master,fontsource,webglyph)
Beispiel #21
0
def index():
    if request.method == "GET":
        pass

    if request.method == "POST":
        name = request.form.get("name")
        post = request.form.get("post")
        create_post(name, post)

    posts = get_posts()

    return render_template("index.html", posts=posts)
Beispiel #22
0
def post_index():
    """ Blog index, shows all blog posts """
    title = "Blog Posts"

    ##
    posts = model.get_posts()

    ## Reverse posts
    posts.reverse()

    ## Add paging here
    #=>
    return render_template('blog_index.html', title=title, posts=posts) 
Beispiel #23
0
    def GET(self, id):
        """ Show page """
        if not is_loggedin():
            raise seeother('/login')
        posts = model.get_posts()
        master = model.get_masters()

        if id == '0':
            # we are working on font A
            cFont.idwork = id
            fontsource = [cFont.fontna, cFont.glyphName]

        if id == '1':
            # we are working on font B
            cFont.idwork = id
            fontsource = [cFont.fontnb, cFont.glyphName]

        posts = model.get_posts()
        master = model.get_masters()

        webglyph = cFont.glyphName
        return render.metap(posts, master, fontsource, webglyph)
Beispiel #24
0
 def POST(self, id):
     # 1. 删除静态资源照片
     post = model.get_post(int(id))
     photo_name = post.imageAddr.split('/')[-1]
     logger.debug('need delete photo path: ' + "/root/images/" + photo_name)
     try:
         os.remove("/root/images/" + photo_name)
     except Exception as e:
         logger.error(e)
     # 2. 删除表中记录
     model.del_post(int(id))
     #raise web.seeother("/")
     posts = model.get_posts()
     return render.index(posts)
Beispiel #25
0
 def POST(self):
     x = web.input(addOther={})
     filedir = 'https://www.xn--r35a.tech/lingxi_images/'
     if 'addOther' in x: # to check if the file-object is created
         filepath=x.addOther.filename.replace('\\','/') # replaces the windows-style slashes with linux ones.
         filename=filepath.split('/')[-1] # splits the and chooses the last part (the filename with extension)
         if filename:
             fullFileName = filedir + filename
             fout = open('/root/images/' + filename,'wb') # creates the file where the uploaded file should be stored
             fout.write(x.addOther.file.read()) # writes the uploaded file to the newly created file.
             fout.close() # closes the file, upload complete.
             model.new_post(x.title, x.content, fullFileName)
         else:
             model.new_post(x.title, x.content, None)
     #raise web.seeother("/")
     posts = model.get_posts()
     return render.index(posts)
Beispiel #26
0
def build_template(page=None):
    # NEED TO CREATE BUILD DIRECTORY IF IT DOESN'T EXIST!!!
    print("Building template for DNN")
    print("+++\nPage is: ", page)
    template_data = {"posts": model.get_posts('published', page)}
    # using Jinja2 string was fun, but let's get back to includes and other good stuff
    # html = Environment().from_string(tmpl.core_template).render(data=template_data)
    j2_env = Environment(loader=FileSystemLoader('templates'),
                         trim_blocks=True)
    html_filename = f"ext_{page}.html"
    print("HTML file name is: ", html_filename)
    html = j2_env.get_template(html_filename).render(data=template_data)
    html_minified = minify_html(html)
    css = fetch.fetch_css()
    script = Template(tmpl.script_template).substitute(css=css,
                                                       minified=html_minified)
    script_name = f"{page}.js"
    save_file_overwrite(script, script_name)
    pass
Beispiel #27
0
 def GET(self):
     refunc = model.ReplaceKeyword()
     posts = model.get_posts()
     if mail_info['flag'] == 1:
         key_temp = model.sel_keyword()
         count = model.count_keyword()
         for list in key_temp:
             for n in count:
                 if count[n] > 0 and n == list.keyword:
                     if list.option == 0:
                         continue
                     else:
                         model.send_mail(
                             mail_info['send_to'],
                             "Warning:Find Keyword" + n, "留言中发现目标关键字:" + n,
                             mail_info['stmp_server'],
                             mail_info['username'], mail_info['password'],
                             mail_info['username'], mail_info['username'])
                         break
     return render.backstage(posts, refunc)
Beispiel #28
0
    def GET(self,id):
        """ View single post """
        form=self.form()
        
        if id > '0' : 
           post = model.get_post(int(id))
           glyphparam = model.get_glyphparam(int(id))
           groupparam = model.get_groupparam(int(id))         
           form.fill(post)
        posts = model.get_posts()
        postspa = model.get_postspa()
        formParam = self.formParam()
        formParamG = self.formParamG()
        if glyphparam != None :
           formParam.fill(glyphparam)
        if groupparam != None :
           formParamG.fill(groupparam)
        mastglobal = model.get_globalparam(cFont.idglobal)
        master = model.get_master(cFont.idmaster)
	webglyph = cFont.glyphName
        return render.view(posts,post,form,formParam,formParamG,master,mastglobal,webglyph,glyphparam,groupparam,cFont,postspa)
Beispiel #29
0
    def GET(self, id):
        """ View single post """
        form = self.form()

        if id > '0':
            post = model.get_post(int(id))
            glyphparam = model.get_glyphparam(int(id))
            groupparam = model.get_groupparam(int(id))
            form.fill(post)
        posts = model.get_posts()
        postspa = model.get_postspa()
        formParam = self.formParam()
        formParamG = self.formParamG()
        if glyphparam != None:
            formParam.fill(glyphparam)
        if groupparam != None:
            formParamG.fill(groupparam)
        mastglobal = model.get_globalparam(cFont.idglobal)
        master = model.get_master(cFont.idmaster)
        webglyph = cFont.glyphName
        return render.view(posts, post, form, formParam, formParamG, master,
                           mastglobal, webglyph, glyphparam, groupparam, cFont,
                           postspa)
Beispiel #30
0
def lineup(page_id):
    # get data
    # file_name = f'pages_{page_id}_lineup.html'
    if request.method == 'POST':
        if request.form['action'] == 'save':
            model.parse_form(request.form)
        if request.form['action'] == 'deploy':
            model.parse_form(request.form)
            data.build_template(page_id)
            fetch.put_S3(
                page_id
            )  # sometimes tries to send before file above finished writing!!!!
            # StackOverflow: https://stackoverflow.com/questions/36274868/saving-an-image-to-bytes-and-uploading-to-boto3-returning-content-md5-mismatch
            # My answer was to create using ".filename" then:
            #   os.rename(filename.replace(".filename","filename"))
            # This ensured the file was done being created.
        if request.form['action'] == 'fetch':
            model.get_new_data(page_id)
    # template_data = {"items": model.get_lineup('published', page_id)}
    template_data = {"items": model.get_posts('published', page_id)}
    # return render_template(file_name, data=template_data, draft_check=False)
    return render_template('pages_lineup.html',
                           data=template_data,
                           page_id=page_id)
Beispiel #31
0
	c = model.get_post_categories(post_id)
	assert(len(c) == 1 and c[0].name == 'uncategorized' and c[0].parent_id == 0 and c[0].id == 1 and c[0].description == '' and c[0].type=='post_category')
	
	# test tag. TODO.
	assert(model.update_post(post_id, author_id=2, title='new title', content='new content', comment_status='close', post_status='saved'))
	
	post = model.get_post(post_id)
	assert(post.author_id == 2 and post.title == 'new title' and post.content == 'new content' and post.excerpt== None and post.slug == None and post.post_type=='blog' and post.comment_status=='close' and post.post_status=='saved')
	
	assert(model.update_post(post_id, author_id=1, title='title', content='content', comment_status='open', post_status='published'))

	another_post_id = model.new_post(1, 'title', 'content', None, None, 'blog', 'open', 'published', None, None)
	assert(another_post_id)
	
	posts = model.get_posts()
	assert(len(posts)==2) 

	for post in posts:
		assert(post and post.author_id == 1 and post.title == 'title' and post.content == 'content' and post.excerpt== None and post.slug == None and post.post_type=='blog' and post.comment_status=='open' and post.post_status=='published')
	
	model.delete_post(post_id)
	model.delete_post(another_post_id)
	posts = model.get_posts()
	assert(not posts)
	
	post_id = model.new_post(1, 'title', 'content', None, None, 'blog', 'open', 'published', None, None)
	assert(post_id)

	for i in range(0, 10):
		author = 'author %d' %i
Beispiel #32
0
 def GET(self):                   #当有人用GET请求/时,这个GET函数随时会被web.py调用,GET 方式请求URL,class index中包含了一个GET方法,用来处理与index相应的url的GET请求的,
     """ Show page """
     posts = model.get_posts()
     return render.index(posts)
Beispiel #33
0
 def GET(self):
     posts = model.get_posts()
     return render.index(posts)
Beispiel #34
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     return render.blog(posts)
Beispiel #35
0
 def GET(self):
     """ Show page 主页"""
     posts = model.get_posts()
     # print posts
     return render.index(posts)
Beispiel #36
0
    def POST(self, id):
        form = View.form()
        formParam = View.formParam()
        formParamG = View.formParamG()
        post = model.get_post(int(id))
        postspa = model.get_postspa()
        formParam = self.formParam()
        if not form.validates() :
            posts = model.get_posts()
            master = model.get_master(cFont.idmaster)
            mastglobal = model.get_globalparam(cFont.idglobal)
	    webglyph = cFont.glyphName
            return render.view(posts, post, form, formParam, master,mastglobal, webglyph,glyphparam,groupparam,cFont,postspa)
        if form.d.PointName != None :
            if not formParam.validates() :
                return render.view(posts, post, form, formParam, master,mastglobal)
            if model.get_glyphparam(int(id)) != None :
                model.update_glyphparam(int(id),form.d.PointName,form.d.groupn)
                model.update_glyphparamD(int(id),formParam.d.Param, formParam.d.parmval)
                if model.get_groupparam0(form.d.groupn) != None: 
                    model.update_groupparamD(form.d.groupn, formParamG.d.Group, formParamG.d.groupval)
                else:
                    model.insert_groupparam( form.d.groupn )
             
            else :
                model.insert_glyphparam(int(id),form.d.PointName )
                model.update_glyphparam(int(id),form.d.PointName,form.d.groupn)
                if model.get_groupparam0(form.d.groupn) != None: 
                    model.update_groupparamD(form.d.groupn, formParamG.d.Group, formParamG.d.groupval)
                else:
                    model.insert_groupparam( form.d.groupn )
           
            if not formParamG.validates() :
                return render.view(posts, post, form, formParam, formParamG, master,mastglobal)
            if model.get_groupparam(int(id)) != None :
                if form.d.groupn != None :
                   if model.get_groupparam0(form.d.groupn) != None: 
                      model.update_groupparamD(form.d.groupn, formParamG.d.Group, formParamG.d.groupval)
                   else:
                     model.insert_groupparam( form.d.groupn )
                
        model.update_post(int(id), form.d.x, form.d.y)
        posts = model.get_posts()
        master = model.get_master(cFont.idmaster)
        mastglobal = model.get_globalparam(cFont.idglobal)
	webglyph = cFont.glyphName
        glyphparam = model.get_glyphparam(int(id))
        groupparam = model.get_groupparam(int(id))

        if cFont.mfoption =='1' :
           model.writeallxmlfromdb()
        else:
           model.writexml()        
        
        model.ufo2mf() 
        os.environ['MFINPUTS'] = cFont.fontpath
#        os.environ['MPINPUTS'] = cFont.fontpath
        model.writeGlyphlist()
        strms = "sh makefont.sh font.mf"
        os.system(strms)
        return render.view(posts, post, form, formParam, formParamG, master, mastglobal,webglyph,glyphparam,groupparam,cFont,postspa)
Beispiel #37
0
def milk_exchange_board():
    all_posts = model.get_posts()
    return render_template("donorlist.html", all_posts=all_posts)
Beispiel #38
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     for p in posts:
         print web.datestr(p.posted_on)
     return render.index(posts)
Beispiel #39
0
 def GET(self):
     refunc = model.ReplaceKeyword()
     posts = model.get_posts()
     return render.index(posts, refunc)
Beispiel #40
0
def index():
    return render_template('index.html',
                           len=model.post_len(),
                           posts=model.get_posts())
Beispiel #41
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     print type(posts)
     #return render.index(posts)
     return render.index(posts=posts)
Beispiel #42
0
 def GET(self,id):
     post = model.get_posts(int(id))
     return render.view(post)
Beispiel #43
0
 def GET(self):
     #Show Page
     posts = model.get_posts()
     return render.index(posts)
Beispiel #44
0
	def GET(self):
		"""Show page"""
		login_form = login()
		posts = model.get_posts()
		return render.index(posts, login_form)
Beispiel #45
0
 def GET(self):
     posts = model.get_posts()
     return render.index(posts)
Beispiel #46
0
 def GET(self):
     """Show page"""
     # 在model中定义了get_posts函数,用于获取全部post
     posts=model.get_posts()
     return render.index(posts)
Beispiel #47
0
 def GET(self):
     posts = model.get_posts()
     return render.blog(posts)
Beispiel #48
0
 def GET(self):
     posts = model.get_posts()
     return render.usuarios(posts)
Beispiel #49
0
def milk_exchange_board():
    all_posts = model.get_posts()
    return render_template("donorlist.html", all_posts=all_posts)
Beispiel #50
0
 def GET(self):
     posts = model.get_posts()
     return render.registros(posts)
Beispiel #51
0
 def GET(self):
     posts = model.get_posts()
     return render.backstage(posts)
Beispiel #52
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     return render.index(posts, auth.getUser())
Beispiel #53
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()
     return render.index(posts)
Beispiel #54
0
 def GET(self):
     """ Show page """
     posts = model.get_posts()       #引用model下的getpost方法
     return render.blog1(posts)      #posts渲染到index.html页面上
Beispiel #55
0
 def GET(self):
 	posts = model.get_posts()
 	template = env.get_template('index.html')
 	return template.render(moods=posts)
	def GET(self):
		"""view opinion polls"""
		posts=model.get_posts()
		return render.viewOpinionPolls(posts)
Beispiel #57
0
 def GET(self):
     login_form = login()
     posts = model.get_posts()
     return render.index(posts, login_form)
Beispiel #58
0
 def GET(self):
     '''show page'''
     posts = model.get_posts()
     return render.index(posts)