Exemplo n.º 1
0
 def add_image(self,
               platform: PlatformEnum,
               uri: str = '',
               accessibility_text: str = '') -> Image:
     self.platform = platform
     image = Image(image_uri=uri, accessibility_text=accessibility_text)
     self.message_object = image
     return image
Exemplo n.º 2
0
 def add_media_object(self,
                      name: str,
                      description: str = '',
                      content_url: str = '',
                      image_uri: str = '',
                      image_text: str = '',
                      icon_uri: str = '',
                      icon_text: str = '') -> MediaObject:
     media_object = MediaObject(name=name,
                                description=description,
                                content_url=content_url,
                                large_image=Image(
                                    image_uri=image_uri,
                                    accessibility_text=image_text),
                                icon=Image(image_uri=icon_uri,
                                           accessibility_text=icon_text))
     self['mediaObjects'].append(media_object)
     return media_object
Exemplo n.º 3
0
    def add_list_item(self, key: str, title: str, description: str = '', image_uri: str = '',
                      accessibility_text: str = '', synonyms: List[str] = None) -> bool:
        if synonyms is None:
            synonyms = []

        self.list_items.append(ListItem(title=title, description=description, image=Image(
            image_uri=image_uri, accessibility_text=accessibility_text),
                                        option_info=SelectOptionInfo(key=key, synonyms=synonyms)))
        return True
Exemplo n.º 4
0
    def add_carousel_item(self,
                          key: str,
                          title: str,
                          description: str = '',
                          image_uri: str = '',
                          image_text: str = '',
                          synonyms: List[str] = None) -> CarouselItem:
        if synonyms is None:
            synonyms = []

        carousel_item = CarouselItem(
            title=title,
            description=description,
            image=Image(image_uri=image_uri, accessibility_text=image_text),
            option_info=SelectOptionInfo(key, *synonyms))
        self['item_list'].append(carousel_item)
        return carousel_item
Exemplo n.º 5
0
 def test_browse_carouse():
     image_uri = 'https://favpng.com/png_view/button-red-button-download-icon-png/pFR9zznr'
     accessibility_text = 'test image text'
     image = Image(image_uri=image_uri,
                   accessibility_text=accessibility_text)
     uri = 'www.google.com'
     browse_carousel_card = BrowseCarouselCardItem(
         open_uri_action=OpenUrlAction(
             url=uri, url_type_hint=UrlTypeHint.AMP_ACTION),
         title='browse carousel card',
         description='test browse carousel',
         image=image,
         footer='test footer')
     b = BrowseCarouselCard(
         image_display_options=ImageDisplayOptions.BLURRED_BACKGROUND,
         browse_carousel_card_items=[browse_carousel_card])
     print(b)
Exemplo n.º 6
0
    def add_basic_card(self,
                       platform: PlatformEnum,
                       title: str = '',
                       formatted_text: str = '',
                       subtitle: str = '',
                       image_uri: str = '',
                       image_text: str = '',
                       buttons: List[Button] = None) -> BasicCard:
        if buttons is None:
            buttons = []

        self.platform = platform
        basic_card: BasicCard = BasicCard(title=title,
                                          formatted_text=formatted_text,
                                          subtitle=subtitle,
                                          image=Image(
                                              image_uri=image_uri,
                                              accessibility_text=image_text),
                                          buttons=buttons)
        self.message_object = basic_card
        return basic_card
Exemplo n.º 7
0
 def add_image(self, image_uri: str, accessibility_text: str = '') -> Image:
     self.image = Image(image_uri=image_uri,
                        accessibility_text=accessibility_text)
     return self.image
Exemplo n.º 8
0
    def test_something():
        with open('request_data.json', 'r') as f:
            request_json = json.load(f)
        image_uri = 'https://favpng.com/png_view/button-red-button-download-icon-png/pFR9zznr'
        accessibility_text = 'test image text'
        image = Image(image_uri=image_uri,
                      accessibility_text=accessibility_text)
        select_option_info = SelectOptionInfo(
            key='select info key', synonyms=['synonym 1', 'synonym 2'])
        uri = 'www.google.com'

        dialog_flow = DialogFlow(request_json)

        dialog_flow.add_text_message(platform=PlatformEnum.ACTIONS_ON_GOOGLE,
                                     text_to_speech='this is test message')
        print('dialog_flow:', dialog_flow)

        dialog_flow.add_card(platform=PlatformEnum.ACTIONS_ON_GOOGLE,
                             title='test card',
                             subtitle='testing card',
                             image_uri=image_uri,
                             formatted_text='test card',
                             image_text='image text',
                             buttons=[
                                 Button(title='Button Title',
                                        open_uri_action=OpenUriAction(uri=uri))
                             ])
        print('dialog_flow:', dialog_flow)

        browse_carousel_card = BrowseCarouselCardItem(
            open_uri_action=OpenUrlAction(
                url=uri, url_type_hint=UrlTypeHint.AMP_ACTION),
            title='browse carousel card',
            description='test browse carousel',
            image=image,
            footer='test footer')
        dialog_flow.add_carousel_browse_card(
            platform=PlatformEnum.ACTIONS_ON_GOOGLE,
            image_display_options=ImageDisplayOptions.BLURRED_BACKGROUND,
            browse_carousel_card_items=[browse_carousel_card])
        print('dialog_flow:', dialog_flow)

        carousel_item = CarouselItem(title='carousel item',
                                     description='test carousel item',
                                     image=image,
                                     option_info=select_option_info)
        dialog_flow.add_carousel_select(
            platform=PlatformEnum.ACTIONS_ON_GOOGLE,
            carousel_items=[carousel_item])
        print('dialog_flow:', dialog_flow)

        dialog_flow.add_image(platform=PlatformEnum.ACTIONS_ON_GOOGLE,
                              uri=uri,
                              accessibility_text=accessibility_text)
        print('dialog_flow:', dialog_flow)

        list_item = ListItem(title='list item',
                             description='list item test',
                             image=image,
                             option_info=select_option_info)
        print('dialog_flow:', dialog_flow)

        dialog_flow.add_list_select(platform=PlatformEnum.ACTIONS_ON_GOOGLE,
                                    title='list select',
                                    subtitle='list',
                                    list_items=[list_item])
        print('dialog_flow:', dialog_flow)

        media_object = MediaObject(
            name='media object',
            description='test media object',
            content_url='https://s2.radio.co/se5e166e2f/listen#.mp3',
            large_image=Image(image_uri=uri,
                              accessibility_text=accessibility_text),
            icon=image)
        dialog_flow.add_media(platform=PlatformEnum.ACTIONS_ON_GOOGLE,
                              media_type=ResponseMediaType.AUDIO,
                              media_objects=[media_object])
        print('dialog_flow:', dialog_flow)

        dialog_flow.add_context(context_name='test context',
                                lifespan=1,
                                test_parameter='test parameter value')

        print('dialog_flow:', dialog_flow)
        dialog_flow.add_quick_replies(
            platform=PlatformEnum.ACTIONS_ON_GOOGLE,
            title='test_quick_replies',
            quick_replies=['suggestion1', 'suggestion2'])
        print('dialog_flow:', dialog_flow)

        dialog_flow.add_link_out_suggestion(
            platform=PlatformEnum.ACTIONS_ON_GOOGLE,
            uri=uri,
            destination_name='google search')
        print('dialog_flow:', dialog_flow)
        assert isinstance(dialog_flow, dict)
        assert json.dumps(dialog_flow)