SMOLNET PORTAL home about changes
iOptimize savehostscache. - eomyidae - a gopher crawler software	Err	bitreich.org	70
hgit clone git://bitreich.org/eomyidae	URL:git://bitreich.org/eomyidae	bitreich.org	70
1Log	/scm/eomyidae/log.gph	bitreich.org	70
1Files	/scm/eomyidae/files.gph	bitreich.org	70
1Refs	/scm/eomyidae/refs.gph	bitreich.org	70
1Tags	/scm/eomyidae/tag	bitreich.org	70
1README	/scm/eomyidae/file/README.md.gph	bitreich.org	70
1LICENSE	/scm/eomyidae/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 29cd7839e600acdd21378256d73b4703f799f04a	/scm/eomyidae/commit/29cd7839e600acdd21378256d73b4703f799f04a.gph	bitreich.org	70
1parent 0dac4a637d7e25983b563286bb0539d53ddf8d3e	/scm/eomyidae/commit/0dac4a637d7e25983b563286bb0539d53ddf8d3e.gph	bitreich.org	70
hAuthor: Christoph Lohmann <20h@r-36.net>	URL:mailto:20h@r-36.net	bitreich.org	70
iDate:   Mon, 12 Aug 2019 11:48:12 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iOptimize savehostscache.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M eomyidae                            |      49 ++++++++++++++++++++-----------	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 32 insertions(+), 17 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/eomyidae b/eomyidae	/scm/eomyidae/file/eomyidae.gph	bitreich.org	70
i@@ -429,6 +429,8 @@ def main(args):	Err	bitreich.org	70
i                 starturi = largs[0]	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         knownuris = loadlistdb("knownuris.pickle")	Err	bitreich.org	70
i+        if knownuris == []:	Err	bitreich.org	70
i+                knownuris = {}	Err	bitreich.org	70
i         lastlenknownuris = len(knownuris)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         def isblocked(uri):	Err	bitreich.org	70
i@@ -449,38 +451,43 @@ def main(args):	Err	bitreich.org	70
i                         if hostscount[host] <= 0:	Err	bitreich.org	70
i                                 del hostscount[host]	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        def addhostscache(host, uri, port=70):	Err	bitreich.org	70
i+        def addhostscache(uri, host=None, port=70, selector="/"):	Err	bitreich.org	70
i+                if uri != None and host == None:	Err	bitreich.org	70
i+                        (host, port, mtype, selector) = parseuri(uri)	Err	bitreich.org	70
i+                        port = int(port)	Err	bitreich.org	70
i+                else:	Err	bitreich.org	70
i+                        try:	Err	bitreich.org	70
i+                                port = int(port)	Err	bitreich.org	70
i+                        except ValueError:	Err	bitreich.org	70
i+                                return	Err	bitreich.org	70
i+	Err	bitreich.org	70
i                 if uri in knownuris:	Err	bitreich.org	70
i-                        #print("ignored for queue: %s" % (uri))	Err	bitreich.org	70
i+                        print("ignored for queue: %s" % (uri))	Err	bitreich.org	70
i                         return	Err	bitreich.org	70
i                 if host == "":	Err	bitreich.org	70
i-                        #print("ignored for queue: %s" % (uri))	Err	bitreich.org	70
i+                        print("ignored for queue: %s" % (uri))	Err	bitreich.org	70
i                         return	Err	bitreich.org	70
i                 if isblocked(uri):	Err	bitreich.org	70
i                         print("blocked by filters: %s" % (uri))	Err	bitreich.org	70
i                         return	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                try:	Err	bitreich.org	70
i-                        port = int(port)	Err	bitreich.org	70
i-                except ValueError:	Err	bitreich.org	70
i-                        return	Err	bitreich.org	70
i-	Err	bitreich.org	70
i                 addhostscount(host)	Err	bitreich.org	70
i 	Err	bitreich.org	70
i+                if not host in hostscache:	Err	bitreich.org	70
i+                        hostscache[host] = {}	Err	bitreich.org	70
i+                if not "queue" in hostscache[host]:	Err	bitreich.org	70
i+                        hostscache[host]["queue"] = {}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i                 filterrules = cacherobots(cachedir, uri, \	Err	bitreich.org	70
i                                 host=host, \	Err	bitreich.org	70
i                                 port=port, \	Err	bitreich.org	70
i                                 filtercache=robotscache)	Err	bitreich.org	70
i                 if selectorisallowed(filterrules, selector) == True:	Err	bitreich.org	70
i-                        if not host in hostscache:	Err	bitreich.org	70
i-                                hostscache[host] = {}	Err	bitreich.org	70
i-                        if not "queue" in hostscache[host]:	Err	bitreich.org	70
i-                                hostscache[host]["queue"] = {}	Err	bitreich.org	70
i                         hostscache[host]["queue"][uri] = None	Err	bitreich.org	70
i-                        #print("pushed to queue: %s" % (uri))	Err	bitreich.org	70
i+                        print("pushed to queue: %s" % (uri))	Err	bitreich.org	70
i                 else:	Err	bitreich.org	70
i                         pass	Err	bitreich.org	70
i-                        #print("blocked by robots: %s" % (uri))	Err	bitreich.org	70
i+                        print("blocked by robots: %s" % (uri))	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         def getqueuelen():	Err	bitreich.org	70
i                 queuelen = 0	Err	bitreich.org	70
i@@ -518,9 +525,13 @@ def main(args):	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         jobs = []	Err	bitreich.org	70
i         if starturi != None:	Err	bitreich.org	70
i+                #print("starturi = %s" % (starturi))	Err	bitreich.org	70
i                 if not isblocked(starturi):	Err	bitreich.org	70
i                         (starthost, startport, startmtype, startselector) = parseuri(starturi)	Err	bitreich.org	70
i-                        addhostscache(hostscache, starthost, starturi)	Err	bitreich.org	70
i+                        addhostscache(starturi, \	Err	bitreich.org	70
i+                                        selector=startselector, \	Err	bitreich.org	70
i+                                        host=starthost, \	Err	bitreich.org	70
i+                                        port=startport)	Err	bitreich.org	70
i                         try:	Err	bitreich.org	70
i                                 jobs.append([starturi, starthost, int(startport), startselector])	Err	bitreich.org	70
i                         except ValueError:	Err	bitreich.org	70
i@@ -564,7 +575,9 @@ def main(args):	Err	bitreich.org	70
i                                         if isblocked(jobitem[0]):	Err	bitreich.org	70
i                                                 continue	Err	bitreich.org	70
i                                         (host, port, mtype, selector) = parseuri(jobitem[0])	Err	bitreich.org	70
i-                                        jobs.append([jobitem[0], host, port, selector])	Err	bitreich.org	70
i+                                        job = [jobitem[0], host, port, selector]	Err	bitreich.org	70
i+                                        if job not in jobs:	Err	bitreich.org	70
i+                                                jobs.append([jobitem[0], host, port, selector])	Err	bitreich.org	70
i                                         hostjobs[selhost] -= 1	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                 print("Getting %d jobs." % (len(jobs)))	Err	bitreich.org	70
i@@ -591,7 +604,9 @@ def main(args):	Err	bitreich.org	70
i                                         guri =  "gopher://%s:%s/%s%s" % \	Err	bitreich.org	70
i                                                         (mi[3], mi[4], mi[0], mi[2])	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-                                        addhostscache(mi[3], guri, port=mi[4])	Err	bitreich.org	70
i+                                        addhostscache(guri, host=mi[3], \	Err	bitreich.org	70
i+                                                        port=mi[4], \	Err	bitreich.org	70
i+                                                        selector=mi[2])	Err	bitreich.org	70
i 	Err	bitreich.org	70
i                         print("Uri %s done." % (cururi))	Err	bitreich.org	70
i                         knownuris[cururi] = None	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/eomyidae/commit/29cd7839e600a...
Content-Typetext/plain; charset=utf-8