Skip to content

Commit

Permalink
Give all except statements a checked for exception
Browse files Browse the repository at this point in the history
Signed-off-by: Dan Yeaw <dan@yeaw.me>
  • Loading branch information
danyeaw committed Nov 10, 2019
1 parent da1dbdd commit 590decf
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 61 deletions.
2 changes: 1 addition & 1 deletion .flake8
Expand Up @@ -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
7 changes: 5 additions & 2 deletions gaphor/UML/diagram.py
Expand Up @@ -5,13 +5,16 @@
The DiagramCanvas class extends the gaphas.Canvas class.
"""

import logging
import uuid

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
Expand Down Expand Up @@ -108,7 +111,7 @@ def unlink(self):
for item in self.canvas.get_all_items():
try:
item.unlink()
except:
pass
except AttributeError:
log.exception(f"Failed to unlink {item}")

super().unlink()
11 changes: 7 additions & 4 deletions gaphor/UML/element.py
Expand Up @@ -5,20 +5,23 @@

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.
"""
Expand Down Expand Up @@ -101,7 +104,7 @@ def load(self, name, value):
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)

Expand Down
10 changes: 5 additions & 5 deletions gaphor/UML/properties.py
Expand Up @@ -463,8 +463,8 @@ def _del_one(self, obj, value, from_opposite=False, do_notify=True):

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))
Expand All @@ -480,8 +480,8 @@ def _del_many(self, obj, value, from_opposite=False, do_notify=True):
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))
Expand Down Expand Up @@ -548,7 +548,7 @@ def unlink(self, obj):
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)
Expand Down
2 changes: 1 addition & 1 deletion gaphor/misc/gidlethread.py
Expand Up @@ -128,7 +128,7 @@ def __generator_executer(self):
except StopIteration:
self._idle_id = 0
return False
except:
except QueueEmpty:
self._exc_info = sys.exc_info()
self._idle_id = 0
return False
Expand Down
4 changes: 2 additions & 2 deletions gaphor/storage/parser.py
Expand Up @@ -58,13 +58,13 @@ def __getattr__(self, key):
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


Expand Down
42 changes: 10 additions & 32 deletions gaphor/storage/storage.py
Expand Up @@ -234,48 +234,26 @@ def create_canvasitems(diagram, canvasitems, parent=None):

# 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).
Expand Down Expand Up @@ -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)):
Expand Down
24 changes: 10 additions & 14 deletions gaphor/ui/filemanager.py
Expand Up @@ -13,7 +13,7 @@
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
Expand Down Expand Up @@ -69,17 +69,13 @@ def load(self, filename):

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(
Expand All @@ -95,7 +91,7 @@ def load(self, filename):

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
)
Expand Down Expand Up @@ -175,7 +171,7 @@ def save(self, filename):

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
)
Expand Down

0 comments on commit 590decf

Please sign in to comment.