/[cvs]/nfo/projects/netfraggle/bin/fraggleEngine.py
ViewVC logotype

Contents of /nfo/projects/netfraggle/bin/fraggleEngine.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations)
Thu Aug 26 15:25:04 2004 UTC (19 years, 10 months ago) by joko
Branch: MAIN
Changes since 1.2: +3 -0 lines
File MIME type: text/x-python
added cvs headers

1 #!/usr/bin/env python
2
3 # $Id$
4 # $Log$
5
6 import os
7 from fraggleConstants import *
8
9 class FraggleEngine:
10 """Back-end doing the work."""
11 def __init__(self):
12 self.settings = {}
13
14 def getDefaultDir(self):
15 """Gets location of default dir and creates it
16 if necessary. ($HOME/.pears/)"""
17 try:
18 import pearsdebug
19 savedir = pearsdebug.savedir
20 except:
21 dir = '.netfraggle'
22 savedir = os.path.expanduser(os.path.join('~', dir))
23 if len(savedir)<=len("c:\\/" + dir):
24 # problem that might occur on Win2k (no $HOME environment variable)
25 temp = os.path.join(os.path.expandvars('$USERPROFILE'), dir)
26 if temp > len("c:\\/" + dir):
27 savedir = temp
28 # create dir if it doesn't exist
29 if not os.path.exists(savedir):
30 os.makedirs(savedir)
31 return savedir
32
33 def setSetting(self, settingname, value):
34 """Sets settingname to value in self.settings."""
35 self.settings[settingname] = value
36
37 def getSetting(self, settingname, default=None):
38 """Returns settingname from self.settings. If not found
39 and default!=None, the default value is return *and*
40 saved to the settings."""
41 if self.settings.has_key(settingname):
42 return self.settings[settingname]
43 else:
44 if default!=None:
45 self.setSetting(settingname, default)
46 return default
47 else:
48 return None
49
50
51 class urlOpener(object):
52 """Opens urls."""
53 def __init__(self):
54 pass
55 def open(self, url="", command=None):
56 """Opens the url with the method defined in the settings.
57 If command==None, it is retreived from the settings.
58 """
59 if command==None:
60 command = FraggleEngine().getSetting(BROWSERCOMMAND, BROWSERDEFAULT)
61 if command==BROWSERDEFAULT.strip():
62 # use default opening method
63 import os
64 if os.environ.has_key("BROWSER") and \
65 os.environ["BROWSER"]=='kfmclient openProfile webbrowsing':
66 print "Invalid browser detected : %s\nResetting to konqueror." % os.environ["BROWSER"]
67 os.environ["BROWSER"] = 'konqueror' # set it to konqueror
68 import webbrowser # MUST be imported only AFTER os.environ has been modified
69 webbrowser.open(url, 1)
70 #webbrowser.open_new(url)
71 else: #otherwise use user-defined command line
72 # replase %URL with actual url
73 command = command.replace("%URL", url)
74 import os
75 os.system(command)
76

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed