def start(self):
     self.curr_dir = os.path.abspath('.')
     print("Starting activity in module " + __name__ + "from dir " + self.curr_dir)
     print("Lets call another addon from here ... 'PingAddon'")
     plol = AddonLoader.get_loaded_addon_instance('PingAddon')
     if plol is not None:
         plol.start()
Beispiel #2
0
 def start(self):
     self.curr_dir = os.path.abspath('.')
     print("Starting activity in module " + __name__ + "from dir " +
           self.curr_dir)
     print("Lets call another addon from here ... 'PingAddon'")
     plol = AddonLoader.get_loaded_addon_instance('PingAddon')
     if plol is not None:
         plol.start()
Beispiel #3
0
    def logic(self, data, output=True, reverse=False, very_verbose=False):
        """
        Algorithm logic
        :param data: Array to be sorted
        :param output: Show output or not
        :param reverse: Sort in reverse
        :return: Sorted array
        """
        count = len(data)

        bucket_list = [list() for _ in range(count)]
        biggest = data[0]
        for i in range(1, count):
            if biggest < data[i]:
                biggest = data[i]

        divisor = self.divide_to_get_int(biggest, count, to_floor=False)

        for idx in range(count):
            self.loop_count += 1
            new_idx = self._get_index(data[idx], divisor)
            bucket_list[new_idx].append(data[idx])

        #
        # Assuming insertion sort is already loaded..
        #

        insertion_sort = AddonLoader.get_loaded_addon_instance("InsertionSortAddon")

        j = 0
        if reverse:
            first = len(bucket_list) - 1
            last = -1
            step = -1
        else:
            first = 0
            last = len(bucket_list)
            step = 1

        for b_idx in range(first, last, step):
            if insertion_sort is not None:
                insertion_sort.execute(bucket_list[b_idx], reverse=reverse, output=False, very_verbose=False)
            else:
                bucket_list[b_idx].sort(reverse=reverse)

            for i in range(len(bucket_list[b_idx])):
                data[j] = bucket_list[b_idx][i]
                j += 1

        return data
Beispiel #4
0
    def test_get_loaded_addon_instance(self):
        # addon_loader = AddonLoader(verbose, logger, recursive, lazy_load)
        # self.assertEqual(expected, addon_loader.get_loaded_addon_instance())
        """
        test to check if addons loaded can load/call another addons. static method call
        which gets other addons instances
        """

        from addonpy.addonpy import AddonLoader
        expected_name = 'CommandLineAddon'
        expected_version = '1.0.5'

        actual = AddonLoader.get_loaded_addon_instance('CommandLineAddon')
        self.assertEqual(expected_name, actual.get_name())
        self.assertEqual(expected_version, actual.get_version())
Beispiel #5
0
    def test_get_loaded_addon_instance(self):
        # addon_loader = AddonLoader(verbose, logger, recursive, lazy_load)
        # self.assertEqual(expected, addon_loader.get_loaded_addon_instance())
        """
        test to check if addons loaded can load/call another addons. static method call
        which gets other addons instances
        """

        from addonpy.addonpy import AddonLoader
        expected_name = 'CommandLineAddon'
        expected_version = '1.0.5'

        actual = AddonLoader.get_loaded_addon_instance('CommandLineAddon')
        self.assertEqual(expected_name, actual.get_name())
        self.assertEqual(expected_version, actual.get_version())
Beispiel #6
0
    def test_no_extension_load(self):
        # addon_loader = AddonLoader(verbose, logger, recursive, lazy_load)
        # self.assertEqual(expected, addon_loader.get_loaded_addon_instance())
        """
        test to check if addons loaded can load/call another addons. static method call
        which gets other addons instances
        """

        from addonpy.addonpy import AddonLoader
        expected_name = 'CommandLine'
        expected_version = '1.0.5'

        self.load_mgr.set_addon_methods(['execute_user', 'start_user', 'stop_user'])
        self.load_mgr.set_addon_identifier(None, ignore_suffix=True)
        self.load_mgr.load_addons()

        actual = AddonLoader.get_loaded_addon_instance('CommandLine', "")
        self.assertEqual(expected_name, actual.get_name())
        self.assertEqual(expected_version, actual.get_version())

        expected = 1
        actual = len(self.load_mgr.get_loaded_addons(by_type='Type-2'))
        self.assertEqual(expected, actual)