blob: 8b924b5e628fffab28c744888be87b003447bd3e [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# pylint: disable=protected-access
class OSVersion(str):
def __new__(cls, friendly_name, sortable_name):
version = str.__new__(cls, friendly_name)
version._sortable_name = sortable_name
return version
def __lt__(self, other):
return self._sortable_name < other._sortable_name
def __gt__(self, other):
return self._sortable_name > other._sortable_name
def __le__(self, other):
return self._sortable_name <= other._sortable_name
def __ge__(self, other):
return self._sortable_name >= other._sortable_name
XP = OSVersion('xp', 5.1)
VISTA = OSVersion('vista', 6.0)
WIN7 = OSVersion('win7', 6.1)
WIN8 = OSVersion('win8', 6.2)
WIN81 = OSVersion('win8.1', 6.3)
WIN10 = OSVersion('win10', 10)
LEOPARD = OSVersion('leopard', 105)
SNOWLEOPARD = OSVersion('snowleopard', 106)
LION = OSVersion('lion', 107)
MOUNTAINLION = OSVersion('mountainlion', 108)
MAVERICKS = OSVersion('mavericks', 109)
YOSEMITE = OSVersion('yosemite', 1010)
ELCAPITAN = OSVersion('elcapitan', 1011)
SIERRA = OSVersion('sierra', 1012)
HIGHSIERRA = OSVersion('highsierra', 1013)
MOJAVE = OSVersion('mojave', 1014)
CATALINA = OSVersion('catalina', 1015)
BIGSUR = OSVersion('bigsur', 1100)