Give all except statements a checked for exception
Signed-off-by: Dan Yeaw <dan@yeaw.me>
This commit is contained in:
parent
da1dbddaa4
commit
590decf1b2
2
.flake8
2
.flake8
@ -3,4 +3,4 @@ ignore = E203, E266, E501, W503, F403, F401
|
||||
max-line-length = 88
|
||||
max-complexity = 18
|
||||
select = B,C,E,F,W,T4,B9
|
||||
exclude = uml2.py
|
||||
exclude = uml2.py,msgfmt.py,pygettext.py
|
@ -5,6 +5,7 @@ representation of a UML diagram. Diagrams can be visualized and edited.
|
||||
The DiagramCanvas class extends the gaphas.Canvas class.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
|
||||
import gaphas
|
||||
@ -12,6 +13,8 @@ import gaphas
|
||||
from gaphor.UML.properties import umlproperty
|
||||
from gaphor.UML.uml2 import Namespace, PackageableElement
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class DiagramCanvas(gaphas.Canvas):
|
||||
"""DiagramCanvas extends the gaphas.Canvas class. Updates to the canvas
|
||||
@ -108,7 +111,7 @@ class Diagram(Namespace, PackageableElement):
|
||||
for item in self.canvas.get_all_items():
|
||||
try:
|
||||
item.unlink()
|
||||
except:
|
||||
pass
|
||||
except AttributeError:
|
||||
log.exception(f"Failed to unlink {item}")
|
||||
|
||||
super().unlink()
|
||||
|
@ -5,20 +5,23 @@ Base class for UML model elements.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
from typing import TYPE_CHECKING, Optional, Sequence, Type, Union
|
||||
|
||||
from gaphor.UML.elementdispatcher import EventWatcher
|
||||
from gaphor.UML.properties import relation_many, relation_one, umlproperty
|
||||
|
||||
__all__ = ["Element"]
|
||||
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from gaphor.UML.elementfactory import ElementFactory # noqa
|
||||
from gaphor.UML.presentation import Presentation # noqa
|
||||
|
||||
|
||||
__all__ = ["Element"]
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class UnlinkEvent:
|
||||
"""Used to tell event handlers this element should be unlinked.
|
||||
"""
|
||||
@ -101,7 +104,7 @@ class Element:
|
||||
try:
|
||||
prop = getattr(type(self), name)
|
||||
except AttributeError:
|
||||
raise AttributeError(f"'{type(self).__name__}' has no property '{name}'")
|
||||
log.exception(f"'{type(self).__name__}' has no property '{name}'")
|
||||
else:
|
||||
prop.load(self, value)
|
||||
|
||||
|
@ -463,8 +463,8 @@ class association(umlproperty[T]):
|
||||
|
||||
try:
|
||||
delattr(obj, self._name)
|
||||
except:
|
||||
pass
|
||||
except AttributeError:
|
||||
log.exception(f"Delete attribute failed for {obj} with {self._name}")
|
||||
else:
|
||||
if do_notify:
|
||||
self.handle(AssociationSet(obj, self, value, None))
|
||||
@ -480,8 +480,8 @@ class association(umlproperty[T]):
|
||||
items = c.items
|
||||
try:
|
||||
items.remove(value)
|
||||
except:
|
||||
pass
|
||||
except ValueError:
|
||||
log.exception(f"Removing {value} from list {items} failed")
|
||||
else:
|
||||
if do_notify:
|
||||
self.handle(AssociationDeleted(obj, self, value))
|
||||
@ -548,7 +548,7 @@ class associationstub(umlproperty[T]):
|
||||
try:
|
||||
values = getattr(obj, self._name)
|
||||
except AttributeError:
|
||||
pass
|
||||
log.exception(f"Failed to unlink {self._name} from {obj}")
|
||||
else:
|
||||
for value in set(values):
|
||||
self.association.__delete__(value, obj)
|
||||
|
@ -128,7 +128,7 @@ class GIdleThread:
|
||||
except StopIteration:
|
||||
self._idle_id = 0
|
||||
return False
|
||||
except:
|
||||
except QueueEmpty:
|
||||
self._exc_info = sys.exc_info()
|
||||
self._idle_id = 0
|
||||
return False
|
||||
|
@ -58,13 +58,13 @@ class base:
|
||||
def __getitem__(self, key):
|
||||
try:
|
||||
return self.values[key]
|
||||
except:
|
||||
except KeyError:
|
||||
return self.references[key]
|
||||
|
||||
def get(self, key):
|
||||
try:
|
||||
return self.__getitem__(key)
|
||||
except:
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
|
||||
|
@ -234,48 +234,26 @@ def load_elements_generator(elements, factory, gaphor_version):
|
||||
|
||||
# load attributes and references:
|
||||
for name, value in list(elem.values.items()):
|
||||
try:
|
||||
elem.element.load(name, value)
|
||||
except:
|
||||
log.error(
|
||||
"Loading value %s (%s) for element %s failed."
|
||||
% (name, value, elem.element)
|
||||
)
|
||||
raise
|
||||
elem.element.load(name, value)
|
||||
|
||||
for name, refids in list(elem.references.items()):
|
||||
if isinstance(refids, list):
|
||||
for refid in refids:
|
||||
try:
|
||||
ref = elements[refid]
|
||||
except:
|
||||
raise ValueError(
|
||||
"Invalid ID for reference (%s) for element %s.%s"
|
||||
% (refid, elem.type, name)
|
||||
except ValueError:
|
||||
log.exception(
|
||||
f"Invalid ID for reference ({refid}) for element {elem.type}.{name}"
|
||||
)
|
||||
else:
|
||||
try:
|
||||
elem.element.load(name, ref.element)
|
||||
except:
|
||||
log.error(
|
||||
"Loading %s.%s with value %s failed"
|
||||
% (type(elem.element).__name__, name, ref.element.id)
|
||||
)
|
||||
raise
|
||||
elem.element.load(name, ref.element)
|
||||
else:
|
||||
try:
|
||||
ref = elements[refids]
|
||||
except:
|
||||
raise ValueError(f"Invalid ID for reference ({refids})")
|
||||
except ValueError:
|
||||
log.exception(f"Invalid ID for reference ({refids})")
|
||||
else:
|
||||
try:
|
||||
elem.element.load(name, ref.element)
|
||||
except:
|
||||
log.error(
|
||||
"Loading %s.%s with value %s failed"
|
||||
% (type(elem.element).__name__, name, ref.element.id)
|
||||
)
|
||||
raise
|
||||
elem.element.load(name, ref.element)
|
||||
|
||||
# Before version 0.7.2 there was only decision node (no merge nodes).
|
||||
# This node could have many incoming and outgoing flows (edges).
|
||||
@ -333,8 +311,8 @@ def load_generator(filename, factory):
|
||||
elements = loader.elements
|
||||
gaphor_version = loader.gaphor_version
|
||||
|
||||
except Exception:
|
||||
log.error("File could no be parsed", exc_info=True)
|
||||
except OSError:
|
||||
log.exception("File could no be parsed")
|
||||
raise
|
||||
|
||||
if version_lower_than(gaphor_version, (0, 17, 0)):
|
||||
|
@ -13,7 +13,7 @@ from gaphor import UML
|
||||
from gaphor.abc import ActionProvider, Service
|
||||
from gaphor.core import action, event_handler, translate
|
||||
from gaphor.misc.errorhandler import error_handler
|
||||
from gaphor.misc.gidlethread import GIdleThread, Queue
|
||||
from gaphor.misc.gidlethread import GIdleThread, Queue, QueueEmpty, QueueFull
|
||||
from gaphor.misc.xmlwriter import XMLWriter
|
||||
from gaphor.storage import storage, verify
|
||||
from gaphor.ui.event import FileLoaded, FileSaved, WindowClosed
|
||||
@ -69,17 +69,13 @@ class FileManager(Service, ActionProvider):
|
||||
|
||||
queue = Queue()
|
||||
status_window: Optional[StatusWindow]
|
||||
try:
|
||||
main_window = self.main_window
|
||||
status_window = StatusWindow(
|
||||
translate("Loading..."),
|
||||
translate("Loading model from %s") % filename,
|
||||
parent=main_window.window,
|
||||
queue=queue,
|
||||
)
|
||||
except:
|
||||
log.warning("Could not create status window, proceding without.")
|
||||
status_window = None
|
||||
main_window = self.main_window
|
||||
status_window = StatusWindow(
|
||||
translate("Loading..."),
|
||||
translate(f"Loading model from {filename}"),
|
||||
parent=main_window.window,
|
||||
queue=queue,
|
||||
)
|
||||
|
||||
try:
|
||||
loader = storage.load_generator(
|
||||
@ -95,7 +91,7 @@ class FileManager(Service, ActionProvider):
|
||||
|
||||
self.filename = filename
|
||||
self.event_manager.handle(FileLoaded(self, filename))
|
||||
except:
|
||||
except (QueueEmpty, QueueFull):
|
||||
error_handler(
|
||||
message=translate("Error while loading model from file %s") % filename
|
||||
)
|
||||
@ -175,7 +171,7 @@ class FileManager(Service, ActionProvider):
|
||||
|
||||
self.filename = filename
|
||||
self.event_manager.handle(FileSaved(self, filename))
|
||||
except:
|
||||
except (OSError, QueueEmpty, QueueFull):
|
||||
error_handler(
|
||||
message=translate("Error while saving model to file %s") % filename
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user