Only create ip card if main result div is found

The ip address card that is created for searches like "my ip" only needs
to be created/inserted if a main result div id is found.

Fixes #735
main
Ben Busby 2022-04-26 15:18:29 -06:00
parent abc30d7da3
commit 62d7491936
No known key found for this signature in database
GPG Key ID: B9B7231E01D924A1
1 changed files with 18 additions and 16 deletions

View File

@ -227,26 +227,28 @@ def add_ip_card(html_soup: BeautifulSoup, ip: str) -> BeautifulSoup:
BeautifulSoup BeautifulSoup
""" """
# HTML IP card tag main_div = html_soup.select_one('#main')
ip_tag = html_soup.new_tag('div') if main_div:
ip_tag['class'] = 'ZINbbc xpd O9g5cc uUPGi' # HTML IP card tag
ip_tag = html_soup.new_tag('div')
ip_tag['class'] = 'ZINbbc xpd O9g5cc uUPGi'
# For IP Address html tag # For IP Address html tag
ip_address = html_soup.new_tag('div') ip_address = html_soup.new_tag('div')
ip_address['class'] = 'kCrYT ip-address-div' ip_address['class'] = 'kCrYT ip-address-div'
ip_address.string = ip ip_address.string = ip
# Text below the IP address # Text below the IP address
ip_text = html_soup.new_tag('div') ip_text = html_soup.new_tag('div')
ip_text.string = 'Your public IP address' ip_text.string = 'Your public IP address'
ip_text['class'] = 'kCrYT ip-text-div' ip_text['class'] = 'kCrYT ip-text-div'
# Adding all the above html tags to the IP card # Adding all the above html tags to the IP card
ip_tag.append(ip_address) ip_tag.append(ip_address)
ip_tag.append(ip_text) ip_tag.append(ip_text)
# Insert the element at the top of the result list # Insert the element at the top of the result list
html_soup.select_one('#main').insert_before(ip_tag) main_div.insert_before(ip_tag)
return html_soup return html_soup