Skip to content

Commit

Permalink
Use hash rather than backslash for escaping
Browse files Browse the repository at this point in the history
  • Loading branch information
joerick committed Nov 14, 2021
1 parent 69d2854 commit c824ed9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
4 changes: 2 additions & 2 deletions cibuildwheel/util.py
Expand Up @@ -68,7 +68,7 @@ def format_safe(template: str, **kwargs: Any) -> str:
for key, value in kwargs.items():
find_pattern = re.compile(
fr"""
(?<!\\) # don't match if preceded by a backslash
(?<!\#) # don't match if preceded by a hash
{{ # literal open curly bracket
{re.escape(key)} # the field name
}} # literal close curly bracket
Expand All @@ -85,7 +85,7 @@ def format_safe(template: str, **kwargs: Any) -> str:
)

# transform escaped sequences into their literal equivalents
result = result.replace(f"\\{{{key}}}", f"{{{key}}}")
result = result.replace(f"#{{{key}}}", f"{{{key}}}")

return result

Expand Down
8 changes: 6 additions & 2 deletions unit_test/utils_test.py
Expand Up @@ -3,8 +3,8 @@

def test_format_safe():
assert format_safe("{wheel}", wheel="filename.whl") == "filename.whl"
assert format_safe("command \\{wheel}", wheel="filename.whl") == "command {wheel}"
assert format_safe("{command \\{wheel}}", wheel="filename.whl") == "{command {wheel}}"
assert format_safe("command #{wheel}", wheel="filename.whl") == "command {wheel}"
assert format_safe("{command #{wheel}}", wheel="filename.whl") == "{command {wheel}}"

# check unmatched brackets
assert format_safe("{command {wheel}", wheel="filename.whl") == "{command filename.whl"
Expand All @@ -15,6 +15,10 @@ def test_format_safe():
== "find . -name * -exec ls -a {} \\;"
)

assert format_safe("{param} {param}", param="1") == "1 1"
assert format_safe("# {param} {param}", param="1") == "# 1 1"
assert format_safe("#{not_a_param} {param}", param="1") == "#{not_a_param} 1"


def test_prepare_command():
assert prepare_command("python -m {project}", project="project") == "python -m project"
Expand Down

0 comments on commit c824ed9

Please sign in to comment.