File Fix-TensorFlow-on-Python-3.8-logger-issue.patch of Package tensorflow

From 0cdd66245dc10cdb255c55e617c1b2852579bd11 Mon Sep 17 00:00:00 2001
From: Yong Tang <yong.tang.github@outlook.com>
Date: Sun, 3 Nov 2019 19:52:04 +0000
Subject: [PATCH 3/3] Fix TensorFlow on Python 3.8 logger issue

This fix tries to address the issue raised in 33799
where running tensorflow on python 3.8 (Ubuntu 18.04)
raised the following error:
```
TypeError: _logger_find_caller() takes from 0 to 1 positional arguments but 2 were given
```

The issue was that findCaller changed in Python 3.8

This PR fixes the issue.

This PR fixes 33799

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
 tensorflow/python/platform/tf_logging.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/tensorflow/python/platform/tf_logging.py b/tensorflow/python/platform/tf_logging.py
index 86a4957c9d..a397393e7f 100644
--- a/tensorflow/python/platform/tf_logging.py
+++ b/tensorflow/python/platform/tf_logging.py
@@ -57,9 +57,18 @@ def _get_caller(offset=3):
     f = f.f_back
   return None, None
 
-
 # The definition of `findCaller` changed in Python 3.2
-if _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
+if _sys.version_info.major >= 3 and _sys.version_info.minor >= 8:
+  def _logger_find_caller(stack_info=False, stacklevel=1):  # pylint: disable=g-wrong-blank-lines
+    code, frame = _get_caller(4)
+    sinfo = None
+    if stack_info:
+      sinfo = '\n'.join(_traceback.format_stack())
+    if code:
+      return (code.co_filename, frame.f_lineno, code.co_name, sinfo)
+    else:
+      return '(unknown file)', 0, '(unknown function)', sinfo
+elif _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
   def _logger_find_caller(stack_info=False):  # pylint: disable=g-wrong-blank-lines
     code, frame = _get_caller(4)
     sinfo = None
-- 
2.25.0

openSUSE Build Service is sponsored by