summaryrefslogtreecommitdiff
path: root/commcrawler/models.py
diff options
context:
space:
mode:
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)