/usr/share/pyshared/PreludeNotify/pnconfig.py is in prelude-notify 0.9.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | # Copyright (C) 2008 PreludeIDS Technologies. All Rights Reserved.
# Author: Sebastien Tricaud <toady@inl.fr>
# Alexandre De Dommelin <adedommelin@tuxz.net>
#
# This file is part of the Prewikka program.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
import os
import PreludeEasy
import ErrorDialog
from ManagerConnection import Session
from PreludeNotify import siteconfig
from ConfigParser import SafeConfigParser
userconfigpath = "%s/.prelude-notify" % (os.getenv("HOME"))
globalthemespath = siteconfig.prefix + "/share/prelude-notify/themes"
userthemespath = userconfigpath + "/themes"
class PnConfig(SafeConfigParser):
_globalconfigfile = siteconfig.conf_dir + "/prelude-notify.conf"
_userconfigfile = userconfigpath + "/prelude-notifyrc"
def __init__(self, env):
SafeConfigParser.__init__(self)
self._updated = {}
self.env = env
if os.path.exists(self._userconfigfile):
self.read(self._userconfigfile)
elif os.path.exists(self._globalconfigfile):
self.read(self._globalconfigfile)
else:
SafeConfigParser.set(self, "general", "threshold_timeout", "5")
SafeConfigParser.set(self, "general", "x11_idle_timeout", "5")
SafeConfigParser.set(self, "idmef", "profile", "prelude-notify")
SafeConfigParser.set(self, "idmef", "filter", "")
SafeConfigParser.set(self, "manager", "addresses", "127.0.0.1")
SafeConfigParser.set(self, "prewikka", "url", "http://localhost:8000")
SafeConfigParser.set(self, "ui", "theme", "default")
SafeConfigParser.set(self, "ui", "browser", "auto")
_configtheme = SafeConfigParser.get(self,"ui","theme")
if os.path.isdir( userthemespath + "/" + _configtheme ):
self.theme = userthemespath + "/" + _configtheme
elif os.path.isdir( globalthemespath + "/" + _configtheme ):
self.theme = globalthemespath + "/" + _configtheme
else:
self.theme = globalthemespath + "/" + "default"
def getIconOk(self):
return self.theme + "/tray/notify-ok.png"
def getIconBad(self):
return self.theme + "/tray/notify-bad.png"
def getThemePath(self):
return self.theme
def set(self, section, key, value):
old = SafeConfigParser.get(self, section, key)
if value != old:
self._updated[key] = section, key, value
return SafeConfigParser.set(self, section, key, value)
def _update(self):
if self._updated.has_key("profile") or self._updated.has_key("addresses"):
self.env.managercon.close()
self.env.managercon = Session(self.env, self.get("idmef", "profile"))
for addr in self.get("manager", "addresses").split(","):
self.env.managercon.addAddress(addr)
if self._updated.has_key("filter") :
if self._updated["filter"] != "":
try:
self.env.criteria = PreludeEasy.IDMEFCriteria(self._updated["filter"][3])
except PreludeEasy.PreludeError, e:
ErrorDialog.ErrorDialog(str(e))
self.set(self._updated["filter"][1], self._updated["filter"][2], self._updated["filter"][0])
raise
else:
self.env.criteria = None
if self._updated.has_key("threshold_timeout"):
self.env.thresholding.setExpire(self._updated["threshold_timeout"][3])
def update(self):
try:
self._update()
except:
self._updated = {}
return
if not os.path.isdir( userconfigpath ):
os.mkdir( userconfigpath )
self.write(open(self._userconfigfile, "w"))
|