(self, unknown_forms)
return unknown_forms
If there are any unknown forms, try and find the best possible matches
        from deleted apps or copied apps. If no suggestion is found, say so
        but provide the xmlns.
If there are any unknown forms, try and find the best possible matches
        from deleted apps or copied apps. If no suggestion is found, say so
        but provide the xmlns.
If there are any unknown forms try and find the best possible matches from deleted apps or copied apps . If no suggestion is found say so but provide the xmlns .
def _attach_unknown_suggestions(self, unknown_forms):
        """If there are any unknown forms, try and find the best possible matches
        from deleted apps or copied apps. If no suggestion is found, say so
        but provide the xmlns.
        """
        if unknown_forms:
            possibilities = self._get_unknown_form_possibilities()

            class AppCache(dict):

                def __init__(self, domain):
                    super(AppCache, self).__init__()
                    self.domain = domain

                def __getitem__(self, item):
                    if item not in self:
                        try:
                            self[item] = get_app(app_id=item, domain=self.domain)
                        except Http404:
                            pass
                    return super(AppCache, self).__getitem__(item)

            app_cache = AppCache(self.domain)

            for form in unknown_forms:
                app = None
                if form['app']['id']:
                    try:
                        app = app_cache[form['app']['id']]
                        form['has_app'] = True
                    except KeyError:
                        form['app_does_not_exist'] = True
                        form['possibilities'] = possibilities[form['xmlns']]
                        if form['possibilities']:
                            form['duplicate'] = True
                    else:
                        if app.domain != self.domain:
                            logging.error("submission tagged with app from wrong domain: %s" % app.get_id)
                        else:
                            if app.copy_of:
                                try:
                                    app = app_cache[app.copy_of]
                                    form['app_copy'] = {'id': app.get_id, 'name': app.name}
                                except KeyError:
                                    form['app_copy'] = {'id': app.copy_of, 'name': '?'}
                            if app.is_deleted():
                                form['app_deleted'] = {'id': app.get_id}
                            try:
                                app_forms = app.get_xmlns_map()[form['xmlns']]
                            except AttributeError:
                                # it's a remote app
                                app_forms = None
                                form['has_app'] = True
                            if app_forms:
                                app_form = app_forms[0]
                                if app_form.doc_type == 'UserRegistrationForm':
                                    form['is_user_registration'] = True
                                else:
                                    app_module = app_form.get_module()
                                    form['module'] = app_module
                                    form['form'] = app_form
                                form['show_xmlns'] = False

                            if not form.get('app_copy') and not form.get('app_deleted'):
                                form['no_suggestions'] = True
                    if app:
                        form['app'] = {'id': app.get_id, 'name': app.name, 'langs': app.langs}
                else:
                    form['possibilities'] = possibilities[form['xmlns']]
                    if form['possibilities']:
                        form['duplicate'] = True
                    else:
                        form['no_suggestions'] = True
        return unknown_forms
def _attach_unknown_suggestions ( self , unknown_forms ) : if unknown_forms : possibilities = self . _get_unknown_form_possibilities ( ) class AppCache ( dict ) : def __init__ ( self , domain ) : super ( AppCache , self ) . __init__ ( ) self . domain = domain def __getitem__ ( self , item ) : if item not in self : try : self [ item ] = get_app ( app_id = item , domain = self . domain ) except Http404 : pass return super ( AppCache , self ) . __getitem__ ( item ) app_cache = AppCache ( self . domain ) for form in unknown_forms : app = None if form [ 'app' ] [ 'id' ] : try : app = app_cache [ form [ 'app' ] [ 'id' ] ] form [ 'has_app' ] = True except KeyError : form [ 'app_does_not_exist' ] = True form [ 'possibilities' ] = possibilities [ form [ 'xmlns' ] ] if form [ 'possibilities' ] : form [ 'duplicate' ] = True else : if app . domain != self . domain : logging . error ( "submission tagged with app from wrong domain: %s" % app . get_id ) else : if app . copy_of : try : app = app_cache [ app . copy_of ] form [ 'app_copy' ] = { 'id' : app . get_id , 'name' : app . name } except KeyError : form [ 'app_copy' ] = { 'id' : app . copy_of , 'name' : '?' } if app . is_deleted ( ) : form [ 'app_deleted' ] = { 'id' : app . get_id } try : app_forms = app . get_xmlns_map ( ) [ form [ 'xmlns' ] ] except AttributeError : # it's a remote app app_forms = None form [ 'has_app' ] = True if app_forms : app_form = app_forms [ 0 ] if app_form . doc_type == 'UserRegistrationForm' : form [ 'is_user_registration' ] = True else : app_module = app_form . get_module ( ) form [ 'module' ] = app_module form [ 'form' ] = app_form form [ 'show_xmlns' ] = False if not form . get ( 'app_copy' ) and not form . get ( 'app_deleted' ) : form [ 'no_suggestions' ] = True if app : form [ 'app' ] = { 'id' : app . get_id , 'name' : app . name , 'langs' : app . langs } else : form [ 'possibilities' ] = possibilities [ form [ 'xmlns' ] ] if form [ 'possibilities' ] : form [ 'duplicate' ] = True else : form [ 'no_suggestions' ] = True return unknown_forms