From b336de7302fef6c9ed0b793240eb90ae02598cba Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Wed, 29 Jul 2009 19:50:38 -0300 Subject: [PATCH] fixed minor bugs with spiderctl webconsole extension --- scrapy/contrib/webconsole/spiderctl.py | 34 ++++++++++++-------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/scrapy/contrib/webconsole/spiderctl.py b/scrapy/contrib/webconsole/spiderctl.py index 1c0cc2dd3..40224f3e9 100644 --- a/scrapy/contrib/webconsole/spiderctl.py +++ b/scrapy/contrib/webconsole/spiderctl.py @@ -28,8 +28,7 @@ class Spiderctl(object): self.running.add(domain) def domain_closed(self, domain, spider): - if domain in self.running: - self.running.remove(domain) + self.running.remove(domain) self.finished.add(domain) def webconsole_render(self, wc_request): @@ -37,20 +36,19 @@ class Spiderctl(object): changes = self.webconsole_control(wc_request) enabled_domains = spiders.asdict().keys() - self.scheduled = set(scrapyengine.scheduler.pending_domains_count) - self.not_scheduled = [d for d in enabled_domains if d not in self.scheduled + self.scheduled = scrapyengine.domain_scheduler.pending_domains + self.idle = [d for d in enabled_domains if d not in self.scheduled and d not in self.running and d not in self.finished] s = banner(self) - s += '

Reload spiders

\n' s += '\n' - s += "\n" % \ + s += "\n" % \ (len(self.running), settings['CONCURRENT_DOMAINS'], len(self.scheduled), len(self.finished), - len(self.not_scheduled)) + len(self.idle)) s += "\n" # running @@ -69,7 +67,7 @@ class Spiderctl(object): s += "\n" - # not scheduled + # idle s += "\n' @@ -121,7 +120,8 @@ class Spiderctl(object): s += '\n' s += "\n" s += '
\n' - s += '\n' + s += '
\n' + s += "(enter one domain per line)\n" s += '\n' s += "\n" @@ -141,10 +141,6 @@ class Spiderctl(object): args = wc_request.args enabled_domains = spiders.asdict().keys() s = "
\n" - if "reloadspiders" in args: - scrapymanager.reload_spiders() - s += "

Spiders reloaded

\n" - return s if "stop_running_domains" in args: s += "

" @@ -175,7 +171,7 @@ class Spiderctl(object): s += "

" if "add_pending_domains" in args: for domain in args["add_pending_domains"]: - if domain not in scrapyengine.scheduler.pending_domains_count: + if domain not in scrapyengine.scheduler.pending_requests: scrapymanager.crawl(domain) s += "

" s += "Scheduled spiders:

" % "
  • ".join(args["add_pending_domains"]) @@ -184,7 +180,7 @@ class Spiderctl(object): to_schedule = set([d.strip() for d in args["bulk_schedule_domains"][0].split("\n")]) scheduled = set() for domain in to_schedule: - if domain in enabled_domains and domain not in scrapyengine.scheduler.pending_domains_count: + if domain in enabled_domains and domain not in scrapyengine.scheduler.pending_requests: scrapymanager.crawl(domain) scheduled.add(domain) if scheduled: @@ -196,7 +192,7 @@ class Spiderctl(object): s += "

    " if "rerun_finished_domains" in args: for domain in args["rerun_finished_domains"]: - if domain not in scrapyengine.scheduler.pending_domains_count: + if domain not in scrapyengine.scheduler.pending_requests: scrapymanager.crawl(domain) self.finished.remove(domain) s += "

    "

  • Running (%d/%d)Scheduled (%d)Finished (%d)Not scheduled (%d)
    Running (%d/%d)Scheduled (%d)Finished (%d)Idle (%d)
    \n" s += '
    \n' s += '
    \n' s += '
    ' @@ -90,11 +88,11 @@ class Spiderctl(object): s += '
    \n' s += "
    \n" s += '
    \n' s += '
    \n' s += '
    ' @@ -111,7 +109,8 @@ class Spiderctl(object): s += '\n' s += "\n" s += '
    \n' - s += '\n' + s += '
    \n' + s += "(enter one domain per line)\n" s += '
    \n' s += '