~michael.nelson/ubuntu-webcatalog/1267731-import-sca-apps-error

« back to all changes in this revision

Viewing changes to src/webcatalog/forms.py

[r=beuno] Invalid desktop files are handled (skipped) rather than erroring.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
import apt
23
23
import json
24
 
from ConfigParser import ConfigParser
 
24
from ConfigParser import (
 
25
    ConfigParser,
 
26
    ParsingError,
 
27
)
25
28
from StringIO import StringIO
26
29
 
27
30
from django import forms
64
67
    @classmethod
65
68
    def get_form_from_desktop_data(cls, str_data, distroseries):
66
69
        parser = ConfigParser()
67
 
        parser.readfp(StringIO(str_data))
 
70
        try:
 
71
            parser.readfp(StringIO(str_data))
 
72
        except ParsingError:
 
73
            return cls(data={}, instance=None)
 
74
 
68
75
        data = dict(parser.items('Desktop Entry'))
69
76
        for desktop_key, app_key in desktop_field_mappings.items():
70
77
            if desktop_key in data: