From f1e31041286c27500cee5720b02a4193e3790009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Tue, 25 May 2010 16:31:15 +0200 Subject: [PATCH] Do not fail if json Python module is not available Fallback to old simplejson module if present, and options that require the json module (create extension and performance) if absent. https://bugzilla.gnome.org/show_bug.cgi?id=619580 --- src/gnome-shell.in | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/gnome-shell.in b/src/gnome-shell.in index c1a439dd7..772a8cf6f 100644 --- a/src/gnome-shell.in +++ b/src/gnome-shell.in @@ -3,7 +3,13 @@ import atexit import datetime -import json +try: + import json +except ImportError: + try: + import simplejson as json + except ImportError: + json = None import optparse import os import random @@ -548,9 +554,15 @@ if args: parser.print_usage() sys.exit(1) -if options.create_extension: - import json +if options.create_extension and json is None: + print 'The Python simplejson module is required to create a new GNOME Shell extension' + sys.exit(1) +if options.perf and json is None: + print 'The Python simplejson module is required for performance tests' + sys.exit(1) + +if options.create_extension: print print '''Name should be a very short (ideally descriptive) string. Examples are: "Click To Focus", "Adblock", "Shell Window Shrinker".