Browse Source

pageconut 문법 지원

Surplus_Up (2DU) 6 years ago
parent
commit
f5ad5bf424
3 changed files with 59 additions and 22 deletions
  1. 24 3
      app.py
  2. 28 19
      route/list_title_index.py
  3. 7 0
      route/tool/set_mark/namu.py

+ 24 - 3
app.py

@@ -259,8 +259,7 @@ print('----')
 if back_time != 0:
     print('Back up state : ' + str(back_time) + ' hours')
     
-    if __name__ == '__main__':
-        back_up()
+    back_up()
 else:
     print('Back up state : Turn off')
 
@@ -279,9 +278,31 @@ else:
 
         print('----')
         print('Skin update required')
-        
+
 conn.commit()
 
+def count_all_title():
+    curs.execute("select count(title) from data")
+    count_data = curs.fetchall()
+    if count_data:
+        count_data = count_data[0][0]
+    else:
+        count_data = 0
+
+    curs.execute('delete from other where name = "count_all_title"')
+    curs.execute('insert into other (name, data) values ("count_all_title", ?)', [str(count_data)])
+
+    conn.commit()
+
+    threading.Timer(60 * 60 * 24, count_all_title).start()
+
+curs.execute('select data from other where name = "count_all_title"')
+all_title = curs.fetchall()
+if not all_title:
+    curs.execute('insert into other (name, data) values ("count_all_title", "0")')
+
+count_all_title()  
+
 # Func
 @app.route('/del_alarm')
 def alarm_del():

+ 28 - 19
route/list_title_index.py

@@ -29,38 +29,47 @@ def list_title_index_2(conn):
     if page == 1:
         count_end = []
 
-        curs.execute("select count(title) from data")
-        count = curs.fetchall()
-        if count:
-            count_end += [count[0][0]]
-        else:
-            count_end += [0]
-
-        sql_list = [load_lang('template', 1).lower() + ':', 'category:', 'user:', 'file:']
-        for sql in sql_list:
-            curs.execute("select count(title) from data where title like ?", [sql + '%'])
+        curs.execute('select data from other where name = "count_all_title"')
+        all_title = curs.fetchall()
+        if int(all_title[0][0]) < 50000:
+            curs.execute("select count(title) from data")
             count = curs.fetchall()
             if count:
                 count_end += [count[0][0]]
             else:
                 count_end += [0]
 
-        count_end += [count_end[0] - count_end[1]  - count_end[2]  - count_end[3]  - count_end[4]]
+            sql_list = ['category:', 'user:', 'file:']
+            for sql in sql_list:
+                curs.execute("select count(title) from data where title like ?", [sql + '%'])
+                count = curs.fetchall()
+                if count:
+                    count_end += [count[0][0]]
+                else:
+                    count_end += [0]
+
+            count_end += [count_end[0] - count_end[1]  - count_end[2]  - count_end[3]]
         
-        data += '''
+            data += '''
                 </ul>
                 <hr class=\"main_hr\">
                 <ul>
-                    <li>all : ''' + str(count_end[0]) + '''</li>
+                    <li>''' + load_lang('all') + ' : ' + str(count_end[0]) + '''</li>
+                </ul>
+                <hr class=\"main_hr\">
+                <ul>
+                    <li>''' + load_lang('category') + ' : ' + str(count_end[1]) + '''</li>
+                    <li>''' + load_lang('user_document') + ' : ' + str(count_end[2]) + '''</li>
+                    <li>''' + load_lang('file') + ' : ' + str(count_end[3]) + '''</li>
+                    <li>''' + load_lang('other') + ' : ' + str(count_end[4]) + '''</li>
+            '''
+        else:
+            data += '''
                 </ul>
                 <hr class=\"main_hr\">
                 <ul>
-                    <li>''' + load_lang('template') + ' : ' + str(count_end[1]) + '''</li>
-                    <li>''' + load_lang('category') + ' : ' + str(count_end[2]) + '''</li>
-                    <li>''' + load_lang('user') + ' : ' + str(count_end[3]) + '''</li>
-                    <li>''' + load_lang('file') + ' : ' + str(count_end[4]) + '''</li>
-                    <li>other : ''' + str(count_end[5]) + '''</li>
-                '''
+                    <li>''' + load_lang('all') + ' : ' + all_title[0][0] + '''</li>
+            '''
 
     data += '</ul>' + next_fix('/title_index?num=' + str(num) + '&page=', page, title_list, num)
     sub = ' (' + str(num) + ')'

+ 7 - 0
route/tool/set_mark/namu.py

@@ -583,6 +583,13 @@ def namu(conn, data, title, main_num, include_num):
 
     date_re = re.compile('\[date\]', re.I)
     data = date_re.sub(now_time, data)
+
+    pagecount_re = re.compile('\[pagecount\]', re.I)
+
+    curs.execute('select data from other where name = "count_all_title"')
+    all_title = curs.fetchall()
+
+    data = pagecount_re.sub(all_title[0][0], data)
     
     time_data = re.search('^([0-9]{4}-[0-9]{2}-[0-9]{2})', now_time)
     time = time_data.groups()