Forráskód Böngészése

알고리즘 설계 변경

Surplus_Up (2DU) 8 éve
szülő
commit
32cb6c005a
2 módosított fájl, 22 hozzáadás és 18 törlés
  1. 1 1
      app.py
  2. 21 17
      mark.py

+ 1 - 1
app.py

@@ -1355,7 +1355,7 @@ def deep_search(name = None):
 
             div_plus += '<li><a href="/w/' + url_pas(data[0]) + '">' + data[0] + '</a> (' + data[1] + ')</li>'
     else:
-        div += '<li>Not Found.</li>'
+        div += '<li>404</li>'
 
     div += div_plus + '</ul>'
     div += next_fix('/search/' + url_pas(name) + '?num=', num, all_list)

+ 21 - 17
mark.py

@@ -3,9 +3,10 @@ from set_mark.namu import namu
 import re
 import html
 import sqlite3
-from urllib import parse
+import urllib.parse
 import time
 import threading
+import multiprocessing
 
 def load_conn2(data):
     global conn
@@ -21,33 +22,36 @@ def send_parser(data):
         javascript = re.compile('javascript:', re.I)
         
         data = javascript.sub('', data)
-        data = re.sub('&lt;a href=&quot;(?:(?:(?!&quot;).)*)&quot;&gt;(?P<in>(?:(?!&lt;).)*)&lt;\/a&gt;', '<a href="' + parse.quote('\g<in>').replace('/','%2F') + '">\g<in></a>', data)
+        data = re.sub('&lt;a href=&quot;(?:(?:(?!&quot;).)*)&quot;&gt;(?P<in>(?:(?!&lt;).)*)&lt;\/a&gt;', '<a href="' + urllib.parse.quote('\g<in>').replace('/','%2F') + '">\g<in></a>', data)
     
     return data
     
-def plusing(name, link, backtype):
-    curs.execute("select title from back where title = ? and link = ? and type = ?", [link, name, backtype])
-    if not curs.fetchall():
-        curs.execute("insert into back (title, link, type) values (?, ?, ?)", [link, name, backtype])
+def plusing(data):
+    for data_in in data:
+        curs.execute("select title from back where title = ? and link = ? and type = ?", [data_in[1], data_in[0], data_in[2]])
+        if not curs.fetchall():
+            curs.execute("insert into back (title, link, type) values (?, ?, ?)", [data_in[1], data_in[0], data_in[2]])
 
 def namumark(title = '', data = '', num = 0):
     if not data == '':
         data = namu(conn, data, title, num)
 
         if num == 1:
-            i = 0
-            while 1:
-                try:
-                    _ = data[2][i][0]
-                except:
-                    break
-
-                thread_start = threading.Thread(target = plusing, args = [data[2][i][0], data[2][i][1], data[2][i][2]])
+            data_num = len(data[2]) 
+            data_in_num = int(data_num / 8)
+            data_in = []
+
+            for i in range(8):
+                if not i == 7:
+                    data_in += [data[2][data_in_num * i:data_in_num * (i + 1)]]
+                else:
+                    data_in += [data[2][data_in_num * i:]]
+
+            for data_in_for in data_in:
+                thread_start = threading.Thread(target = plusing, args = [data_in_for])
                 thread_start.start()
                 thread_start.join()
-
-                i += 1
-
+            
             conn.commit()
             
         return data[0] + data[1]