def get_app_settings(self):
        """Returns a mapping of app names to a list of settings.

        The "Default" values are the values from the metadata here, not the
        values from the project config. If sending the current values from
        settings to the user, you'll need to modify this data. (this is done in
        jsonviews.py for the projectinfo() view)

        """
        app_settings = {}
        for app in self.get_apps():
            # Is this application local to the project? If not skip it, since
            # we don't have a good way right now to find where it's installed
            md_filename = os.path.join(self.projectdir, app, "metadata.json")
            if not os.path.exists(md_filename):
                continue

            with open(md_filename, 'r') as md_file:
                app_metadata = json.load(md_file)

            usersettings = app_metadata.get("usersettings", None)

            if not usersettings:
                continue

            # Do some really brief validity checking. Most validity checking is
            # done in the constructor of UserSettingsForm though
            u = []
            for s in usersettings:
                if 3 < len(s):
                    log.warning("usersettings line has wrong number of args: %s", s)
                    continue
                # All values except the last (default) must be a string
                if not all(isinstance(x, basestring) for x in s[:3]):
                    log.warning("usersettings line is bad, one of the first three elements is not a string: %s", s)
                    continue
                if s[2] not in ("int", "char", "str", "string", "float", 'choice', 'bool'):
                    log.warning("usersettings line has bad type: %s", s)
                    continue
                u.append(s)

            if u:
                app_settings[app] = u
        return app_settings
dataset/ETHPy150Open bmbouter/Opus/opus/project/deployment/models.py/DeployedProject.get_app_settings/swapped operands of `<`