#49: Filter out unprintable characters

This commit is contained in:
mtkennerly 2024-08-17 19:01:57 -04:00
parent 8c2be97d3b
commit d907d5a5a3
No known key found for this signature in database
GPG key ID: E764BE00BE6E6408
4 changed files with 14 additions and 33 deletions

View file

@ -72592,11 +72592,6 @@ Bicyclism EP:
- when:
- os: windows
store: steam
registry:
"HKEY_CURRENT_USER/Software/Tale of Tales/BientoÌt l'été":
tags:
- config
- save
steam:
id: 229600
Bierzerkers:
@ -180864,11 +180859,6 @@ Divine Divinity:
- save
when:
- os: windows
"<home>/Library/Application Support/GOG.com/Divine Divinity/savegames":
tags:
- save
when:
- os: mac
gog:
id: 1207658805
id:
@ -182144,13 +182134,6 @@ Dog-O:
steam: true
steam:
id: 1004520
DogDay:
files:
"C:/Windows/DOGDAY.INI":
tags:
- config
when:
- os: windows
DogFighter:
cloud:
steam: true
@ -271277,11 +271260,6 @@ Go Outside Simulator:
id: 413760
"Go West: A Lucky Luke Adventure":
files:
"<base>/lang.ini\n<base>/launcher.ini\n<base>/user.ini":
tags:
- config
when:
- os: windows
"<base>/savegames":
tags:
- save
@ -622545,11 +622523,9 @@ Supreme Ruler The Great War:
cloud:
steam: true
files:
LibraryApplication SupportSteamsteamappscommonSupreme Ruler Great WarSupremeRulerGreatWarContentsResourcesdrive_cusersWineskinMy DocumentsMy Games ▸:
tags:
- save
"<winDocuments>/My Games/Supreme Ruler Great War/SteamCloud/*.sav":
when:
- os: mac
- store: steam
id:
lutris: supreme-ruler-the-great-war
installDir:
@ -683620,11 +683596,6 @@ Thief Simulator:
- save
when:
- os: windows
"<home>/Library/Containers/com.noblemuffins.thiefsimulator/Data/Library/Application Support/com.noblemuffins.thiefsimulator/\nOR\n~/Library/Application Support/unity.DefaultCompany.UFPS":
tags:
- save
when:
- os: mac
gog:
id: 2020235723
installDir:

View file

@ -7134,6 +7134,7 @@
* [Dog's Quest](https://www.pcgamingwiki.com/wiki/?curid=98728)
* [Dog-O](https://www.pcgamingwiki.com/wiki/?curid=151525)
* [Dogcoin](https://www.pcgamingwiki.com/wiki/?curid=68420)
* [DogDay](https://www.pcgamingwiki.com/wiki/?curid=192226)
* [Dogfight Elite](https://www.pcgamingwiki.com/wiki/?curid=33852)
* [Dogfight: 80 Years of Aerial Warfare](https://www.pcgamingwiki.com/wiki/?curid=177418)
* [DogFighter](https://www.pcgamingwiki.com/wiki/?curid=51094)

View file

@ -135,5 +135,12 @@ fn too_broad(path: &str) -> bool {
}
pub fn usable(path: &str) -> bool {
!path.is_empty() && !path.contains("{{") && !path.starts_with("./") && !path.starts_with("../") && !too_broad(path)
static UNPRINTABLE: Lazy<Regex> = Lazy::new(|| Regex::new(r"(\p{Cc}|\p{Cf})").unwrap());
!path.is_empty()
&& !path.contains("{{")
&& !path.starts_with("./")
&& !path.starts_with("../")
&& !too_broad(path)
&& !UNPRINTABLE.is_match(path)
}

View file

@ -50,5 +50,7 @@ fn too_broad(path: &str) -> bool {
}
pub fn usable(path: &str) -> bool {
!path.is_empty() && !path.contains("{{") && !too_broad(path)
static UNPRINTABLE: Lazy<Regex> = Lazy::new(|| Regex::new(r"(\p{Cc}|\p{Cf})").unwrap());
!path.is_empty() && !path.contains("{{") && !too_broad(path) && !UNPRINTABLE.is_match(path)
}