canonn-science / EDMC-Canonn

Project Athens: EDMC plugin to automatically collect accurate science data from the galaxy and coordinate missions
GNU General Public License v3.0
80 stars 12 forks source link

[BUG] plugin does not load on Linux, missing module winsound #74

Closed supernovajm closed 4 years ago

supernovajm commented 4 years ago

What is your commander name Jett Brawndo

What version are you running 5.20.1

Describe the bug no module named winsound

To Reproduce Fresh install on Ubuntu Linux (19.04), launch EDMC with plugin in plugins folder

Expected behavior plugin should load

Log Files loading plugin coriolis from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/coriolis.py" loading plugin eddb from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddb.py" loading plugin eddn from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddn.py" loading plugin edsy from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsy.py" loading plugin edsm from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsm.py" loading plugin inara from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/inara.py" loading plugin EDMC-Canonn from "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/load.py" EDMC-Canonn: Starting the debug sub-system Traceback (most recent call last): File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 193, in load_plugins found.append(Plugin(name, os.path.join(config.plugin_dir, name, 'load.py'))) File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 94, in init ('.py', 'r', imp.PY_SOURCE)) File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/load.py", line 12, in from canonn import clientreport File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/canonn/clientreport.py", line 14, in from canonn.release import Release File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/canonn/release.py", line 29, in from canonn.player import Player File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/canonn/player.py", line 2, in from winsound import ImportError: No module named winsound Polling Journal "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous" Start logfile "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous/Journal.200421133059.01.log" Stopping monitoring Dashboard Stopping monitoring Journal jeff@jm-fractal:~/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector$ edmarketconnector loading plugin coriolis from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/coriolis.py" loading plugin eddb from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddb.py" loading plugin eddn from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddn.py" loading plugin edsy from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsy.py" loading plugin edsm from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsm.py" loading plugin inara from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/inara.py" loading plugin EDMC-Canonn-5_20_1 from "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn-5.20.1/load.py" EDMC-Canonn: Starting the debug sub-system Traceback (most recent call last): File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 193, in load_plugins found.append(Plugin(name, os.path.join(config.plugin_dir, name, 'load.py'))) File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 94, in init ('.py', 'r', imp.PY_SOURCE)) File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn-5.20.1/load.py", line 12, in from canonn import clientreport File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn-5.20.1/canonn/clientreport.py", line 14, in from canonn.release import Release File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn-5.20.1/canonn/release.py", line 29, in from canonn.player import Player File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn-5.20.1/canonn/player.py", line 2, in from winsound import ImportError: No module named winsound Polling Journal "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous" Start logfile "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous/Journal.200421133059.01.log"

NoFoolLikeOne commented 4 years ago

I can have a look at allowing it to load without winsound but its not something I can test

supernovajm commented 4 years ago

Happy to test and report back, let me know.

VAKazakov commented 4 years ago

modules.zip @supernovajm if you able, can you unzip that to canonn dir inside of EDMC-Canonn dir? PS, you maybe want to save original player.py module

supernovajm commented 4 years ago

(Edit - Clarification: Results below are with the zip provided above)

So i don't have a canonn tab in settings per setup instructions, but cannon did have some display on the main window. Also if there was supposed to be any sound at this point, i didn't hear it.

image

Here's the output when i run edmarketconnector

loading plugin coriolis from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/coriolis.py"
loading plugin eddb from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddb.py"
loading plugin eddn from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/eddn.py"
loading plugin edsy from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsy.py"
loading plugin edsm from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/edsm.py"
loading plugin inara from "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plugins/inara.py"
loading plugin EDMC-Canonn from "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/load.py"
EDMC-Canonn: Starting the debug sub-system
loading plugin LandingPad from "/home/jeff/.local/share/EDMarketConnector/plugins/LandingPad/load.py"
Traceback (most recent call last):
  File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 121, in get_app
    appitem = plugin_app(parent)
  File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/load.py", line 126, in plugin_app
    this.patrol = patrol.CanonnPatrol(table, 3)
  File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/canonn/patrol.py", line 211, in __init__
    self.IMG_PREV = tk.PhotoImage(file=u'{}\\icons\\left_arrow.gif'.format(CanonnPatrol.plugin_dir))
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 3380, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 3334, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
TclError: couldn't open "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn\icons\left_arrow.gif": no such file or directory
Polling Journal "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous"
Start logfile "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/drive_c/users/steamuser/Saved Games/Frontier Developments/Elite Dangerous/Journal.200422221432.01.log"
Exception in thread update worker:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/update.py", line 32, in worker
    feed = ElementTree.fromstring(r.text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1311, in XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1659, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1523, in _raiseerror
    raise err
ParseError: syntax error: line 2, column 49

The left_arrow.gif not being found seems to be a problem with backslashes vs forwardslashes.

further errors when opening settings

Traceback (most recent call last):
  File "/home/jeff/.steam/steam/steamapps/compatdata/359320/pfx/EDMarketConnector/EDMarketConnector/plug.py", line 149, in get_prefs
    frame = plugin_prefs(parent, cmdr, is_beta)
  File "/home/jeff/.local/share/EDMarketConnector/plugins/EDMC-Canonn/load.py", line 60, in plugin_prefs
    this.patrol.plugin_prefs(frame, cmdr, is_beta, 3)
AttributeError: 'module' object has no attribute 'plugin_prefs'
supernovajm commented 4 years ago

So I opened up the plugin.py and changed the file paths to forward slashes, and it seems to load without errors! I don't know python but maybe there's another way to point to that path that would be OS-agnostic?

before

211         self.IMG_PREV = tk.PhotoImage(file=u'{}\\icons\\left_arrow.gif'.format(CanonnPatrol.plugin_dir))
212         self.IMG_NEXT = tk.PhotoImage(file=u'{}\\icons\\right_arrow.gif'.format(CanonnPatrol.plugin_dir))

After

211         self.IMG_PREV = tk.PhotoImage(file=u'{}/icons/left_arrow.gif'.format(CanonnPatrol.plugin_dir))
212         self.IMG_NEXT = tk.PhotoImage(file=u'{}/icons/right_arrow.gif'.format(CanonnPatrol.plugin_dir))
NoFoolLikeOne commented 4 years ago

Thanks I'll get the paths sorted out.

NoFoolLikeOne commented 4 years ago

Hope to have something released in a day or so. But now checked in on the master if you want to try it out

supernovajm commented 4 years ago

Tried out the master and it seems to work. Thanks!

NoFoolLikeOne commented 4 years ago

Hurrah!