Make installation functional for upcoming code release

This commit is contained in:
2026-08-18 09:04:08 +02:00
parent 28a4b2d8d3
commit fb5705ada0
14 changed files with 79 additions and 55 deletions
+21 -22
View File
@@ -39,26 +39,22 @@ cfg = {
'db': 'yms',
'user': 'yms',
'docpath': '/var/local/yms',
'shapedir': 'webgui/shapes'
'shapedir': '/usr/local/bin/yms/shapes'
}
def get_share_dir():
program_dir = os.path.dirname(os.path.abspath(__file__))
source_ui = os.path.join(program_dir, "yms", "ui", "main.ui")
if os.path.isfile(source_ui):
return program_dir
return os.path.join(
os.path.dirname(os.path.dirname(program_dir)),
"share",
"yms"
)
def get_uiprefix():
path = os.path.realpath(__file__)
if path.startswith("/usr/local/"):
return "/usr/local/share"
if path.startswith("/usr/"):
return "/usr/share"
return ""
class Frontend():
def __init__(self):
self.uipath = os.path.join(get_share_dir(), "ui")
builder = Gtk.Builder()
builder.add_from_file(os.path.join(self.uipath, "main.ui"))
builder.add_from_file(os.path.join(get_uiprefix(), "yms", "ui", "main.ui"))
builder.connect_signals(self)
self.window = builder.get_object("wnd_main")
gtkutils.init_named_controls(self, builder)
@@ -89,15 +85,18 @@ class Frontend():
combobox.load_from_dict(self.combo['vessel'], vessel, self.vid)
# load shape of vessel if available
handle = Rsvg.Handle()
self._svg = handle.new_from_file(os.path.join(get_share_dir(), "shapes", "elizabethan29.svg"))
#self._svg = handle.new_from_file(os.path.join(sys.path[0], cfg['shapedir'], "elizabethan29.svg"))
#viewport = Rsvg.Rectangle()
#viewport.x = 0
#viewport.y = 0
#viewport.width = 320
#viewport.height = 240
#self._svg.render_document(ctx, viewport)
if self.vid > 0:
db.cur.execute("SELECT shapefile FROM vessel WHERE vid=%s", (self.vid, ))
filename = db.cur.fetchone()[0]
handle = Rsvg.Handle()
self._svg = handle.new_from_file(os.path.join(cfg['shapedir'], filename))
#self._svg = handle.new_from_file(os.path.join(sys.path[0], cfg['shapedir'], "elizabethan29.svg"))
#viewport = Rsvg.Rectangle()
#viewport.x = 0
#viewport.y = 0
#viewport.width = 320
#viewport.height = 240
#self._svg.render_document(ctx, viewport)
# combos
roles = {'captain': 'Captain', 'helmsman': 'Helmsman', 'sailor': 'Sailor'}