mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Merge pull request #8751 from francoisfreitag/mult-open
Linkcheck: Don’t repeatedly open/close log files
This commit is contained in:
commit
2e0d7e539a
@ -118,10 +118,6 @@ class CheckExternalLinksBuilder(DummyBuilder):
|
|||||||
self._redirected = {} # type: Dict[str, Tuple[str, int]]
|
self._redirected = {} # type: Dict[str, Tuple[str, int]]
|
||||||
# set a timeout for non-responding servers
|
# set a timeout for non-responding servers
|
||||||
socket.setdefaulttimeout(5.0)
|
socket.setdefaulttimeout(5.0)
|
||||||
# create output file
|
|
||||||
open(path.join(self.outdir, 'output.txt'), 'w').close()
|
|
||||||
# create JSON output file
|
|
||||||
open(path.join(self.outdir, 'output.json'), 'w').close()
|
|
||||||
|
|
||||||
# create queues and worker threads
|
# create queues and worker threads
|
||||||
self.rate_limits = {} # type: Dict[str, RateLimit]
|
self.rate_limits = {} # type: Dict[str, RateLimit]
|
||||||
@ -435,13 +431,11 @@ class CheckExternalLinksBuilder(DummyBuilder):
|
|||||||
|
|
||||||
def write_entry(self, what: str, docname: str, filename: str, line: int,
|
def write_entry(self, what: str, docname: str, filename: str, line: int,
|
||||||
uri: str) -> None:
|
uri: str) -> None:
|
||||||
with open(path.join(self.outdir, 'output.txt'), 'a') as output:
|
self.txt_outfile.write("%s:%s: [%s] %s\n" % (filename, line, what, uri))
|
||||||
output.write("%s:%s: [%s] %s\n" % (filename, line, what, uri))
|
|
||||||
|
|
||||||
def write_linkstat(self, data: dict) -> None:
|
def write_linkstat(self, data: dict) -> None:
|
||||||
with open(path.join(self.outdir, 'output.json'), 'a') as output:
|
self.json_outfile.write(json.dumps(data))
|
||||||
output.write(json.dumps(data))
|
self.json_outfile.write('\n')
|
||||||
output.write('\n')
|
|
||||||
|
|
||||||
def finish(self) -> None:
|
def finish(self) -> None:
|
||||||
logger.info('')
|
logger.info('')
|
||||||
@ -452,9 +446,11 @@ class CheckExternalLinksBuilder(DummyBuilder):
|
|||||||
n += 1
|
n += 1
|
||||||
|
|
||||||
done = 0
|
done = 0
|
||||||
while done < n:
|
with open(path.join(self.outdir, 'output.txt'), 'w') as self.txt_outfile,\
|
||||||
self.process_result(self.rqueue.get())
|
open(path.join(self.outdir, 'output.json'), 'w') as self.json_outfile:
|
||||||
done += 1
|
while done < n:
|
||||||
|
self.process_result(self.rqueue.get())
|
||||||
|
done += 1
|
||||||
|
|
||||||
if self._broken:
|
if self._broken:
|
||||||
self.app.statuscode = 1
|
self.app.statuscode = 1
|
||||||
|
Loading…
Reference in New Issue
Block a user