code: def generate_html(attrs, api_key):
      ''' Returns html code. '''
      # getting flickr api data
      flickr_data = get_info(attrs['photo_id'], api_key)
  
      # if size is not defined it will use large as image size
      if 'size' not in attrs.keys():
          attrs['size'] = 'large'
  
      # if no alt is defined it will use the flickr image title
      if 'alt' not in attrs.keys():
          attrs['alt'] = flickr_data['photo']['title']['_content']
  
      # return final html code
      return '<a href="{}"><img src="{}" alt="{}"></a>'.format(
          flickr_data['photo']['urls']['url'][0]['_content'],
          source_url(flickr_data['photo']['farm'],
                     flickr_data['photo']['server'],
                     attrs['photo_id'],
                     flickr_data['photo']['secret'],
                     attrs['size']),
          attrs['alt']f generate_html(attrs, api_key):
      ''' Returns html code. '''
      # getting flickr api data
      flickr_data = get_info(attrs['photo_id'], api_key)
  
      # if size is not defined it will use large as image size
      if 'size' not in attrs.keys():
          attrs['size'] = 'large'
  
      # if no alt is defined it will use the flickr image title
      if 'alt' not in attrs.keys():
          attrs['alt'] = flickr_data['photo']['title']['_content']
  
      # return final html code
      return '<a href="{}"><img src="{}" alt="{}"></a>'.format(
          flickr_data['photo']['urls']['url'][0]['_content'],
          source_url(flickr_data['photo']['farm'],
                     flickr_data['photo']['server'],
                     attrs['photo_id'],
                     flickr_data['photo']['secret'],
                     attrs['size']),
          attrs['alt'])
docs: Returns html code.