2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-15 19:45:46 +00:00

Merge remote-tracking branch 'inventree/master'

This commit is contained in:
Oliver Walters
2022-10-12 00:16:31 +11:00
3 changed files with 11 additions and 4 deletions

View File

@ -65,6 +65,7 @@ def handle_error(error, do_raise: bool = True, do_log: bool = True, log_name: st
"""Handles an error and casts it as an IntegrationPluginError.""" """Handles an error and casts it as an IntegrationPluginError."""
package_path = traceback.extract_tb(error.__traceback__)[-1].filename package_path = traceback.extract_tb(error.__traceback__)[-1].filename
install_path = sysconfig.get_paths()["purelib"] install_path = sysconfig.get_paths()["purelib"]
try: try:
package_name = pathlib.Path(package_path).relative_to(install_path).parts[0] package_name = pathlib.Path(package_path).relative_to(install_path).parts[0]
except ValueError: except ValueError:
@ -92,9 +93,10 @@ def handle_error(error, do_raise: bool = True, do_log: bool = True, log_name: st
log_error({package_name: str(error)}, **log_kwargs) log_error({package_name: str(error)}, **log_kwargs)
if do_raise: if do_raise:
# do a straight raise if we are playing with enviroment variables at execution time, ignore the broken sample # do a straight raise if we are playing with environment variables at execution time, ignore the broken sample
if settings.TESTING_ENV and package_name != 'integration.broken_sample' and isinstance(error, IntegrityError): if settings.TESTING_ENV and package_name != 'integration.broken_sample' and isinstance(error, IntegrityError):
raise error # pragma: no cover raise error # pragma: no cover
raise IntegrationPluginError(package_name, str(error)) raise IntegrationPluginError(package_name, str(error))

View File

@ -340,9 +340,14 @@ class InvenTreePlugin(VersionMixin, MixinBase, MetaBase):
# Try simple metadata lookup # Try simple metadata lookup
try: try:
meta = metadata(cls.__name__) meta = metadata(cls.__name__)
# Simpel lookup did not work - get data from module # Simple lookup did not work - get data from module
except PackageNotFoundError: except PackageNotFoundError:
try:
meta = metadata(cls.__module__.split('.')[0]) meta = metadata(cls.__module__.split('.')[0])
except PackageNotFoundError:
# Not much information we can extract at this point
return {}
return { return {
'author': meta['Author-email'], 'author': meta['Author-email'],

View File

@ -7,7 +7,7 @@
{% block heading %} {% block heading %}
{% blocktrans with name=plugin.human_name %}Plugin details for {{name}}{% endblocktrans %} {% trans "Plugin" %}: <em>{{ plugin.human_name }}</em>
{% endblock %} {% endblock %}
{% block content %} {% block content %}