carandraug / mRNA-localisation-screening

1 stars 3 forks source link

opening on OSX #2

Open jstitlow opened 6 years ago

jstitlow commented 6 years ago

xdg-open is awkward on OSX.

I worked around it like this:

    def open_image(self):
        fig_file = self.img_fpaths[self.current_img]
    opener = "open"
#       args = ["open", fig_file]
        self.viewer = subprocess.call([opener, fig_file])
#        if not self.viewer.returncode is None:
#            error_dialog = QtWidgets.QErrorMessage(parent=self)
#            error_dialog.setModal(True)
#            error_dialog.showMessage("failed to call %s" % args)

But a more permanent solution might look something like this:

import os, sys, subprocess

def open_file(filename):
    if sys.platform == "win32":
        os.startfile(filename)
    else:
        opener ="open" if sys.platform == "darwin" else "xdg-open"
        subprocess.call([opener, filename])