Source code for lhpcdt.desktop

#!/bin/env python

import sys, os
#from typing_extensions import final

# --- Classes




[docs] class DesktopEntry: """Implements a XDG menu entry""" def __init__(self, dryrun): self._version = "1.0" self._type = "Application" self.terminal = False self.icon = "" self.name = "Entry" self.exec_file = "" self.filename = "" self.dryrun = dryrun
[docs] def write(self): """Write desktop entry""" if self.filename == "": return try: f = None if self.dryrun: f = sys.stdout f.write("desktop entry = "+self.filename+"\n") else: f = open(self.filename, "w") f.write("[Desktop Entry]\n") f.write("Name=%s\n" % self.name) f.write("Type=%s\n" % self._type) if self.terminal: f.write("Terminal=true\n") else: f.write("Terminal=false\n") if self.icon != "": f.write("Icon=%s\n" % self.icon) if self.exec_file != "": f.write("Exec=%s\n" % self.exec_file) if not self.dryrun: f.close() except PermissionError: print("DesktopEntry: Couldn't write, %s, check permissions. " % self.filename) finally: if not self.dryrun: if f!=None: f.close()