IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> [F] $validate() broken?, V2.43
chrisjj
post Apr 28 2009, 22:53
Post #1


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



I find that $validate(aaa \ bbb,_) returns not aaa _ bbb as expected, and as observed on versions until recently, but aaa\ bbb (note also the missing space before \).

Bug?

Also, $validate(aaa \ bbb,_)\t returns aaa \ bbb\t i.e. does not omit that space.

This post has been edited by chrisjj: Apr 28 2009, 22:53
Go to the top of the page
 
+Quote Post
Florian
post May 2 2009, 08:31
Post #2


Developer


Group: Admin
Posts: 7621
Joined: 12-December 01
From: Germany, Dresden
Member No.: 203
Mp3tag Version: 2.55a



The backslash is a valid character for separating directories in a file path. The spaces before a backslash will be removed anyway, but I'll try to make this more consistent in the UI with a future release.

Kind regards,
Florian


--------------------
♫ If you like using Mp3tag please donate to support further development.

Go to the top of the page
 
+Quote Post
chrisjj
post May 3 2009, 04:46
Post #3


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



> The backslash is a valid character for separating directories in a file path.

Backslash is an invalid character in a fileNAME, and since $validate() is described as "Remove invalid characters from filename", $validate() should remove backslash.

This post has been edited by chrisjj: May 6 2009, 00:30
Go to the top of the page
 
+Quote Post
Florian
post May 9 2009, 08:21
Post #4


Developer


Group: Admin
Posts: 7621
Joined: 12-December 01
From: Germany, Dresden
Member No.: 203
Mp3tag Version: 2.55a



OK, I'll then update the documentation accordingly. Many users are using this function with file paths and a change would break all those scripts.


--------------------
♫ If you like using Mp3tag please donate to support further development.

Go to the top of the page
 
+Quote Post
chrisjj
post May 9 2009, 11:07
Post #5


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



Fair enough! Thanks.
Go to the top of the page
 
+Quote Post
chrisjj
post Jul 7 2009, 16:22
Post #6


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



> I find that $validate(aaa \ bbb,_) returns ... aaa\ bbb (note ... the missing space
> Bug?
> $validate(aaa \ bbb,_)\t returns aaa \ bbb\t i.e. does not omit that space.

Any thoughts on specifically this missing space, Florian?
Go to the top of the page
 
+Quote Post
DetlevD
post Jul 7 2009, 19:33
Post #7


Member


Group: Full Members
Posts: 4129
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.54



I want to throw in that ...

... a string like this:

" aaa \ bbb \ ccc "

... should be fixed to:

" aaa\ bbb\ ccc"

in order to be a valid path string for the disksystem.

DD.20090707.2033.CEST

This post has been edited by DetlevD: Jul 7 2009, 19:52


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
Florian
post Jul 12 2009, 20:28
Post #8


Developer


Group: Admin
Posts: 7621
Joined: 12-December 01
From: Germany, Dresden
Member No.: 203
Mp3tag Version: 2.55a



Fixed.


--------------------
♫ If you like using Mp3tag please donate to support further development.

Go to the top of the page
 
+Quote Post
DetlevD
post Jul 13 2009, 19:44
Post #9


Member


Group: Full Members
Posts: 4129
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.54



Florian, I did a few tests - not all yet - and it looks good so far, but ...

... having this invalid string
"D:;\FOL*DER;\<FOLDER>\\\..\;A:?/*"

... then preview shows, e. g.
"D:\Programme\Mp3tag\D;\FOLDER;\;A.mp3"
Looks perfect cleaned and canonicalized.

But the dialog shows the non canonicalized path.

Attached Image


Please look into again.
... and try to suppress ascii values below 32 too.

Regards
Detlev

DD.20090713.12043.CEST

This post has been edited by DetlevD: Jul 13 2009, 19:52


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
chrisjj
post Jul 13 2009, 20:35
Post #10


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



> ... having this invalid string
> "D:;\FOL*DER;\<FOLDER>\\\..\;A:?/*"

That's a cruel test... Well done! smile.gif

> ... then preview shows, e. g.
> "D:\Programme\Mp3tag\D;\FOLDER;\;A.mp3"
> Looks perfect cleaned and canonicalized.

Likewise for me on your example:


> But the dialog shows the non canonicalized path.
>
Attached Image


Here it can show a /mis/-canonicalized path sad.gif


> Please look into again.

Let's not be too hasty here. The dialog's live preview has never shown the full path, just the part of the path corresponding to the Format String, validated. I think careful consideration is needed before changing the design intent.
Go to the top of the page
 
+Quote Post
Florian
post Jul 19 2009, 14:06
Post #11


Developer


Group: Admin
Posts: 7621
Joined: 12-December 01
From: Germany, Dresden
Member No.: 203
Mp3tag Version: 2.55a



In the example Detlev was referring to, the folder was already party canonicalized which was is also the case for the example chrisjj brought up. Thanks for pointing!

This should now also be addressed in the current Development Build.



--------------------
♫ If you like using Mp3tag please donate to support further development.

Go to the top of the page
 
+Quote Post
DetlevD
post Jul 26 2009, 22:03
Post #12


Member


Group: Full Members
Posts: 4129
Joined: 26-May 06
From: Wuppertal, Germany, Planet Earth
Member No.: 3194
Mp3tag Version: 2.54



I want to add ...

Found this, related to PowerShell, the list of invalid chars seems to be complete.

PS > "$($GetInvalidPathChars | foreach { [int]$_ } )"
34 60 62 124 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

PS > "$($GetInvalidFileNameChars | foreach { [int]$_} )"
34 60 62 124 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 58 42 63 92 47


Regarding my example string ...
From
D:;\FOL*DER;\<FOLDER>\\\..\;A:?/*
now cleaned and canonicalized to
D;\FOLDER;\;A.mp3

I noticed that the colon at position 2 was removed by Mp3tag v2.43c.
Does this work without failures under all circumstances that may come up in Mp3tag?

DD.20090726.2300.CEST


--------------------
* Beyond that, don't ask, when you don't know what to do with the answer. *
♥ home is where the heart is ♥
Go to the top of the page
 
+Quote Post
chrisjj
post Oct 2 2009, 10:46
Post #13


Member


Group: Full Members
Posts: 1236
Joined: 25-October 05
Member No.: 2273
Mp3tag Version: -



> Here it can show a /mis/-canonicalized path sad.gif

(That was: Format string: d:\folder\..\file -> minipreview d:\folder\file.wma)

I think this is unstable behaviour because now I find a different result - non-canonicalisation:

Format string: d:\folder\..\file -> minipreview d:\folder\..\file.wma

(on V2.44)



Do you get this?

This post has been edited by chrisjj: Oct 2 2009, 10:47
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 19th May 2013 - 05:13