Esempio n. 1
0
    def platform_info(self):
        """Return distro, version, architecture.

        Requires >= Python 2.4 on remote system.
        """
        if not self._platform_info:
            platform_command = "import platform,sys\n"
            platform_command += utils.get_source_definition(
                utils.get_platform_info)
            platform_command += ("\nsys.stdout.write(str("
                                 "get_platform_info()))\n")
            command = 'echo -e """%s""" | python' % platform_command
            output = self.remote_execute(command)
            stdout = re.split('\n|\r\n', output['stdout'])[-1].strip()
            if stdout:
                try:
                    plat = ast.literal_eval(stdout)
                except SyntaxError as exc:
                    plat = {'dist': 'unknown'}
                    LOG.warning("Error parsing response from host '%s': %s",
                                self.host, output, exc_info=exc)
            else:
                plat = {'dist': 'unknown'}
                LOG.warning("Blank response from host '%s': %s",
                            self.host, output)
            self._platform_info = plat
        return self._platform_info
Esempio n. 2
0
 def test_get_definition_with_docstring(self):
     nab = utils.get_source_definition(self.get_my_source_oneline_docstring,
                                       with_docstring=True)
     copy = "%s\n    %s\n    %s" % (self.function_signature,
                                    self.function_oneline_docstring,
                                    "\n    ".join(self.function_body))
     self.assertEqual(copy, nab)
Esempio n. 3
0
 def test_get_definition_with_docstring(self):
     nab = utils.get_source_definition(
         self.get_my_source_oneline_docstring, with_docstring=True)
     copy = "%s\n    %s\n    %s" % (self.function_signature,
                                    self.function_oneline_docstring,
                                    "\n    ".join(self.function_body))
     self.assertEqual(copy, nab)
Esempio n. 4
0
    def platform_info(self):
        """Return distro, version, architecture.

        Requires >= Python 2.4 on remote system.
        """
        if not self._platform_info:

            platform_command = "import platform,sys\n"
            platform_command += utils.get_source_definition(
                utils.get_platform_info)
            platform_command += ("\nsys.stdout.write(str("
                                 "get_platform_info()))\n")
            command = 'echo -e """%s""" | python' % platform_command
            output = self.remote_execute(command)
            stdout = re.split('\n|\r\n', output['stdout'])[-1].strip()
            plat = ast.literal_eval(stdout)
            self._platform_info = plat

        LOG.debug("Remote platform info: %s", self._platform_info)
        return self._platform_info
Esempio n. 5
0
File: ssh.py Progetto: brint/satori
    def platform_info(self):
        """Return distro, version, architecture.

        Requires >= Python 2.4 on remote system.
        """
        if not self._platform_info:

            platform_command = "import platform,sys\n"
            platform_command += utils.get_source_definition(
                utils.get_platform_info)
            platform_command += ("\nsys.stdout.write(str("
                                 "get_platform_info()))\n")
            command = 'echo -e """%s""" | python' % platform_command
            output = self.remote_execute(command)
            stdout = re.split('\n|\r\n', output['stdout'])[-1].strip()
            plat = ast.literal_eval(stdout)
            self._platform_info = plat

        LOG.debug("Remote platform info: %s", self._platform_info)
        return self._platform_info