exceptions -> Url errors, documentation

This commit is contained in:
2020-12-31 08:02:38 +00:00
parent 0b5b985491
commit 8ff4a17629

View File

@@ -1,3 +1,5 @@
import re
from urllib.request import URLError
from django.contrib.auth.models import User
from django.core.validators import ValidationError
from django.db import models
@@ -7,12 +9,11 @@ from django.utils.text import slugify
from django.utils.translation import gettext_lazy as _
from taggit.managers import TaggableManager
from documents.api import getPadHTML, setPadHTML, createPadifNotExists
from .managers import (
PostManager, ArticleManager, NewsManager, AllEventManager, EventManager, FetMeetingManager
)
import re
from datetime import timedelta
@@ -104,50 +105,51 @@ class Post(models.Model):
try:
html = getPadHTML(self.agenda_key)
except Exception as e:
logger.error("Can't get the agenda html from agenda '%s'. Error: %s", self.agenda_key, e)
except URLError as error:
logger.error("Can't get the agenda html from agenda '%s'. Error: %s",
self.agenda_key, error)
html = None
return html
@agenda_html.setter
def agenda_html(self, value):
request_logger.info("Accessing etherpad ...")
if not self.agenda_key:
request_logger.info("not agenda key!")
if not value or value == "":
return value
self.agenda_key = self.get_agenda_key()
request_logger.info("AGENDA KEY: %s ", self.agenda_key)
request_logger.info("VALUE: %s ", value)
if self.agenda_key:
try:
setPadHTML(self.agenda_key, value)
except Exception as e:
request_logger.info("Es konnte kein Pad von der Agenda '{}' erzeugt werden. Error: {}".format(self.agenda_key, e))
request_logger.info("set etherpad!")
return value
def get_agenda_key(self):
if not self.slug:
if not value:
return None
if not self.agenda_key:
return None
try:
agenda_key = createPadifNotExists(self.slug + "-agenda")
except Exception as e:
request_logger.info("Die Agenda konnte von dem Slug '{}' nicht erstellt werden. Error: {}".format(self.slug, e))
return None
setPadHTML(self.agenda_key, value)
except URLError as error:
request_logger.error("Es konnte kein Pad von der Agenda '{}' erzeugt werden. Error: {}".format(self.agenda_key, error))
request_logger.info("set etherpad! for post %s id: %s", self.slug,self.agenda_key)
return value
def get_agenda_key(self):
"Create a Etherpad Id for the Pad associated to this post. Creates the pad if it doesn't exist"
if not self.slug:
return None
try:
agenda_key = createPadifNotExists(self.slug + "-agenda")
except URLError as error:
request_logger.info(
"""Die Agenda konnte von dem Slug '%s' nicht erstellt werden.
Error: %s""",self.slug, error)
return None
return agenda_key
def get_protocol_key(self):
"Create a Etherpad Id for the Pad associated to this post. Creates the pad if it doesn't exist"
if not self.slug:
return None
try:
protocol_key = createPadifNotExists(self.slug + "-protocol")
except Exception as e:
except URLError as e:
request_logger.info("Das Protokoll konnte von dem Slug '{}' nicht erstellt werden. Error: {}".format(self.slug, e))
return None
@@ -165,12 +167,11 @@ class Post(models.Model):
""" returns the url to the image"""
if self.image:
return self.image.url
else:
image = self.find_an_image()
if image:
return image.url
else:
return ""
image = self.find_an_image()
if image:
return image.url
return ""
#def key(self):
# return self.slug or self.id
@@ -270,7 +271,7 @@ class FetMeeting(Event):
raise ValidationError(
_('Es existiert bereits eine Sitzung mit demselben Datum.')
)
return None
return slug
@@ -280,12 +281,12 @@ class FetMeeting(Event):
try:
agenda_key = createPadifNotExists(self.slug + "-agenda")
except Exception as e:
except Exception as error:
raise ValidationError(
_('Die Agenda konnte nicht erstellt werden. Error: %(error)s'),
params={'error': str(e)},
)
return None
params={'error': str(error)},
) from error
return agenda_key