Allura/allura/model/project.py
def install_apps(self, apps_params):
        """ Install many apps at once.

        Better than doing individually if you expect
        default name conflicts (e.g. "code" for both git & svn), by using the
        tool_label value.

        :param list apps_params: list of dicts, where each dict is the args used in install_app()
        """

        # determine all the mount points
        mount_points = dict()
        for app_params in apps_params:
            App = g.entry_points['tool'][app_params['ep_name']]
            mount_point = self._mount_point_for_install(App, app_params.get('mount_point'))
            mount_points[App] = mount_point

        # count mount point names
        mount_point_counts = Counter(mount_points.values())

        # install each app with unique names
        for app_params in apps_params:
            App = g.entry_points['tool'][app_params['ep_name']]
            mount_point = mount_points[App]
            if mount_point_counts[mount_point] > 1:
                app_params.update(mount_point=App.tool_label.lower(),
                                  mount_label=App.tool_label)
            self.install_app(**app_params)
 Install many apps at once.

        Better than doing individually if you expect
        default name conflicts (e.g. "code" for both git & svn), by using the
        tool_label value.

        :param list apps_params: list of dicts, where each dict is the args used in install_app()
        
Install many apps at once.
Better than doing individually if you expect
default name conflicts , by using the
tool_label value.
Install many apps at once . Better than doing individually if you expect default name conflicts by using the tool_label value .
def install_apps(self, apps_params):
        mount_points = dict()
        for app_params in apps_params:
            App = g.entry_points['tool'][app_params['ep_name']]
            mount_point = self._mount_point_for_install(App, app_params.get('mount_point'))
            mount_points[App] = mount_point
        mount_point_counts = Counter(mount_points.values())
        for app_params in apps_params:
            App = g.entry_points['tool'][app_params['ep_name']]
            mount_point = mount_points[App]
            if mount_point_counts[mount_point] > 1:
                app_params.update(mount_point=App.tool_label.lower(),
                                  mount_label=App.tool_label)
            self.install_app(**app_params)
def install_apps ( self , apps_params ) : mount_points = dict ( ) for app_params in apps_params : App = g . entry_points [ 'tool' ] [ app_params [ 'ep_name' ] ] mount_point = self . _mount_point_for_install ( App , app_params . get ( 'mount_point' ) ) mount_points [ App ] = mount_point mount_point_counts = Counter ( mount_points . values ( ) ) for app_params in apps_params : App = g . entry_points [ 'tool' ] [ app_params [ 'ep_name' ] ] mount_point = mount_points [ App ] if mount_point_counts [ mount_point ] > 1 : app_params . update ( mount_point = App . tool_label . lower ( ) , mount_label = App . tool_label ) self . install_app ( ** app_params )
Install many apps at once.
Install many apps at once .
""" Install many apps at once.

        Better than doing individually if you expect
        default name conflicts (e.g. "code" for both git & svn), by using the
        tool_label value.

        :param list apps_params: list of dicts, where each dict is the args used in install_app()
        """ # determine all the mount points # count mount point names # install each app with unique names
self
apps_params
list of dicts, where each dict is the args used in install_app()
list of dicts where each dict is the args used in install_app ()