diff options
| author | chai <chaifix@163.com> | 2018-01-24 20:04:34 +0800 | 
|---|---|---|
| committer | chai <chaifix@163.com> | 2018-01-24 20:04:34 +0800 | 
| commit | 6562ad5da1548247e50c2b592332c9f56afda072 (patch) | |
| tree | 9b8adbf557d0d7126ca16aee29d1c603e1705e14 /cgi-bin/page.py | |
| parent | 131cf12827e64f527da69251b6a6221d130c1cc7 (diff) | |
*修改
Diffstat (limited to 'cgi-bin/page.py')
| -rw-r--r-- | cgi-bin/page.py | 77 | 
1 files changed, 77 insertions, 0 deletions
| diff --git a/cgi-bin/page.py b/cgi-bin/page.py new file mode 100644 index 0000000..300069a --- /dev/null +++ b/cgi-bin/page.py @@ -0,0 +1,77 @@ +#!C:\Python364\python3.exe +# -*- coding: utf-8 -*- +import sys, codecs +import cgi, cgitb +import pymysql +import issuedb +import config  +from issuedb import IssueDBFactory +from config import Config + +sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer) + +db = IssueDBFactory.produce() +cursor = db.cursor()  + +tag_unit_html_file = open("tag_unit.html", 'r', encoding='utf8') +page_html_file = open("page.html", 'r', encoding= 'utf8') +issue_unit_html_file = open("issue_unit.html", 'r', encoding = 'utf8') +page_html = page_html_file.read() +issue_unit_html = issue_unit_html_file.read() +tag_unit_html = tag_unit_html_file.read()  + +issues_list = "" +issues_count = Config.get("config", "issues_count") +try:  +    cursor.execute("select * from issue limit 0, 10")  +    issues_rows = cursor.fetchall() +    odd = True +    for row in issues_rows: +        tagslist = ""  +        cursor.execute("select * from tag where tagId in (select tagId from \ +                relation where issueId = {0})".format(row[0])) +        tags_rows = cursor.fetchall()  +        for tag_row in tags_rows:  +            tag = tag_unit_html.format(\ +                tagid = tag_row[0],  +                tag_name = tag_row[1]  +            ) +            tagslist += tag +        issue = issue_unit_html.format(\ +            issueid = row[0], \ +            title = row[1], \ +            description = row[2], \ +            tags = tagslist, \ +            oddoreven = ((odd == True) and "odd" or "even") +        ) +        odd = not odd +        issues_list += issue +except:  +    print("Error: unable to fetch data")  + +#处理页号 +form = cgi.FieldStorage() +pagen = form.getvalue('p') +if pagen == None:  +    pagen = 0  +pageprev = pagen - 1  +if pageprev < 0:  +    pageprev = 0  +pagenext = pagen + 1  + +page = page_html.format(\ +    issues = issues_list, \ +    page_prev = pageprev, \ +    page_next = pagenext,\ +) + +# HTTP header  +print("Content-type:text/html\n") +print(page) + +db.commit()  +cursor.close()  +db.close() +issue_unit_html_file.close()  +page_html_file.close() + | 
