File: source_rhythmbox.py

package info (click to toggle)
rhythmbox 3.4.9-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 27,376 kB
  • sloc: ansic: 114,861; python: 4,941; xml: 730; javascript: 350; perl: 307; sh: 84; makefile: 43
file content (43 lines) | stat: -rw-r--r-- 1,581 bytes parent folder | download | duplicates (6)
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
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")