fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Error handling fix.
[redakcja.git]
/
src
/
alerts
/
models.py
diff --git
a/src/alerts/models.py
b/src/alerts/models.py
index
268089a
..
a262980
100644
(file)
--- a/
src/alerts/models.py
+++ b/
src/alerts/models.py
@@
-7,6
+7,10
@@
from .rules import rules, rules_by_tag
class Alert(models.Model):
book = models.ForeignKey('documents.Book', models.CASCADE)
tag = models.CharField(max_length=32)
class Alert(models.Model):
book = models.ForeignKey('documents.Book', models.CASCADE)
tag = models.CharField(max_length=32)
+ comment = models.TextField(blank=True)
+
+ def get_absolute_url(self):
+ return self.book.get_absolute_url()
@property
def rule(self):
@property
def rule(self):
@@
-17,16
+21,23
@@
class Alert(models.Model):
cls.objects.filter(book=book).delete()
try:
wlbook = book.wldocument(publishable=False, librarian2=True)
cls.objects.filter(book=book).delete()
try:
wlbook = book.wldocument(publishable=False, librarian2=True)
- except:
- cls.objects.create(book=book, tag='parse')
+ except
Exception as e
:
+ cls.objects.create(book=book, tag='parse'
, comment=str(e)
)
return
return
+ try:
+ meta = wlbook.meta
+ except Exception as e:
+ cls.objects.create(book=book, tag='meta', comment=str(e))
+ return
+
for rule in rules:
for rule in rules:
- if rule.check_meta(
wlbook.
meta):
+ if rule.check_meta(meta):
print(rule.tag, book)
cls.objects.create(book=book, tag=rule.tag)
@receiver(post_commit)
def validate_post_commit(sender, **kwargs):
print(rule.tag, book)
cls.objects.create(book=book, tag=rule.tag)
@receiver(post_commit)
def validate_post_commit(sender, **kwargs):
- Alert.validate_book(sender.tree.book)
+ if hasattr(sender.tree, 'book'):
+ Alert.validate_book(sender.tree.book)