Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Unified Diff: tools/telemetry/third_party/typ/typ/host.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/typ/typ/host.py
diff --git a/tools/telemetry/third_party/typ/typ/host.py b/tools/telemetry/third_party/typ/typ/host.py
deleted file mode 100644
index fc9e11304cdb47f4baafac2b52a0753f901dc402..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/typ/typ/host.py
+++ /dev/null
@@ -1,286 +0,0 @@
-# Copyright 2014 Dirk Pranke. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import io
-import logging
-import multiprocessing
-import os
-import shutil
-import subprocess
-import sys
-import tempfile
-import time
-
-
-if sys.version_info.major == 2: # pragma: python2
- from urllib2 import urlopen, Request
-else: # pragma: python3
- # pylint: disable=E0611
- assert sys.version_info.major == 3
- from urllib.request import urlopen, Request # pylint: disable=F0401,E0611
-
-
-class Host(object):
- python_interpreter = sys.executable
- is_python3 = bool(sys.version_info.major == 3)
-
- pathsep = os.pathsep
- sep = os.sep
- env = os.environ
-
- _orig_stdout = sys.stdout
- _orig_stderr = sys.stderr
-
- def __init__(self):
- self.logger = logging.getLogger()
- self._orig_logging_handlers = None
- self.stdout = sys.stdout
- self.stderr = sys.stderr
- self.stdin = sys.stdin
- self.env = os.environ
- self.platform = sys.platform
-
- def abspath(self, *comps):
- return os.path.abspath(self.join(*comps))
-
- def add_to_path(self, *comps):
- absolute_path = self.abspath(*comps)
- if absolute_path not in sys.path:
- sys.path.append(absolute_path)
-
- def basename(self, path):
- return os.path.basename(path)
-
- def call(self, argv, stdin=None, env=None):
- if stdin:
- stdin_pipe = subprocess.PIPE
- else:
- stdin_pipe = None
- proc = subprocess.Popen(argv, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, stdin=stdin_pipe,
- env=env)
- if stdin_pipe:
- proc.stdin.write(stdin.encode('utf-8'))
- stdout, stderr = proc.communicate()
-
- # pylint type checking bug - pylint: disable=E1103
- return proc.returncode, stdout.decode('utf-8'), stderr.decode('utf-8')
-
- def call_inline(self, argv, env=None):
- if isinstance(self.stdout, _TeedStream): # pragma: no cover
- ret, out, err = self.call(argv, env)
- self.print_(out, end='')
- self.print_(err, end='', stream=self.stderr)
- return ret
- return subprocess.call(argv, stdin=self.stdin, stdout=self.stdout,
- stderr=self.stderr, env=env)
-
- def chdir(self, *comps):
- return os.chdir(self.join(*comps))
-
- def cpu_count(self):
- return multiprocessing.cpu_count()
-
- def dirname(self, *comps):
- return os.path.dirname(self.join(*comps))
-
- def exists(self, *comps):
- return os.path.exists(self.join(*comps))
-
- def files_under(self, top):
- all_files = []
- for root, _, files in os.walk(top):
- for f in files:
- relpath = self.relpath(os.path.join(root, f), top)
- all_files.append(relpath)
- return all_files
-
- def getcwd(self):
- return os.getcwd()
-
- def getenv(self, key, default=None):
- return self.env.get(key, default)
-
- def getpid(self):
- return os.getpid()
-
- def for_mp(self):
- return None
-
- def isdir(self, *comps):
- return os.path.isdir(os.path.join(*comps))
-
- def isfile(self, *comps):
- return os.path.isfile(os.path.join(*comps))
-
- def join(self, *comps):
- return os.path.join(*comps)
-
- def maybe_mkdir(self, *comps):
- path = self.abspath(self.join(*comps))
- if not self.exists(path):
- os.makedirs(path)
-
- def mktempfile(self, delete=True):
- return tempfile.NamedTemporaryFile(delete=delete)
-
- def mkdtemp(self, **kwargs):
- return tempfile.mkdtemp(**kwargs)
-
- def mtime(self, *comps):
- return os.stat(self.join(*comps)).st_mtime
-
- def print_(self, msg='', end='\n', stream=None):
- stream = stream or self.stdout
- stream.write(str(msg) + end)
- stream.flush()
-
- def read_text_file(self, *comps):
- return self._read(comps, 'r')
-
- def read_binary_file(self, *comps):
- return self._read(comps, 'rb')
-
- def _read(self, comps, mode):
- path = self.join(*comps)
- with open(path, mode) as f:
- return f.read()
-
- def realpath(self, *comps):
- return os.path.realpath(os.path.join(*comps))
-
- def relpath(self, path, start):
- return os.path.relpath(path, start)
-
- def remove(self, *comps):
- os.remove(self.join(*comps))
-
- def rmtree(self, path):
- shutil.rmtree(path, ignore_errors=True)
-
- def splitext(self, path):
- return os.path.splitext(path)
-
- def time(self):
- return time.time()
-
- def write_text_file(self, path, contents):
- return self._write(path, contents, mode='w')
-
- def write_binary_file(self, path, contents):
- return self._write(path, contents, mode='wb')
-
- def _write(self, path, contents, mode):
- with open(path, mode) as f:
- f.write(contents)
-
- def fetch(self, url, data=None, headers=None):
- headers = headers or {}
- return urlopen(Request(url, data.encode('utf8'), headers))
-
- def terminal_width(self):
- """Returns 0 if the width cannot be determined."""
- try:
- if sys.platform == 'win32': # pragma: win32
- # From http://code.activestate.com/recipes/ \
- # 440694-determine-size-of-console-window-on-windows/
- from ctypes import windll, create_string_buffer
-
- STDERR_HANDLE = -12
- handle = windll.kernel32.GetStdHandle(STDERR_HANDLE)
-
- SCREEN_BUFFER_INFO_SZ = 22
- buf = create_string_buffer(SCREEN_BUFFER_INFO_SZ)
-
- if windll.kernel32.GetConsoleScreenBufferInfo(handle, buf):
- import struct
- fields = struct.unpack("hhhhHhhhhhh", buf.raw)
- left = fields[5]
- right = fields[7]
-
- # Note that we return 1 less than the width since writing
- # into the rightmost column automatically performs a
- # line feed.
- return right - left
- return 0
- else: # pragma: no win32
- import fcntl
- import struct
- import termios
- packed = fcntl.ioctl(self.stderr.fileno(),
- termios.TIOCGWINSZ, '\0' * 8)
- _, columns, _, _ = struct.unpack('HHHH', packed)
- return columns
- except Exception:
- return 0
-
- def _tap_output(self):
- self.stdout = sys.stdout = _TeedStream(self.stdout)
- self.stderr = sys.stderr = _TeedStream(self.stderr)
-
- def _untap_output(self):
- assert isinstance(self.stdout, _TeedStream)
- self.stdout = sys.stdout = self.stdout.stream
- self.stderr = sys.stderr = self.stderr.stream
-
- def capture_output(self, divert=True):
- self._tap_output()
- self._orig_logging_handlers = self.logger.handlers
- if self._orig_logging_handlers:
- self.logger.handlers = [logging.StreamHandler(self.stderr)]
- self.stdout.capture(divert)
- self.stderr.capture(divert)
-
- def restore_output(self):
- assert isinstance(self.stdout, _TeedStream)
- out, err = (self.stdout.restore(), self.stderr.restore())
- self.logger.handlers = self._orig_logging_handlers
- self._untap_output()
- return out, err
-
-
-class _TeedStream(io.StringIO):
-
- def __init__(self, stream):
- super(_TeedStream, self).__init__()
- self.stream = stream
- self.capturing = False
- self.diverting = False
-
- def write(self, msg, *args, **kwargs):
- if self.capturing:
- if (sys.version_info.major == 2 and
- isinstance(msg, str)): # pragma: python2
- msg = unicode(msg)
- super(_TeedStream, self).write(msg, *args, **kwargs)
- if not self.diverting:
- self.stream.write(msg, *args, **kwargs)
-
- def flush(self):
- if self.capturing:
- super(_TeedStream, self).flush()
- if not self.diverting:
- self.stream.flush()
-
- def capture(self, divert=True):
- self.truncate(0)
- self.capturing = True
- self.diverting = divert
-
- def restore(self):
- msg = self.getvalue()
- self.truncate(0)
- self.capturing = False
- self.diverting = False
- return msg

Powered by Google App Engine
This is Rietveld 408576698