From a2d5fa8dde190ad522d2f6125dd7b5221055b90b Mon Sep 17 00:00:00 2001 From: sHa Date: Sat, 27 Dec 2025 03:36:08 +0000 Subject: [PATCH] feat: Bump version to 0.2.8, escape filenames in rename confirmation screen --- dist/renamer-0.2.8-py3-none-any.whl | Bin 0 -> 32944 bytes pyproject.toml | 2 +- renamer/screens.py | 5 +++-- uv.lock | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 dist/renamer-0.2.8-py3-none-any.whl diff --git a/dist/renamer-0.2.8-py3-none-any.whl b/dist/renamer-0.2.8-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..47472f55fcbffc6808780c68de58292f1fa7001d GIT binary patch literal 32944 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�!55w>__HXI)>=630UB4@6c&Si@a;`^ZDw&}cd&#S z-@%;?LaVcLBzQ{R&zrkPO^VjkS-Mf^$k1qp>IZM~!Yb})KQFo&f}1J$_HNH1up%R{ z3A^+MDz-~#(D?aY|4Kqi6I^oEyXT|ru-8Yrq`jwsp4SY?`||u6Iu8tj2Kq-)rr%dO zef`6KuA;y{-u_IF{g=9@fB?WMr2o?#2&gEq_%DF}sYwdh7O=3^TU&%zLH_55|8JQs zz{Y?@rrsL!!@f2CYso1<0$>@HH$pDb8{vP8ssJ_ytVQzHI2HM=@mpmQ!1jQpIo{e2 zza{|v^Si$l>Huv2$N#@tZvJ!qu|fIsDhgb}erx~V+}eN3YYxZ)%xnI}!hB8J{byhP z!unm7b3iCy=I=MC6z*@K|K-0Lod98g>2=>=Ohmth{nqvZNCix{`bPC2`B&;cYz2T+ zzF1jGUcM89E!x&HJm(DDd;E%HmJy@gF;O{!;+z23 z7eJ%@8-+{{pfCS!q6dTm+K}I%qx$~_{r{B`fcB&}D5}Ztp#N_|0?-8VMr|_vJ@x-V zMgVH_-=G5K|AqcTGxDcyA8<4QRatMec$XF{4 zjsFMrZ(1clB%n6wPh>+N$gAq?e;<*5jNt$1mK3DHU-eLb#1v8h)xGX)4_yBE?f(P8 Cwp1hl literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml index f5203db..ff1ee31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "renamer" -version = "0.2.7" +version = "0.2.8" description = "Terminal-based media file renamer and metadata viewer" readme = "README.md" requires-python = ">=3.11" diff --git a/renamer/screens.py b/renamer/screens.py index 0d0e00d..06cf3b5 100644 --- a/renamer/screens.py +++ b/renamer/screens.py @@ -1,6 +1,7 @@ from textual.screen import Screen from textual.widgets import Input, Button, Static from textual.containers import Vertical, Horizontal, Center, Container +from rich.markup import escape from pathlib import Path @@ -122,8 +123,8 @@ class RenameConfirmScreen(Screen): confirm_text = f""" {TextFormatter.bold(TextFormatter.red("RENAME CONFIRMATION"))} -Current name: {TextFormatter.cyan(self.old_path.name)} -New name: {TextFormatter.green(self.new_name)} +Current name: {TextFormatter.cyan(escape(self.old_path.name))} +New name: {TextFormatter.green(escape(self.new_name))} {TextFormatter.yellow("This action cannot be undone!")} diff --git a/uv.lock b/uv.lock index f3d70de..b79f558 100644 --- a/uv.lock +++ b/uv.lock @@ -164,7 +164,7 @@ wheels = [ [[package]] name = "renamer" -version = "0.2.7" +version = "0.2.8" source = { editable = "." } dependencies = [ { name = "langcodes" },