[rtems-tools 5 PATCH] Python 3.8 warning about "is" vs "==" in comparisons of literals

Ryan Long ryan.long at oarcorp.com
Thu Aug 11 19:25:47 UTC 2022


From: Konrad Schwarz <konrad.schwarz at siemens.com>

Signed-off-by: Konrad Schwarz <konrad.schwarz at siemens.com>

Closes #4692
---
 rtemstoolkit/config.py |  2 +-
 rtemstoolkit/macros.py | 58 +++++++++++++++++++++++++-------------------------
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/rtemstoolkit/config.py b/rtemstoolkit/config.py
index be100f2..8fd4a32 100644
--- a/rtemstoolkit/config.py
+++ b/rtemstoolkit/config.py
@@ -127,7 +127,7 @@ class file(object):
             self.opts.set_dry_run()
 
     def _label(self, name):
-        if name.startswith('%{') and name[-1] is '}':
+        if name.startswith('%{') and name[-1] == '}':
             return name
         return '%{' + name.lower() + '}'
 
diff --git a/rtemstoolkit/macros.py b/rtemstoolkit/macros.py
index d8012e1..136f52d 100644
--- a/rtemstoolkit/macros.py
+++ b/rtemstoolkit/macros.py
@@ -260,7 +260,7 @@ class macros:
         return [rm[7:] for rm in self.read_maps]
 
     def key_filter(self, key):
-        if key.startswith('%{') and key[-1] is '}':
+        if key.startswith('%{') and key[-1] == '}':
             key = key[2:-1]
         return key.lower()
 
@@ -295,29 +295,29 @@ class macros:
                     print(']]]]]]]] c:%s(%d) s:%s t:"%s" m:%r M:%s' % \
                         (c, ord(c), state, token, macro, map))
                 l_remaining = l_remaining[1:]
-                if c is '#' and not state.startswith('value'):
+                if c == '#' and not state.startswith('value'):
                     break
                 if c == '\n' or c == '\r':
-                    if not (state is 'key' and len(token) == 0) and \
+                    if not (state == 'key' and len(token) == 0) and \
                             not state.startswith('value-multiline'):
                         self.macros = orig_macros
                         raise error.general('malformed macro line:%d: %s' % (lc, l))
-                if state is 'key':
+                if state == 'key':
                     if c not in string.whitespace:
-                        if c is '[':
+                        if c == '[':
                             state = 'map'
-                        elif c is '%':
+                        elif c == '%':
                             state = 'directive'
-                        elif c is ':':
+                        elif c == ':':
                             macro += [token]
                             token = ''
                             state = 'attribs'
-                        elif c is '#':
+                        elif c == '#':
                             break
                         else:
                             token += c
-                elif state is 'map':
-                    if c is ']':
+                elif state == 'map':
+                    if c == ']':
                         if token not in self.macros:
                             self.macros[token] = {}
                         map = token
@@ -328,7 +328,7 @@ class macros:
                     else:
                         self.macros = orig_macros
                         raise error.general('invalid macro map:%d: %s' % (lc, l))
-                elif state is 'directive':
+                elif state == 'directive':
                     if c in string.whitespace:
                         if token == 'include':
                             self.load(_clean(l_remaining))
@@ -340,7 +340,7 @@ class macros:
                     else:
                         self.macros = orig_macros
                         raise error.general('invalid macro directive:%d: %s' % (lc, l))
-                elif state is 'include':
+                elif state == 'include':
                     if c is string.whitespace:
                         if token == 'include':
                             state = 'include'
@@ -349,49 +349,49 @@ class macros:
                     else:
                         self.macros = orig_macros
                         raise error.general('invalid macro directive:%d: %s' % (lc, l))
-                elif state is 'attribs':
+                elif state == 'attribs':
                     if c not in string.whitespace:
-                        if c is ',':
+                        if c == ',':
                             macro += [token]
                             token = ''
                             if len(macro) == 3:
                                 state = 'value-start'
                         else:
                             token += c
-                elif state is 'value-start':
-                    if c is "'":
+                elif state == 'value-start':
+                    if c == "'":
                         state = 'value-line-start'
-                elif state is 'value-line-start':
-                    if c is "'":
+                elif state == 'value-line-start':
+                    if c == "'":
                         state = 'value-multiline-start'
                     else:
                         state = 'value-line'
                         token += c
-                elif state is 'value-multiline-start':
-                    if c is "'":
+                elif state == 'value-multiline-start':
+                    if c == "'":
                         state = 'value-multiline'
                     else:
                         macro += [token]
                         state = 'macro'
-                elif state is 'value-line':
-                    if c is "'":
+                elif state == 'value-line':
+                    if c == "'":
                         macro += [token]
                         state = 'macro'
                     else:
                         token += c
-                elif state is 'value-multiline':
-                    if c is "'":
+                elif state == 'value-multiline':
+                    if c == "'":
                         state = 'value-multiline-end'
                     else:
                         token += c
-                elif state is 'value-multiline-end':
-                    if c is "'":
+                elif state == 'value-multiline-end':
+                    if c == "'":
                         state = 'value-multiline-end-end'
                     else:
                         state = 'value-multiline'
                         token += "'" + c
-                elif state is 'value-multiline-end-end':
-                    if c is "'":
+                elif state == 'value-multiline-end-end':
+                    if c == "'":
                         macro += [token]
                         state = 'macro'
                     else:
@@ -400,7 +400,7 @@ class macros:
                 else:
                     self.macros = orig_macros
                     raise error.internal('bad state: %s' % (state))
-                if state is 'macro':
+                if state == 'macro':
                     self.macros[map][macro[0].lower()] = (macro[1], macro[2], macro[3])
                     macro = []
                     token = ''
-- 
2.11.0



More information about the devel mailing list