(self, raw_field, only=None)
| 115 | return self.dialect.escapechar |
| 116 | |
| 117 | def prepare(self, raw_field, only=None): |
| 118 | field = str(raw_field if raw_field is not None else '') |
| 119 | quoted = self.quoted(field=field, raw_field=raw_field, only=only) |
| 120 | |
| 121 | escape_re = self.escape_re(quoted=quoted) |
| 122 | escapechar = self.escapechar(quoted=quoted) |
| 123 | |
| 124 | if escape_re.search(field): |
| 125 | escapechar = '\\\\' if escapechar == '\\' else escapechar |
| 126 | if escapechar: |
| 127 | escape_replace = \ |
| 128 | r'{escapechar}\1'.format(escapechar=escapechar) |
| 129 | field = escape_re.sub(escape_replace, field) |
| 130 | |
| 131 | if quoted: |
| 132 | field = '{quotechar}{field}{quotechar}'.format( |
| 133 | quotechar=self.dialect.quotechar, field=field) |
| 134 | |
| 135 | return field |
| 136 | |
| 137 | |
| 138 | class QuoteMinimalStrategy(QuoteStrategy): |
no test coverage detected