예제 #1
0
    def on_event(self, event, extension):
        query = event.get_argument() or str()

        if len(query.strip()) == 0:
            return RenderResultListAction(no_input_item())

        params = strip_list(query.split(' '))

        search = YoutubeSearch(params)

        if extension.preferences[
                'show_thumbnails'] == 'true' and search.show_thumbnails is None:
            search.show_thumbnails = True

        if not search.has_query():
            return RenderResultListAction(show_used_args(parser))

        results = search.execute()

        if not results:
            return RenderResultListAction(no_results_item())

        return RenderResultListAction(
            generate_search_items(
                results, extension.preferences['description_template']))
    def execute(self):
        items = []

        result = subprocess.check_output(self.get_arguments(),
                                         encoding='utf-8')
        lines = strip_list(result.split('\n'))

        if len(lines) == 0:
            return items

        langs = self.to_lang.split('+')
        for i in range(len(langs)):
            items.append((lines[i], self.query, langs[i]))

        return items
예제 #3
0
    def on_event(self, event, extension):
        query = event.get_argument() or str()
        launcher = Scripts(strip_list(query.split(' ')))

        if not launcher.has_config():
            return RenderResultListAction(no_config_items())

        if launcher.has_query():
            results, params = launcher.execute()
        else:
            results, params = launcher.get_first_scripts()

        if not results or len(results) == 0:
            return RenderResultListAction(no_results_item())

        return RenderResultListAction(generate_launcher_items(results, params))
예제 #4
0
    def on_event(self, event, extension):
        query = event.get_argument() or str()
        keyword = extension.preferences['generate_kw']

        params = strip_list(query.split(' '))

        generate = Generate(params)

        if not generate.has_generator():
            return RenderResultListAction(no_generator_items(keyword))

        results = generate.execute()

        if not results:
            return RenderResultListAction(no_results_item())

        return RenderResultListAction(
            generate_items(generate.gen_name, results))
예제 #5
0
    def on_event(self, event, extension):
        query = event.get_argument() or str()

        params = strip_list(query.split(' '))

        parser = TranslateShell(extension.preferences, params)

        if parser.is_dep_missing():
            return RenderResultListAction(missing_dep_item())

        if len(query.strip()) == 0:
            return RenderResultListAction(no_input_item())

        if not parser.has_query():
            return RenderResultListAction(show_used_args(parser))

        translations = parser.execute()

        if not translations:
            return RenderResultListAction(no_translation_available())

        return RenderResultListAction(generate_trans_items(translations))
 def get_arguments(self):
     return strip_list([
         'trans', *self.args,
         self.get_lang_argument(), *FORCED_ARGUMENTS, self.query
     ])