Source code for wxpyNautilus.wxNautilus

#! python3
# -*- coding: utf-8 -*-
"""The frontend of Graph and Plug manager
"""
__version__ = "1.0rc"
__author__ = "Kazuya O'moto <komoto@jeol.co.jp>"
__copyright__ = "Copyright (c) 2018-2022"
__license__ = """\
This program is under MIT license
see https://opensource.org/licenses/MIT

logo icon: Submarine icons created by Smashicons - Flaticon
see https://www.flaticon.com/free-icons/submarine
"""
import getopt
import sys
import os
import wx
import wx.adv
from wx.lib.embeddedimage import PyEmbeddedImage

from mwx.graphman import Frame


[docs]class MainFrame(Frame): """the Frontend of Graph and Plug manager """ Name = "wxpyNautilus"
[docs] def About(self): info = wx.adv.AboutDialogInfo() info.Name = self.Name info.Version = __version__ info.Copyright = __copyright__ +' '+ __author__ info.License = __license__ info.Description = __doc__ info.Developers = [] info.DocWriters = [] info.Artists = [] info.SetWebSite("https://github.com/komoto48g") wx.adv.AboutBox(info)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.SetIcon(submarine.GetIcon()) home = os.path.dirname(__file__) sys.path.insert(0, os.path.join(home, 'plugins')) sys.path.insert(0, '') # Add local . to import si:local first try: si = __import__('siteinit') except ImportError: print("- No siteinit file.") else: print(f"Executing {si.__file__!r}") si.init_mainframe(self)
submarine = PyEmbeddedImage( b'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlw' b'SFlzAAAAdgAAAHYBTnsmCAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoA' b'AAJvSURBVDiNlZNPSJNhHMc/7/vu3eswN//MLUXJtliGosxhgSZ6sALN/iAYQacIA8Uu3rpU' b'YIdIqUOHKCzqIB2SohAKlbxkFpWplEttUG6mhPln6qZuezqo5LTCvpeHD9/f78vz8Px+sHWl' b'A+p/1EcpCbgFxG40dKunDOQBb9eb8bHkxsXgXFzCshwidiqACZiPDrC7WlAUK7MTTcRZu5n0' b'1fPT9wpQimy0XqiQ7ADhIFzrFHkP+tizPkAm6G9mMdCMznBMOljtRDNUAKgqTgFpHYMw4ANX' b'GsSo6Dc9IV8dqjaoON6MUhm8WfuI8GInkJ6RwJmaYkmzGEFVwDMJ00FUYBswtxYglWXTdbVS' b'Kj58QzQkpmLL2U1+ph2jpqLIIZSVKh2EIwglRvKNB5aGPMy4v4hKt5cBHcDMAhGjmdNtt0m1' b'mjd/QVgrQQ6PEtLKEXIywckXltr6jm63N5KjGA2cG5dRHt8hZdovcbFlBxlJc5gTBF/HVthm' b'6ifZ9IPv3h4a7o3gMH+gqkTWf/aIIor34vF1IyLDiKzyfUJpfCdMhYdE4GM0Bz8hco8X/uZ+' b'SdRVyTOyf564nl4IhSGoJSNS7CxrZuYWonkhAAv6VTZYCEVAliVFidc45cpCc+USk8gEo23P' b'qSke4EDeLOu51DmLVTeO91k7dSV97LfNcf+pGJPKsuk6kis5h/Qi0HgeqyT9Y6DXJODKdWW5' b'7XX4pA6gNBPjpSbaB0awnT1BZrYDg/qXtfF+kyN3HzI17BOXX76nVSqw07UzCUenm6Pjs/Tq' b'dOTvSqdAVtA2NhtjZcO0PzLo9vBk/TBZgO1buPgf9QutQu0u5lCEPQAAAABJRU5ErkJggg==') if __name__ == "__main__": session = None opts, args = getopt.gnu_getopt(sys.argv[1:], "s:") for k, v in opts: if k == "-s": if not v.endswith(".jssn"): v += ".jssn" session = v app = wx.App() frm = MainFrame(None) if session: try: print(f"Starting session {session!r}") frm.load_session(session, flush=False) except FileNotFoundError: print(f"- No such file {session!r}") try: import debut debut.main(frm.shellframe) except ImportError: pass frm.Show() app.MainLoop()