|
|
|
|
|
|
|
|
except version.InvalidVersion: |
|
|
except version.InvalidVersion: |
|
|
return ImportStatus.FAILED |
|
|
return ImportStatus.FAILED |
|
|
|
|
|
|
|
|
# Compare major version and minor version |
|
|
|
|
|
if current_ver.major != imported_ver.major or current_ver.minor != imported_ver.minor: |
|
|
|
|
|
|
|
|
# If imported version is newer than current, always return PENDING |
|
|
|
|
|
if imported_ver > current_ver: |
|
|
return ImportStatus.PENDING |
|
|
return ImportStatus.PENDING |
|
|
|
|
|
|
|
|
if current_ver.micro != imported_ver.micro: |
|
|
|
|
|
|
|
|
# If imported version is older than current's major, return PENDING |
|
|
|
|
|
if imported_ver.major < current_ver.major: |
|
|
|
|
|
return ImportStatus.PENDING |
|
|
|
|
|
|
|
|
|
|
|
# If imported version is older than current's minor, return COMPLETED_WITH_WARNINGS |
|
|
|
|
|
if imported_ver.minor < current_ver.minor: |
|
|
return ImportStatus.COMPLETED_WITH_WARNINGS |
|
|
return ImportStatus.COMPLETED_WITH_WARNINGS |
|
|
|
|
|
|
|
|
|
|
|
# If imported version equals or is older than current's micro, return COMPLETED |
|
|
return ImportStatus.COMPLETED |
|
|
return ImportStatus.COMPLETED |
|
|
|
|
|
|
|
|
|
|
|
|