X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftools%2Ftelemetry%2Ftelemetry%2Fcore%2Fbackends%2Fchrome%2Fsystem_info_backend.py;h=ad45afaa8e2abb9b304e9ec90b3fec874ab2599c;hb=ff3e2503a20db9193d323c1d19c38c68004dec4a;hp=22ed74f67f32d92b61d0c6034a4c58681ba15be3;hpb=4b53d56b8a1db20d4089f6d4f37126d43f907125;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/tools/telemetry/telemetry/core/backends/chrome/system_info_backend.py b/src/tools/telemetry/telemetry/core/backends/chrome/system_info_backend.py index 22ed74f..ad45afa 100644 --- a/src/tools/telemetry/telemetry/core/backends/chrome/system_info_backend.py +++ b/src/tools/telemetry/telemetry/core/backends/chrome/system_info_backend.py @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. +from telemetry import decorators from telemetry.core import camel_case from telemetry.core import system_info from telemetry.core.backends.chrome import websocket_browser_connection @@ -11,17 +12,15 @@ class SystemInfoBackend(object): def __init__(self, devtools_port): self._conn = websocket_browser_connection.WebSocketBrowserConnection( devtools_port) - self._system_info = None + @decorators.Cache def GetSystemInfo(self, timeout=10): - if not self._system_info: - req = {'method': 'SystemInfo.getInfo'} - try: - res = self._conn.SyncRequest(req, timeout) - if 'error' in res: - return None - self._system_info = system_info.SystemInfo.FromDict( - camel_case.ToUnderscore(res['result'])) - finally: - self._conn.Close() - return self._system_info + req = {'method': 'SystemInfo.getInfo'} + try: + res = self._conn.SyncRequest(req, timeout) + finally: + self._conn.Close() + if 'error' in res: + return None + return system_info.SystemInfo.FromDict( + camel_case.ToUnderscore(res['result']))