Source code for schrodinger.application.desmond.platforms

"""
Non-gui code related to Desmond's unavailability on some platforms.

Copyright Schrodinger, LLC. All rights reserved.

"""

# Keep this module clean of any GUI code so that it can be imported by backends
# on machines that do not have gui libraries

import sys

PLATFORM_WARNING = ('Desmond jobs can only be run on a Linux host. You can '
                    'submit Desmond jobs to a Linux host from a Windows or Mac '
                    'host.')

# These strings are values returned by sys.platform
INCOMPATIBLE_PLATFORMS = ('win32', 'darwin')


[docs]def validate_host(host): """ Validates whether or not a launch host is valid for Desmond jobs. Currently only validates localhost. :param host: Launch host to validate :type host: `schrodinger.job.jobcontrol.Host` object :return: True if the selected host is valid for Desmond jobs, False otherwise. :rtype: bool """ return not (host.name == 'localhost' and sys.platform in INCOMPATIBLE_PLATFORMS)