Hello
In Squeak and the dialect independent FileMan [1] there is FileDirectory assureExistence "Make sure the current directory exists. If necessary, create all parts in between" What is the equivalent Pharo method? BTW is there a cheat sheet for FileSystem operations in Pharo? Thanks in advance Hannes --------------------------------------------------------- [1] http://wiki.squeak.org/squeak/6333 https://github.com/mumez/FileMan FileMan provides an API to file and directory tasks. FileMan is a thin wrapper for various Smalltalk file libraries. It provides simple, portable interfaces for manipulating files and directories. ... Since 2015 FileMan is the default file library in Cuis Smalltalk. |
Probably #ensureCreateDirectory
> On 10 Mar 2018, at 21:01, H. Hirzel <[hidden email]> wrote: > > Hello > > In Squeak and the dialect independent FileMan [1] there is > > > FileDirectory > assureExistence > "Make sure the current directory exists. If necessary, create all > parts in between" > > > What is the equivalent Pharo method? BTW is there a cheat sheet for > FileSystem operations in Pharo? > > Thanks in advance > Hannes > > > > --------------------------------------------------------- > [1] http://wiki.squeak.org/squeak/6333 > > https://github.com/mumez/FileMan > > FileMan provides an API to file and directory tasks. > FileMan is a thin wrapper for various Smalltalk file libraries. It > provides simple, portable interfaces for manipulating files and > directories. > ... > Since 2015 FileMan is the default file library in Cuis Smalltalk. > |
In reply to this post by Hannes Hirzel
On sam. 10 mars 2018 at 21:02, H. Hirzel <[hidden email]> wrote: Hello Hi, There is #ensureCreateDirectory in Pharo but I don't know if it will check the parents exists. (And I don't have a Pharo image to check.
Cyril Ferlicot
https://ferlicot.fr http://www.synectique.eu 2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France |
It will, at least on Windows. Peter |
In reply to this post by CyrilFerlicot
Yes, #ensureCreateDirectory is available.
I'd like to make sure a directory 'public' is available as a sibling directory of the working directory (the directory where the Pharo image is in) However FileSystem disk workingDirectory / '../public' ensureCreateDirectory does not work as FileSystem disk workingDirectory / '../public' is an instance of ByteStream. Seemingly there is no conversion to a directory object. I wonder what is needed in addition? On 3/10/18, Cyril Ferlicot <[hidden email]> wrote: > On sam. 10 mars 2018 at 21:02, H. Hirzel <[hidden email]> wrote: > >> Hello >> >> In Squeak and the dialect independent FileMan [1] there is >> >> >> FileDirectory >> assureExistence >> "Make sure the current directory exists. If necessary, create >> all >> parts in between" >> >> >> What is the equivalent Pharo method? BTW is there a cheat sheet for >> FileSystem operations in Pharo? >> > > Hi, > > There is #ensureCreateDirectory in Pharo but I don't know if it will check > the parents exists. (And I don't have a Pharo image to check. > > >> Thanks in advance >> Hannes >> >> >> >> --------------------------------------------------------- >> [1] http://wiki.squeak.org/squeak/6333 >> >> https://github.com/mumez/FileMan >> >> FileMan provides an API to file and directory tasks. >> FileMan is a thin wrapper for various Smalltalk file libraries. It >> provides simple, portable interfaces for manipulating files and >> directories. >> ... >> Since 2015 FileMan is the default file library in Cuis Smalltalk. >> >> -- > Cyril Ferlicot > https://ferlicot.fr > > http://www.synectique.eu > 2 rue Jacques Prévert 01, > 59650 Villeneuve d'ascq France > |
On sam. 10 mars 2018 at 21:36, H. Hirzel <[hidden email]> wrote: Yes, #ensureCreateDirectory is available. Try `(FileSystem workingDirectory / '..' / 'public') ensureCreateDirectory`
Cyril Ferlicot
https://ferlicot.fr http://www.synectique.eu 2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France |
In reply to this post by Hannes Hirzel
Operator priority :); unary messages `#ensureCreateDirectory have precedence over binary `#/`
(FileSystem disk workingDirectory / '../public') ensureCreateDirectory. Also please note that the workingDirectory should be based on where Pharow as launched from, if you are looking for the image directory, then use the following FileLocator imageDirectory asFileReference Cheers, Peter On Sat, Mar 10, 2018 at 9:35 PM, H. Hirzel <[hidden email]> wrote: Yes, #ensureCreateDirectory is available. |
I note that 'workingDirectory' is the directory where Pharo is
launched from. In my case it happens to be the same where the image is in but that cannot be assumed generally. So (FileSystem workingDirectory / '..' / 'public') ensureCreateDirectory Worked fine. Thanks to all! --Hannes On 3/10/18, Peter Uhnák <[hidden email]> wrote: > Operator priority :); unary messages `#ensureCreateDirectory have > precedence over binary `#/` > > (FileSystem disk workingDirectory / '../public') ensureCreateDirectory. > > Also please note that the workingDirectory should be based on where Pharow > as launched from, if you are looking for the image directory, then use the > following > > FileLocator imageDirectory asFileReference > > Cheers, > Peter > > On Sat, Mar 10, 2018 at 9:35 PM, H. Hirzel <[hidden email]> wrote: > >> Yes, #ensureCreateDirectory is available. >> >> I'd like to make sure a directory 'public' is available as a sibling >> directory of the working directory (the directory where the Pharo >> image is in) >> >> However >> >> FileSystem disk workingDirectory / '../public' ensureCreateDirectory >> >> does not work as >> >> FileSystem disk workingDirectory / '../public' >> >> is an instance of ByteStream. Seemingly there is no conversion to a >> directory object. >> >> I wonder what is needed in addition? >> >> >> >> >> >> >> >> On 3/10/18, Cyril Ferlicot <[hidden email]> wrote: >> > On sam. 10 mars 2018 at 21:02, H. Hirzel <[hidden email]> >> wrote: >> > >> >> Hello >> >> >> >> In Squeak and the dialect independent FileMan [1] there is >> >> >> >> >> >> FileDirectory >> >> assureExistence >> >> "Make sure the current directory exists. If necessary, >> create >> >> all >> >> parts in between" >> >> >> >> >> >> What is the equivalent Pharo method? BTW is there a cheat sheet for >> >> FileSystem operations in Pharo? >> >> >> > >> > Hi, >> > >> > There is #ensureCreateDirectory in Pharo but I don't know if it will >> check >> > the parents exists. (And I don't have a Pharo image to check. >> > >> > >> >> Thanks in advance >> >> Hannes >> >> >> >> >> >> >> >> --------------------------------------------------------- >> >> [1] http://wiki.squeak.org/squeak/6333 >> >> >> >> https://github.com/mumez/FileMan >> >> >> >> FileMan provides an API to file and directory tasks. >> >> FileMan is a thin wrapper for various Smalltalk file libraries. It >> >> provides simple, portable interfaces for manipulating files and >> >> directories. >> >> ... >> >> Since 2015 FileMan is the default file library in Cuis Smalltalk. >> >> >> >> -- >> > Cyril Ferlicot >> > https://ferlicot.fr >> > >> > http://www.synectique.eu >> > 2 rue Jacques Prévert 01, >> > 59650 Villeneuve d'ascq France >> > >> >> > |
On sam. 10 mars 2018 at 21:49, H. Hirzel <[hidden email]> wrote: I note that 'workingDirectory' is the directory where Pharo is The fact that "workingDirectory" point to the folder from where Pharo was launched is only valid since Pharo 7. Before there was no distinction between workingDirectory and imageDirectory which caused problems when you wanted to script.
Cyril Ferlicot
https://ferlicot.fr http://www.synectique.eu 2 rue Jacques Prévert 01, 59650 Villeneuve d'ascq France |
In reply to this post by CyrilFerlicot
Works on Ubuntu 16.04
Sent from my iPhone Encrypted email at [hidden email]
|
You can also do: FileSystem disk workingDirectory parent / 'public'. I feel it cleaner :) On Sun, Mar 11, 2018 at 10:27 AM, john pfersich <[hidden email]> wrote:
|
> On 12 Mar 2018, at 10:11, Guillermo Polito <[hidden email]> wrote: > > You can also do: > > FileSystem disk workingDirectory parent / 'public'. > > I feel it cleaner :) Indeed, the power of messages. > On Sun, Mar 11, 2018 at 10:27 AM, john pfersich <[hidden email]> wrote: > Works on Ubuntu 16.04 > > Sent from my iPhone > Encrypted email at [hidden email] > > On Mar 10, 2018, at 12:38, Cyril Ferlicot <[hidden email]> wrote: > >> >> On sam. 10 mars 2018 at 21:36, H. Hirzel <[hidden email]> wrote: >> Yes, #ensureCreateDirectory is available. >> >> I'd like to make sure a directory 'public' is available as a sibling >> directory of the working directory (the directory where the Pharo >> image is in) >> >> However >> >> FileSystem disk workingDirectory / '../public' ensureCreateDirectory >> >> does not work as >> >> FileSystem disk workingDirectory / '../public' >> >> Try `(FileSystem workingDirectory / '..' / 'public') ensureCreateDirectory` >> >> >> is an instance of ByteStream. Seemingly there is no conversion to a >> directory object. >> >> I wonder what is needed in addition? >> >> >> >> >> >> >> >> On 3/10/18, Cyril Ferlicot <[hidden email]> wrote: >> > On sam. 10 mars 2018 at 21:02, H. Hirzel <[hidden email]> wrote: >> > >> >> Hello >> >> >> >> In Squeak and the dialect independent FileMan [1] there is >> >> >> >> >> >> FileDirectory >> >> assureExistence >> >> "Make sure the current directory exists. If necessary, create >> >> all >> >> parts in between" >> >> >> >> >> >> What is the equivalent Pharo method? BTW is there a cheat sheet for >> >> FileSystem operations in Pharo? >> >> >> > >> > Hi, >> > >> > There is #ensureCreateDirectory in Pharo but I don't know if it will check >> > the parents exists. (And I don't have a Pharo image to check. >> > >> > >> >> Thanks in advance >> >> Hannes >> >> >> >> >> >> >> >> --------------------------------------------------------- >> >> [1] http://wiki.squeak.org/squeak/6333 >> >> >> >> https://github.com/mumez/FileMan >> >> >> >> FileMan provides an API to file and directory tasks. >> >> FileMan is a thin wrapper for various Smalltalk file libraries. It >> >> provides simple, portable interfaces for manipulating files and >> >> directories. >> >> ... >> >> Since 2015 FileMan is the default file library in Cuis Smalltalk. >> >> >> >> -- >> > Cyril Ferlicot >> > https://ferlicot.fr >> > >> > http://www.synectique.eu >> > 2 rue Jacques Prévert 01, >> > 59650 Villeneuve d'ascq France >> > >> >> -- >> Cyril Ferlicot >> https://ferlicot.fr >> >> http://www.synectique.eu >> 2 rue Jacques Prévert 01, >> 59650 Villeneuve d'ascq France > > > > -- > > Guille Polito > Research Engineer > > Centre de Recherche en Informatique, Signal et Automatique de Lille > CRIStAL - UMR 9189 > French National Center for Scientific Research - http://www.cnrs.fr > > Web: http://guillep.github.io > Phone: +33 06 52 70 66 13 |
Free forum by Nabble | Edit this page |