def is_version_older(a, b): """ Is the version number string a older than b? a=v0.12.1 b=0.13.4 -- Returns False a=v0.13.1 b=0.13.1 -- Returns True a=HEAD b=0.13.4 -- Returns False a=master b=0.13.4 -- Returns False """ if is_version_head(a): # other version is latest return False if is_version_head(b): # comparing against HEAD - our version is always old return True if a.startswith("v"): a = a[1:] if b.startswith("v"): b = b[1:] # HACK: Replace x wildcard with a big number if "x" in a: a = a.replace("x", "1" * 10) if "x" in b: b = b.replace("x", "1" * 10) return Version(a) < Version(b)
def get_latest_version(current_item, latest_item): """Compares versions between two values and returns the latest (highest) value""" try: if Version(current_item) > Version(latest_item): return current_item else: return latest_item except TypeError: return current_item
def get_sentry_version(context): import sentry current = sentry.get_version() latest = options.get('sentry:latest_version') or current update_available = Version(latest) > Version(current) context['sentry_version'] = SentryVersion(current, latest, update_available) return ''
def get_sentry_version(context): import sentry current = sentry.get_version() latest = Option.objects.get_value('sentry:latest_version', current) update_available = Version(latest) > Version(current) context['sentry_version'] = SentryVersion(current, latest, update_available) return ''
def get_sentry_version(context): import sentry current = sentry.VERSION latest = options.get('sentry:latest_version') or current update_available = Version(latest) > Version(current) build = sentry.__build__ or current context['sentry_version'] = SentryVersion(current, latest, update_available, build) return ''
def set_sentry_version(latest=None, **kwargs): import sentry current = sentry.get_version() version = options.get('sentry:latest_version') for ver in (current, version): if Version(ver) >= Version(latest): return options.set('sentry:latest_version', (latest or current))
def set_sentry_version(latest=None, **kwargs): import sentry current = sentry.get_version() version = Option.objects.get_value(key='sentry:latest_version', default='') for ver in (current, version): if Version(ver) >= Version(latest): return Option.objects.set_value(key='sentry:latest_version', value=(latest or current))
def set_sentry_version(latest=None, **kwargs): import sentry current = sentry.VERSION version = options.get("sentry:latest_version") for ver in (current, version): if Version(ver) >= Version(latest): latest = ver if latest == version: return options.set("sentry:latest_version", (latest or current))