Как избежать сравнения номера версии со строкой в ​​Python? - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь найти последнюю версию продукта на странице 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)
...