From aff9c84d367aa9d0390910490552ae2473ff3e76 Mon Sep 17 00:00:00 2001 From: Robsdedude Date: Mon, 29 Sep 2025 17:11:54 +0200 Subject: [PATCH 1/2] Make Rule's unasync functions public for overwriting --- src/unasync/__init__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/unasync/__init__.py b/src/unasync/__init__.py index e669b9a..6cfa78d 100644 --- a/src/unasync/__init__.py +++ b/src/unasync/__init__.py @@ -89,20 +89,20 @@ def _unasync_tokens(self, tokens): skip_next = True else: if token.name == "NAME": - token = token._replace(src=self._unasync_name(token.src)) + token = token._replace(src=self.unasync_name(token.src)) elif token.name == "STRING": - left_quote, name, right_quote = ( + left_quote, string, right_quote = ( token.src[0], token.src[1:-1], token.src[-1], ) token = token._replace( - src=left_quote + self._unasync_name(name) + right_quote + src=left_quote + self.unasync_string(string) + right_quote ) yield token - def _unasync_name(self, name): + def unasync_name(self, name): if name in self.token_replacements: return self.token_replacements[name] # Convert classes prefixed with 'Async' into 'Sync' @@ -110,6 +110,9 @@ def _unasync_name(self, name): return "Sync" + name[5:] return name + def unasync_string(self, string): + return self.unasync_name(string) + def unasync_files(fpath_list, rules): for f in fpath_list: From f642a90ef0ee2bc985d454c467edf3f8ac930428 Mon Sep 17 00:00:00 2001 From: Robsdedude Date: Mon, 29 Sep 2025 17:44:26 +0200 Subject: [PATCH 2/2] Add changelog entry --- newsfragments/84.feature.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/84.feature.rst diff --git a/newsfragments/84.feature.rst b/newsfragments/84.feature.rst new file mode 100644 index 0000000..d421bb3 --- /dev/null +++ b/newsfragments/84.feature.rst @@ -0,0 +1 @@ +Add public methods ``unasync_name`` and ``unasync_string`` to ``Rule`` to allow for easier customization via inheritance.