(self, params, **kwargs)
| 1594 | return False |
| 1595 | |
| 1596 | def execute(self, params, **kwargs): |
| 1597 | version_details = is_up_to_date_version(params) |
| 1598 | is_verbose = kwargs.get('verbose', False) |
| 1599 | show_packages = kwargs.get('packages', False) |
| 1600 | |
| 1601 | this_app_version = __version__ |
| 1602 | |
| 1603 | if version_details.get('is_up_to_date') is None: |
| 1604 | this_app_version = f'{this_app_version} (Current version)' |
| 1605 | |
| 1606 | if not is_verbose: |
| 1607 | print('{0}: {1}'.format('Commander Version', this_app_version)) |
| 1608 | else: |
| 1609 | print('{0:>20s}: {1}'.format('Commander Version', this_app_version)) |
| 1610 | print("{0:>20s}: {1}".format('API Client Version', rest_api.CLIENT_VERSION)) |
| 1611 | print('{0:>20s}: {1}'.format('Python Version', sys.version.replace("\n", ""))) |
| 1612 | print('{0:>20s}: {1}'.format('Operating System', loginv3.CommonHelperMethods.get_os() + '(' + platform.release() + ')')) |
| 1613 | print('{0:>20s}: {1}'.format('Working directory', os.getcwd())) |
| 1614 | print('{0:>20s}: {1}'.format('Package directory', os.path.dirname(api.__file__))) |
| 1615 | print('{0:>20s}: {1}'.format('Config. File', params.config_filename)) |
| 1616 | print('{0:>20s}: {1}'.format('Executable', sys.executable)) |
| 1617 | |
| 1618 | if logging.getLogger().isEnabledFor(logging.DEBUG) or show_packages: |
| 1619 | import importlib.metadata |
| 1620 | dist = importlib.metadata.packages_distributions() |
| 1621 | packages = {} |
| 1622 | for pack in dist.values(): |
| 1623 | if isinstance(pack, list) and len(pack) > 0: |
| 1624 | name = pack[0] |
| 1625 | if name in packages: |
| 1626 | continue |
| 1627 | try: |
| 1628 | version = importlib.metadata.version(name) |
| 1629 | packages[name] = version |
| 1630 | except Exception as e: |
| 1631 | logging.debug('Get package %s version error: %s', name, e) |
| 1632 | installed_packages_list = [f'{x[0]}=={x[1]}' for x in packages.items()] |
| 1633 | installed_packages_list.sort(key=lambda x: x.lower()) |
| 1634 | print('{0:>20s}: {1}'.format('Packages', installed_packages_list)) |
| 1635 | |
| 1636 | if version_details.get('is_up_to_date') is None: |
| 1637 | logging.debug("It appears that Commander is up to date") |
| 1638 | elif not version_details.get('is_up_to_date'): |
| 1639 | |
| 1640 | latest_version = version_details.get('current_github_version') |
| 1641 | |
| 1642 | print((bcolors.WARNING + |
| 1643 | 'Latest Commander Version: %s\n' |
| 1644 | 'You can download the current version at: %s \n' + bcolors.ENDC) |
| 1645 | % (latest_version, version_details.get('new_version_download_url'))) |
| 1646 | if is_binary_app(): |
| 1647 | print("Installation path: {0} ".format(sys._MEIPASS)) |
| 1648 | |
| 1649 | |
| 1650 | class KeepAliveCommand(Command): |
nothing calls this directly
no test coverage detected