Merge lp:~hmontoliu/firefox/firefox-3.1.apport_hook into lp:firefox/3.5

Proposed by Hilario J. Montoliu (hjmf)
Status: Merged
Approved by: Alexander Sack
Approved revision: 411
Merged at revision: not available
Proposed branch: lp:~hmontoliu/firefox/firefox-3.1.apport_hook
Merge into: lp:firefox/3.5
Diff against target: None lines
To merge this branch: bzr merge lp:~hmontoliu/firefox/firefox-3.1.apport_hook
Reviewer Review Type Date Requested Status
Alexander Sack (community) typo fixed in changelog Needs Fixing
Review via email: mp+5550@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Hilario J. Montoliu (hjmf) (hmontoliu) wrote :

* fix LP: #361052 - firefox apport hook fails to retrieve pluginreg.dat file
* update debian/apport/firefox-3.5.py - removed unused code and minor refactoring.

Revision history for this message
Alexander Sack (asac) wrote :

Your Name in the Changelog isn't right ;) ... otherwise this looks good. (you dont need to rerequest a new merge, just push --overwrite and then push the "resubmit" button to request a new review round).

review: Needs Fixing
Revision history for this message
Alexander Sack (asac) wrote :

i adjusted the changelog a bit more and committed. thanks!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/apport/firefox-3.5.py'
2--- debian/apport/firefox-3.5.py 2009-03-18 01:10:51 +0000
3+++ debian/apport/firefox-3.5.py 2009-04-14 23:23:38 +0000
4@@ -1,6 +1,6 @@
5 '''firefox apport hook draft
6
7-/usr/share/apport/package-hooks/firefox-3.5.py
8+/usr/share/apport/package-hooks/firefox-3.0.py
9
10 Appends to apport's firefox default report: the files pluginreg.dat and
11 profiles.ini, and also a summary of all the extensions loaded on each firefox
12@@ -18,13 +18,13 @@
13
14 import os
15 import ConfigParser
16-import glob
17 import cStringIO
18 from xml.dom import minidom
19
20 def extensions_ini_parser(extensions_ini_file):
21 '''parses profile's extensions.ini file and returns a tuple:
22- ((gre extensions, app extensions, local extensions), (gre themes, app themes, local themes))'''
23+ ((gre extensions, app extensions, local extensions), (gre themes, app
24+ themes, local themes))'''
25 parser = ConfigParser.ConfigParser()
26 parser.read(extensions_ini_file)
27 ext_ini_d = {}
28@@ -73,24 +73,20 @@
29
30 def extension_summary_helper(extension_list, section_name, alt_output = 1):
31 '''does some output proccessing for extensionSummary'''
32- str = ''
33+ summary = ''
34 if len(extension_list) > 0:
35- str += ''' %s:\n''' % section_name
36+ summary += ''' %s:\n''' % section_name
37 for extension in extension_list:
38- str += ''' %s\n''' % install_ini_parser(extension)
39+ summary += ''' %s\n''' % install_ini_parser(extension)
40 else:
41 if alt_output == 1: # if 0, don't output anything
42- str += ''' No %s in this Profile.\n''' % section_name
43- str += '''\n'''
44- return str
45+ summary += ''' No %s in this Profile.\n''' % section_name
46+ summary += '''\n'''
47+ return summary
48
49 def add_info(report):
50- config_dir = os.path.join(os.environ['HOME'], '.mozilla', 'firefox-3.5')
51-
52- # append pluginreg.dat file:
53- pluginreg_dat = os.path.join(config_dir,'pluginreg.dat')
54- if os.path.exists(pluginreg_dat):
55- report['pluginreg.dat'] = open(pluginreg_dat).read()
56+ '''adds hooked infor into the apport report.'''
57+ config_dir = os.path.join(os.environ['HOME'], '.mozilla', 'firefox')
58
59 # append profiles.ini file & parse it:
60 profiles_ini = os.path.join(config_dir,'profiles.ini')
61@@ -109,17 +105,25 @@
62 profiles_d[profile_parser.get(section, 'Name')] = (os.path.join(config_dir, profile_parser.get(section, 'Path')), is_default)
63
64 # summarize the extensions loaded on each profile (either global and local):
65+ # also append the pluginreg.dat file of the default profile (maybe in a
66+ # future append each profile's pluginreg.dat file)
67 extensions_dict, themes_dict, extension_summary = {}, {}, ''
68 for profile_name in profiles_d.keys():
69 profile_path, is_default = profiles_d[profile_name]
70 extensions_ini = os.path.join(profile_path, 'extensions.ini')
71+ pluginreg_dat = os.path.join(profile_path, 'pluginreg.dat')
72+ if os.path.exists(pluginreg_dat):
73+ if is_default == '1':
74+ report['default_profile_pluginreg.dat'] = open(pluginreg_dat).read()
75+ else:
76+ report['profile_%s_pluginreg.dat' % profile_name] = open(pluginreg_dat).read()
77 if os.path.exists(extensions_ini):
78 # attach each profile's extensions.ini too (not enabled).
79 #report['extensions.ini (profile: %s)' % profile_name ] = open(extensions_ini).read()
80- (extensions_dict['gre_extensions'], extensions_dict['app_extensions'], extensions_dict['local_extensions']),\
81+ (extensions_dict['gre_extensions'], extensions_dict['app_extensions'], extensions_dict['local_extensions']), \
82 (themes_dict['gre_theme'], themes_dict['app_theme'], themes_dict['local_theme']) = extensions_ini_parser(extensions_ini)
83-
84- if is_default == '1': is_default_str = ''' (The Default):'''
85+ if is_default == '1':
86+ is_default_str = ''' (The Default):'''
87 else: is_default_str = ''':'''
88 extension_summary += '''Profile "%s"%s\n\n''' % (profile_name, is_default_str)
89 extension_summary += extension_summary_helper(extensions_dict['gre_extensions'], 'GRE Extensions')
90@@ -128,10 +132,10 @@
91 extension_summary += extension_summary_helper(themes_dict['gre_theme'], 'GRE Theme', 0)
92 extension_summary += extension_summary_helper(themes_dict['app_theme'], 'Application Theme', 0)
93 extension_summary += extension_summary_helper(themes_dict['local_theme'], 'Local Theme', 0)
94- buffer = cStringIO.StringIO() # it's needed for propper apport attachments
95- print >> buffer, extension_summary
96- buffer.seek(0)
97- report['ExtensionSummary'] = buffer.read()
98+ wbuffer = cStringIO.StringIO() # it's needed for propper apport attachments
99+ print >> wbuffer, extension_summary
100+ wbuffer.seek(0)
101+ report['ExtensionSummary'] = wbuffer.read()
102 # debug (comment on production)
103 # return report
104
105@@ -139,5 +143,6 @@
106 # (uncomment the 'return report' at add_report())
107 if __name__ == "__main__":
108 D = {}
109- report = add_info(D)
110- for key in report.keys(): print '''%s:\n''' % key, report[key]
111+ REPORT = add_info(D)
112+ for KEY in REPORT.keys():
113+ print '''-------------------%s: ------------------\n''' % KEY, REPORT[KEY]
114
115=== modified file 'debian/changelog'
116--- debian/changelog 2009-04-01 17:03:01 +0000
117+++ debian/changelog 2009-04-14 23:55:12 +0000
118@@ -1,3 +1,10 @@
119+firefox-3.5 (3.5~b4~hg20090330r24021+nobinonly-0ubuntu2) UNRELEASED; urgency=low
120+
121+ * fix LP: #361052 - firefox apport hook fails to retrieve pluginreg.dat file
122+ * update debian/apport/firefox-3.5.py - removed unused code and minor refactoring.
123+
124+ -- hmontoliu <hmontoliu@ubuntu.com> Wed, 15 Apr 2009 01:16:04 +0200
125+
126 firefox-3.5 (3.5~b4~hg20090330r24021+nobinonly-0ubuntu1) jaunty; urgency=low
127
128 * New upstream snapshot, needed to initiate the firefox 3.1->3.5 transition (LP: #352995)

Subscribers

People subscribed via source and target branches