version.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ## pygame - Python Game Library
  2. ## Copyright (C) 2000-2003 Pete Shinners
  3. ##
  4. ## This library is free software; you can redistribute it and/or
  5. ## modify it under the terms of the GNU Library General Public
  6. ## License as published by the Free Software Foundation; either
  7. ## version 2 of the License, or (at your option) any later version.
  8. ##
  9. ## This library is distributed in the hope that it will be useful,
  10. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. ## Library General Public License for more details.
  13. ##
  14. ## You should have received a copy of the GNU Library General Public
  15. ## License along with this library; if not, write to the Free
  16. ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. ##
  18. ## Pete Shinners
  19. ## pete@shinners.org
  20. """Simply the current installed pygame version. The version information is
  21. stored in the regular pygame module as 'pygame.ver'. Keeping the version
  22. information also available in a separate module allows you to test the
  23. pygame version without importing the main pygame module.
  24. The python version information should always compare greater than any previous
  25. releases. (hmm, until we get to versions > 10)
  26. """
  27. class PygameVersion(tuple):
  28. __slots__ = ()
  29. fields = 'major', 'minor', 'patch'
  30. def __new__(cls, major, minor, patch):
  31. return tuple.__new__(cls, (major, minor, patch))
  32. def __repr__(self):
  33. fields = ('{}={}'.format(fld, val) for fld, val in zip(self.fields, self))
  34. return '{}({})'.format(str(self.__class__.__name__), ', '.join(fields))
  35. def __str__(self):
  36. return '{}.{}.{}'.format(*self)
  37. major = property(lambda self: self[0])
  38. minor = property(lambda self: self[1])
  39. patch = property(lambda self: self[2])
  40. ver = "1.9.6"
  41. vernum = PygameVersion(1, 9, 6)
  42. rev = ""