40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
try:
|
|
# Note the relative import!
|
|
from .action_archive_3d_models import Archive3DModels
|
|
# Instantiate and register to Pcbnew
|
|
Archive3DModels().register()
|
|
# if failed, log the error and let the user know
|
|
except Exception as e:
|
|
# log the error
|
|
import os
|
|
plugin_dir = os.path.dirname(os.path.realpath(__file__))
|
|
log_file = os.path.join(plugin_dir, 'archive_3d_models_error.log')
|
|
with open(log_file, 'w') as f:
|
|
f.write(repr(e))
|
|
# register dummy plugin, to let the user know of the problems
|
|
import pcbnew
|
|
import wx
|
|
|
|
class Archive3DModels(pcbnew.ActionPlugin):
|
|
"""
|
|
Notify user of missing wxpython
|
|
"""
|
|
|
|
def defaults(self):
|
|
self.name = "Archive 3DModels"
|
|
self.category = "Get compound PCB data"
|
|
self.description = "Dummy plugin for minimal user feedback"
|
|
|
|
def Run(self):
|
|
caption = self.name
|
|
message = "There was an error while loading plugin \n" \
|
|
"Please take a look in the plugin folder for archive_3d_models_error.log\n" \
|
|
"You can raise an issue on GitHub page.\n" \
|
|
"Please attach the .log file"
|
|
dlg = wx.MessageBox(message, caption, wx.OK | wx.ICON_ERROR)
|
|
dlg.ShowModal()
|
|
dlg.Destroy()
|
|
|
|
Archive3DModels().register()
|
|
|