Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / Scripts / webkitpy / formatter / fix_single_quote_strings.py
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """
6 A 2to3 fixer that converts all string literals to use single quotes.
7
8 Strings that contain single quotes will not be modified. Prefixed string
9 literals will also not be modified. This affect double-quoted strings but
10 not triple-double-quote strings.
11
12 """
13
14 from lib2to3.fixer_base import BaseFix
15 from lib2to3.pgen2 import token
16
17
18 class FixSingleQuoteStrings(BaseFix):
19
20     explicit = True
21     _accept_type = token.STRING
22
23     def match(self, node):
24         res = node.value.startswith('"') and not node.value.startswith('"""') and "'" not in node.value[1:-1]
25         return res
26
27     def transform(self, node, results):
28         node.value = node.value.replace('"', "'")
29         node.changed()