%PDF- %PDF-
| Direktori : /usr/share/apport/package-hooks/ |
| Current File : //usr/share/apport/package-hooks/source_rhythmbox.py |
import os
import re
import apport.packaging
import apport.hookutils
def mask_string (str):
MASK = '##MASKED##'
return str.group(1) + MASK
def mask_values(gconfinfo):
""" strip personal/private information from the GConf entries """
pattrn = re.compile ('((add_dir|library_locations|download_prefix|share_password|share_name|username|password)=)(.*)$',
re.IGNORECASE)
newReport = ""
for line in gconfinfo.splitlines():
line = pattrn.sub (mask_string, line)
newReport += line + '\n'
return newReport
def add_info(report, ui):
response = ui.choice("How would you describe the issue?", [
"problem with the interface",
"problem with sound",
"problem with playback of audio files",
"other problem",
], False)
if response == None: # user cancelled
raise StopIteration
# TODO: port to gsettings
# if response[0] == 0: # an issue about rhythmbox interface
# apport.hookutils.attach_gconf(report, 'rhythmbox')
# report['GConfNonDefault'] = mask_values(report['GConfNonDefault'])
if response[0] == 1: # the issue is a sound one
os.execlp('apport-bug', 'apport-bug', 'audio')
if response[0] == 2: # the issue is a codec one
report.add_package_info("libgstreamer1.0-0")
return
report["LogAlsaMixer"] = apport.hookutils.command_output(["/usr/bin/amixer"])
report["GstreamerVersions"] = apport.hookutils.package_versions("gstreamer*")
report["XorgLog"] = apport.hookutils.read_file("/var/log/Xorg.0.log")