FileLocator problem?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

FileLocator problem?

Peter Kenny

Hello

 

Out of curiosity I tried to run the snippet which Alexandre Bergel posted yesterday under the name ‘Script of the day’. It failed, but nothing to do with the script itself. The problem is that it fails on the line: ‘FileLocator documents allChildren.’ The debugger message is “Directory does not exist: Path ‘C:’ /  ‘Users’ / ‘Peter’ / ‘Documents’ / ‘My Music’.” Tracing through the debugger output, I conclude that the same error will arise with the directories ‘My Pictures’ and ‘My Videos’. One thing these directories have in common is that they are empty, so as a test I copied a small text file into ‘My Music’, but this made no difference.

 

I have a vague recollection that ‘My Music’ etc., although presented by Windows as conventional directories, are in fact some sort of pseudo-directories constructed as required by Windows Explorer, but I am not too sure about this. Could this be an explanation of the problem?

 

It’s not an urgent problem for me; it can easily be worked round by ensuring that I never try to locate files in these directories. But if it is a bug, it might be relevant to someone else.

 

My environment is Windows 7 Professional, running Moose 5.1 (Pharo4.0 Latest update: #40613).

 

Thanks for any help

 

Peter Kenny

Reply | Threaded
Open this post in threaded view
|

Re: FileLocator problem?

Adventurer

On 2015/07/30 11:43 AM, PBKResearch wrote:

Hello

 

Out of curiosity I tried to run the snippet which Alexandre Bergel posted yesterday under the name ‘Script of the day’. It failed, but nothing to do with the script itself. The problem is that it fails on the line: ‘FileLocator documents allChildren.’ The debugger message is “Directory does not exist: Path ‘C:’ /  ‘Users’ / ‘Peter’ / ‘Documents’ / ‘My Music’.” Tracing through the debugger output, I conclude that the same error will arise with the directories ‘My Pictures’ and ‘My Videos’. One thing these directories have in common is that they are empty, so as a test I copied a small text file into ‘My Music’, but this made no difference.

 

I have a vague recollection that ‘My Music’ etc., although presented by Windows as conventional directories, are in fact some sort of pseudo-directories constructed as required by Windows Explorer, but I am not too sure about this. Could this be an explanation of the problem?

Yup you are correct.  The actual directory will be "C: / Users/Peter/Music" on windows 7.

Craig
Reply | Threaded
Open this post in threaded view
|

Re: FileLocator problem?

Matthieu
In reply to this post by Peter Kenny
Windows 7 uses "aliases" for these directories. It is the way different languages or owners are handled. For example in French you can see your music directory as "Ma Musique" but the real name used in paths is actually "Music".

As Craig said, the default paths for these directories are : "C:\Users\Your_User_Name\Documents" or "C:\Users\Your_User_Name\Music" and so on.
But you can always change them so the best way to see the real path of your directories is to right click on one and go to "Properties" => "Location".

Note also that Windows uses "\" instead of "/" for paths. I don't know if it is relevant in Pharo though.


Cheers,

Matthieu

2015-07-30 11:43 GMT+02:00 PBKResearch <[hidden email]>:

Hello

 

Out of curiosity I tried to run the snippet which Alexandre Bergel posted yesterday under the name ‘Script of the day’. It failed, but nothing to do with the script itself. The problem is that it fails on the line: ‘FileLocator documents allChildren.’ The debugger message is “Directory does not exist: Path ‘C:’ /  ‘Users’ / ‘Peter’ / ‘Documents’ / ‘My Music’.” Tracing through the debugger output, I conclude that the same error will arise with the directories ‘My Pictures’ and ‘My Videos’. One thing these directories have in common is that they are empty, so as a test I copied a small text file into ‘My Music’, but this made no difference.

 

I have a vague recollection that ‘My Music’ etc., although presented by Windows as conventional directories, are in fact some sort of pseudo-directories constructed as required by Windows Explorer, but I am not too sure about this. Could this be an explanation of the problem?

 

It’s not an urgent problem for me; it can easily be worked round by ensuring that I never try to locate files in these directories. But if it is a bug, it might be relevant to someone else.

 

My environment is Windows 7 Professional, running Moose 5.1 (Pharo4.0 Latest update: #40613).

 

Thanks for any help

 

Peter Kenny


Reply | Threaded
Open this post in threaded view
|

Re: FileLocator problem?

Peter Kenny

Thanks Craig and Matthieu. However, we can now reformulate the problem: ‘FileLocator documents allChildren’ does not trace the hierarchy of these directories correctly. It finds its way to C:\Users\Peter\Documents, searches for subdirectories and finds ‘My Music’ etc. among the true subdirectories. It seems that the Pharo mechanism for interrogating the Windows file system is confused by these aliases. As I said, not a great problem for me, but maybe worth noting.

 

Peter Kenny

 

From: Pharo-users [mailto:[hidden email]] On Behalf Of Matthieu Lacaton
Sent: 30 July 2015 11:16
To: Any question about pharo is welcome <[hidden email]>
Subject: Re: [Pharo-users] FileLocator problem?

 

Windows 7 uses "aliases" for these directories. It is the way different languages or owners are handled. For example in French you can see your music directory as "Ma Musique" but the real name used in paths is actually "Music".

 

As Craig said, the default paths for these directories are : "C:\Users\Your_User_Name\Documents" or "C:\Users\Your_User_Name\Music" and so on.

But you can always change them so the best way to see the real path of your directories is to right click on one and go to "Properties" => "Location".

Note also that Windows uses "\" instead of "/" for paths. I don't know if it is relevant in Pharo though.

Cheers,

Matthieu

 

2015-07-30 11:43 GMT+02:00 PBKResearch <[hidden email]>:

Hello

 

Out of curiosity I tried to run the snippet which Alexandre Bergel posted yesterday under the name ‘Script of the day’. It failed, but nothing to do with the script itself. The problem is that it fails on the line: ‘FileLocator documents allChildren.’ The debugger message is “Directory does not exist: Path ‘C:’ /  ‘Users’ / ‘Peter’ / ‘Documents’ / ‘My Music’.” Tracing through the debugger output, I conclude that the same error will arise with the directories ‘My Pictures’ and ‘My Videos’. One thing these directories have in common is that they are empty, so as a test I copied a small text file into ‘My Music’, but this made no difference.

 

I have a vague recollection that ‘My Music’ etc., although presented by Windows as conventional directories, are in fact some sort of pseudo-directories constructed as required by Windows Explorer, but I am not too sure about this. Could this be an explanation of the problem?

 

It’s not an urgent problem for me; it can easily be worked round by ensuring that I never try to locate files in these directories. But if it is a bug, it might be relevant to someone else.

 

My environment is Windows 7 Professional, running Moose 5.1 (Pharo4.0 Latest update: #40613).

 

Thanks for any help

 

Peter Kenny

 

Reply | Threaded
Open this post in threaded view
|

Re: FileLocator problem?

Blondeau Vincent

Actually these folders seems to be real folders to windows but you can’t access them (maybe you have not enough rights?).

 

Anyway, it should be possible to bypass these directories.

In DiskStore>>basicEntry:path:nodesDo: there is a send of the message signalDirectoryDoesNotExist:. It signals a DirectoryDoesNotExist error.

This exception is resumable. If you resume it you should bypass the access to the “bad folder”.

That not the case, so there is a bug. (a ^is missing before self signalDirectoryDoesNotExist: aPath).

 

I opened a bug: https://pharo.fogbugz.com/f/cases/16075/DiskStore-basicEntry-path-nodesDo-should-return-on-DirectoryDoesNotExist-error and made a slice.

 

Vincent Blondeau

 

De : Pharo-users [mailto:[hidden email]] De la part de PBKResearch
Envoyé : jeudi 30 juillet 2015 12:32
À : 'Any question about pharo is welcome'
Objet : Re: [Pharo-users] FileLocator problem?

 

Thanks Craig and Matthieu. However, we can now reformulate the problem: ‘FileLocator documents allChildren’ does not trace the hierarchy of these directories correctly. It finds its way to C:\Users\Peter\Documents, searches for subdirectories and finds ‘My Music’ etc. among the true subdirectories. It seems that the Pharo mechanism for interrogating the Windows file system is confused by these aliases. As I said, not a great problem for me, but maybe worth noting.

 

Peter Kenny

 

From: Pharo-users [[hidden email]] On Behalf Of Matthieu Lacaton
Sent: 30 July 2015 11:16
To: Any question about pharo is welcome <[hidden email]>
Subject: Re: [Pharo-users] FileLocator problem?

 

Windows 7 uses "aliases" for these directories. It is the way different languages or owners are handled. For example in French you can see your music directory as "Ma Musique" but the real name used in paths is actually "Music".

 

As Craig said, the default paths for these directories are : "C:\Users\Your_User_Name\Documents" or "C:\Users\Your_User_Name\Music" and so on.

But you can always change them so the best way to see the real path of your directories is to right click on one and go to "Properties" => "Location".

Note also that Windows uses "\" instead of "/" for paths. I don't know if it is relevant in Pharo though.

Cheers,

Matthieu

 

2015-07-30 11:43 GMT+02:00 PBKResearch <[hidden email]>:

Hello

 

Out of curiosity I tried to run the snippet which Alexandre Bergel posted yesterday under the name ‘Script of the day’. It failed, but nothing to do with the script itself. The problem is that it fails on the line: ‘FileLocator documents allChildren.’ The debugger message is “Directory does not exist: Path ‘C:’ /  ‘Users’ / ‘Peter’ / ‘Documents’ / ‘My Music’.” Tracing through the debugger output, I conclude that the same error will arise with the directories ‘My Pictures’ and ‘My Videos’. One thing these directories have in common is that they are empty, so as a test I copied a small text file into ‘My Music’, but this made no difference.

 

I have a vague recollection that ‘My Music’ etc., although presented by Windows as conventional directories, are in fact some sort of pseudo-directories constructed as required by Windows Explorer, but I am not too sure about this. Could this be an explanation of the problem?

 

It’s not an urgent problem for me; it can easily be worked round by ensuring that I never try to locate files in these directories. But if it is a bug, it might be relevant to someone else.

 

My environment is Windows 7 Professional, running Moose 5.1 (Pharo4.0 Latest update: #40613).

 

Thanks for any help

 

Peter Kenny

 




Ce message et les pièces jointes sont confidentiels et réservés à l'usage exclusif de ses destinataires. Il peut également être protégé par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir immédiatement l'expéditeur et de le détruire. L'intégrité du message ne pouvant être assurée sur Internet, la responsabilité de Worldline ne pourra être recherchée quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'expéditeur ne donne aucune garantie à cet égard et sa responsabilité ne saurait être recherchée pour tout dommage résultant d'un virus transmis.

This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.