Ver código fonte

qubes-session-autostart: do not abort the whole process on invalid file

Marek Marczykowski-Górecki 8 anos atrás
pai
commit
67357e051f
1 arquivos alterados com 13 adições e 8 exclusões
  1. 13 8
      misc/qubes-session-autostart

+ 13 - 8
misc/qubes-session-autostart

@@ -68,14 +68,19 @@ def process_autostart(environments):
             # make the entry as processed, even if not actually started
             processed_entries[entry_name] = True
 
-            entry_path = os.path.join(path, entry_name)
-            # files in $HOME have higher priority than dropins
-            if not path.startswith(xdg.BaseDirectory.xdg_config_home):
-                entry = open_desktop_entry_and_dropins(entry_path)
-            else:
-                entry = DesktopEntry(entry_path)
-            if entry_should_be_started(entry, environments):
-                launch(entry_path)
+            try:
+                entry_path = os.path.join(path, entry_name)
+                # files in $HOME have higher priority than dropins
+                if not path.startswith(xdg.BaseDirectory.xdg_config_home):
+                    entry = open_desktop_entry_and_dropins(entry_path)
+                else:
+                    entry = DesktopEntry(entry_path)
+                if entry_should_be_started(entry, environments):
+                    launch(entry_path)
+            except Exception as e:
+                print >>sys.stderr, "Failed to process '{}': {}".format(
+                    entry_name, str(e)
+                )
 
 def main():
     process_autostart(sys.argv[1:])