# HG changeset patch
# User Raphaël Gomès <rgomes@octobus.net>
# Date 2019-08-02 07:48:13
# Node ID e9592e113c31dd4680523455d04ab5a59ed3f99e
# Parent  70bd1965bd07531c668a47e349628e2416f4e0f9

byteify-strings: handle triple quoted strings if they are not docstrings

As with anything in this script, this is a best effort approach. Most of the
time, when a triple quoted string is assigned to something, it's not a
docstring.

diff --git a/contrib/byteify-strings.py b/contrib/byteify-strings.py
--- a/contrib/byteify-strings.py
+++ b/contrib/byteify-strings.py
@@ -139,8 +139,10 @@ def replacetokens(tokens, opts):
             # components touching docstrings need to handle unicode,
             # unfortunately.
             if s[0:3] in ("'''", '"""'):
-                yield adjusttokenpos(t, coloffset)
-                continue
+                # If it's assigned to something, it's not a docstring
+                if not _isop(i - 1, '='):
+                    yield adjusttokenpos(t, coloffset)
+                    continue
 
             # If the first character isn't a quote, it is likely a string
             # prefixing character (such as 'b', 'u', or 'r'. Ignore.