summaryrefslogtreecommitdiff
path: root/commcrawler/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-08-09 00:15:26 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-08-09 00:15:26 +0200
commitbcacb3dcae815230c106cd773130f7b0ea5f720d (patch)
tree3dcb99ff067740d04689f7baa40a58b9289b98d9 /commcrawler/models.py
parent2d946cafdf247245bb58c41dbf4e8de699f950ba (diff)
downloadComm-on-net-bcacb3dcae815230c106cd773130f7b0ea5f720d.tar.bz2
Comm-on-net-bcacb3dcae815230c106cd773130f7b0ea5f720d.zip
Display progress
Diffstat (limited to 'commcrawler/models.py')
-rw-r--r--commcrawler/models.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/commcrawler/models.py b/commcrawler/models.py
index e715408..f526fb5 100644
--- a/commcrawler/models.py
+++ b/commcrawler/models.py
@@ -50,6 +50,17 @@ class Crawl(models.Model):
def target_nb(self):
return self.targets.count()
+ @property
+ def progress(self):
+ if self.status == "P":
+ todo = self.target_nb
+ if todo == 0:
+ return "-"
+ done = self.results.filter(status__in=("T", "F")).count()
+ percent = int(done / todo * 100)
+ return "{} % ({}/{})".format(percent, done, todo)
+ return "-"
+
class CrawlResult(models.Model):
STATUS = (
@@ -57,7 +68,8 @@ class CrawlResult(models.Model):
('T', _("Time out")),
('F', _("Finished"))
)
- crawl = models.ForeignKey(Crawl, verbose_name=_("Crawl"))
+ crawl = models.ForeignKey(Crawl, verbose_name=_("Crawl"),
+ related_name="results")
target = models.ForeignKey(Target, verbose_name=_("Target"))
started = models.DateTimeField(
verbose_name=_("Start date"), default=datetime.datetime.now)