|
19 | 19 | logger = logging.getLogger(__name__) |
20 | 20 |
|
21 | 21 |
|
| 22 | +#: Minimum version of tmux required to run libtmux |
| 23 | +TMUX_MIN_VERSION = '1.8' |
| 24 | + |
| 25 | +#: Most recent version of tmux supported |
| 26 | +TMUX_MAX_VERSION = '2.4' |
| 27 | + |
| 28 | + |
22 | 29 | class EnvironmentMixin(object): |
23 | 30 |
|
24 | 31 | """Mixin class for managing session and server level environment |
@@ -405,10 +412,11 @@ def get_version(): |
405 | 412 | if proc.stderr: |
406 | 413 | if proc.stderr[0] == 'tmux: unknown option -- V': |
407 | 414 | if sys.platform.startswith("openbsd"): # openbsd has no tmux -V |
408 | | - return LooseVersion('2.3') |
| 415 | + return LooseVersion(TMUX_MAX_VERSION) |
409 | 416 | raise exc.LibTmuxException( |
410 | | - 'libtmux supports tmux 1.8 and greater. This system' |
411 | | - ' is running tmux 1.3 or earlier.') |
| 417 | + 'libtmux supports tmux %s and greater. This system' |
| 418 | + ' is running tmux 1.3 or earlier.' % TMUX_MIN_VERSION |
| 419 | + ) |
412 | 420 | raise exc.VersionTooLow(proc.stderr) |
413 | 421 |
|
414 | 422 | version = proc.stdout[0].split('tmux ')[1] |
@@ -494,12 +502,12 @@ def has_minimum_version(raises=True): |
494 | 502 |
|
495 | 503 | """ |
496 | 504 |
|
497 | | - if get_version() <= LooseVersion("1.7"): |
| 505 | + if get_version() < LooseVersion(TMUX_MIN_VERSION): |
498 | 506 | if raises: |
499 | 507 | raise exc.VersionTooLow( |
500 | | - 'libtmux only supports tmux 1.8 and greater. This system' |
| 508 | + 'libtmux only supports tmux %s and greater. This system' |
501 | 509 | ' has %s installed. Upgrade your tmux to use libtmux.' % |
502 | | - get_version() |
| 510 | + (TMUX_MIN_VERSION, get_version()) |
503 | 511 | ) |
504 | 512 | else: |
505 | 513 | return False |
|
0 commit comments