File: webbrowser.dpatch

package info (click to toggle)
python2.2 2.2.3dfsg-2sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 36,920 kB
  • ctags: 69,127
  • sloc: ansic: 219,839; python: 203,969; sh: 9,690; makefile: 3,468; perl: 3,454; lisp: 3,248; xml: 2,262; cpp: 106; sed: 2
file content (121 lines) | stat: -rw-r--r-- 3,949 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#! /bin/sh -e

# DP: select correct webbrowser when DISPLAY is unset

dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
    dir="$3/"
elif [ $# -ne 1 ]; then
    echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
    exit 1
fi
case "$1" in
    -patch)
        patch $pdir -f --no-backup-if-mismatch -p0 < $0
        #cd ${dir}gcc && autoconf
        ;;
    -unpatch)
        patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
        #rm ${dir}gcc/configure
        ;;
    *)
	echo >&2 "usage: `basename $0`: -patch|-unpatch [-d <srcdir>]"
        exit 1
esac
exit 0

--- Lib/webbrowser.py	2002-10-12 00:06:12.000000000 +0200
+++ Lib/webbrowser.py	2002-11-25 20:54:05.000000000 +0100
@@ -135,6 +135,33 @@
         self.open(url, 1)
 
 
+class Galeon:
+    """Launcher class for Galeon browsers."""
+    def __init__(self, name):
+        self.name = name
+        self.basename = os.path.basename(name)
+
+    def _remote(self, action, autoraise):
+        raise_opt = ("--noraise", "")[autoraise]
+        cmd = "%s %s %s >/dev/null 2>&1" % (self.name, raise_opt, action)
+        rc = os.system(cmd)
+        if rc:
+            import time
+            os.system("%s >/dev/null 2>&1 &" % self.name)
+            time.sleep(PROCESS_CREATION_DELAY)
+            rc = os.system(cmd)
+        return not rc
+
+    def open(self, url, new=0, autoraise=1):
+        if new:
+            self._remote("-w '%s'" % url, autoraise)
+        else:
+            self._remote("-n '%s'" % url, autoraise)
+
+    def open_new(self, url):
+        self.open(url, 1)
+
+
 class Konqueror:
     """Controller for the KDE File Manager (kfm, or Konqueror).
 
@@ -234,7 +261,7 @@
 # the TERM and DISPLAY cases, because we might be running Python from inside
 # an xterm.
 if os.environ.get("TERM") or os.environ.get("DISPLAY"):
-    _tryorder = ["mozilla","netscape","kfm","grail","links","lynx","w3m"]
+    _tryorder = ["links", "lynx", "w3m"]
 
     # Easy cases first -- register console browsers if we have them.
     if os.environ.get("TERM"):
@@ -250,6 +277,9 @@
 
     # X browsers have more in the way of options
     if os.environ.get("DISPLAY"):
+        _tryorder = ["galeon", "skipstone", "mozilla", "netscape",
+                     "kfm", "grail"] + _tryorder
+
         # First, the Netscape series
         if _iscommand("mozilla"):
             register("mozilla", None, Netscape("mozilla"))
@@ -261,6 +291,15 @@
             register("mosaic", None, GenericBrowser(
                 "mosaic '%s' >/dev/null &"))
 
+        # Gnome's Galeon
+        if _iscommand("galeon"):
+            register("galeon", None, Galeon("galeon"))
+
+        # Skipstone, another Gtk/Mozilla based browser
+        if _iscommand("skipstone"):
+            register("skipstone", None, GenericBrowser(
+                "skipstone '%s' >/dev/null &"))
+
         # Konqueror/kfm, the KDE browser.
         if _iscommand("kfm") or _iscommand("konqueror"):
             register("kfm", Konqueror, Konqueror())
@@ -312,19 +351,19 @@
 # OK, now that we know what the default preference orders for each
 # platform are, allow user to override them with the BROWSER variable.
 #
-if os.environ.has_key("BROWSER"):
+if "BROWSER" in os.environ:
     # It's the user's responsibility to register handlers for any unknown
     # browser referenced by this value, before calling open().
     _tryorder = os.environ["BROWSER"].split(os.pathsep)
 
 for cmd in _tryorder:
-    if not _browsers.has_key(cmd.lower()):
+    if not cmd.lower() in _browsers:
         if _iscommand(cmd.lower()):
             register(cmd.lower(), None, GenericBrowser(
                 "%s '%%s'" % cmd.lower()))
 cmd = None # to make del work if _tryorder was empty
 del cmd
 
-_tryorder = filter(lambda x: _browsers.has_key(x.lower())
+_tryorder = filter(lambda x: x.lower() in _browsers
                    or x.find("%s") > -1, _tryorder)
 # what to do if _tryorder is now empty?