Я пытаюсь найти последнюю версию продукта на странице XML. Элемент "component-version" в xml в большинстве случаев является номером версии, но в одном случае это строка "Current Version", и я получаю ошибку, когда сравниваю использование LooseVersion с другими версиями (например, 1.12. 1, 1.11.0). Мне интересно, есть ли способ обойти эту ошибку. Заранее спасибо!
import requests
import xml.etree.ElementTree as ET
from distutils.version import LooseVersion
product = 'Product Name'
def get_latest_version(product):
r = requests.get("http://samplexmlwebsite.com")
variable = r.content.decode("utf-8") #Turned from a byte type to a variable
root = ET.fromstring(variable)
version_number =""
for item in root.findall('item'):
name = item.find('component-name').text
version = item.find('component-version').text
if name == product:
if not version_number:
version_number = version
elif LooseVersion(version_number) < LooseVersion(version):
version_number = version
print(version_number)
return version_number
get_latest_version(product)