On Mon, Sep 07, 2009 at 12:14:22PM +0200, Johannes Ring wrote: > On Mon, Sep 7, 2009 at 11:12 AM, Anders Logg<[email protected]> wrote: > > On Mon, Sep 07, 2009 at 08:47:00AM +0200, Johannes Ring wrote: > >> On Sun, Sep 6, 2009 at 12:00 PM, DOLFIN<[email protected]> wrote: > >> > One or more new changesets pushed to the primary dolfin repository. > >> > A short summary of the last three changesets is included below. > >> > > >> > changeset: 6951:b552e55f706da220bc3b205976f08e34f1c9a547 > >> > tag: tip > >> > user: Anders Logg <[email protected]> > >> > date: Sun Sep 06 11:57:03 2009 +0200 > >> > files: demo/parameters/cpp/main.cpp > >> > dolfin/fem/VariationalProblem.cpp dolfin/parameter/GlobalParameters.cpp > >> > dolfin/parameter/Parameters.cpp > >> > description: > >> > Automatically read parameters from the following files in increasing > >> > order of priority: > >> > > >> > $HOME/.dolfin/parameters.xml.gz > >> > $HOME/.dolfin/parameters.xml > >> > parameters.xml.gz > >> > parameters.xml > >> > > >> > The global parameter set will be *updated* with values found in > >> > these parameter sets. > >> > > >> > Not sure how the first two files work on a Windows system. > >> > >> Not very well as HOME is not defined. You should use the USERPROFILE > >> environment variable on Windows. > >> > >> In Python one should use os.path.expanduser("~") which works on all > >> platforms. > >> > >> Johannes > > > > I'm not sure how to do this and I can't test it. Could you suggest a fix? > > > > I guess we would need some #ifdef around the following code in > > GlobalParameters.cpp: > > > > std::string home_directory(std::getenv("HOME")); > > parameter_files.push_back(home_directory + "/.dolfin/parameters.xml.gz"); > > parameter_files.push_back(home_directory + "/.dolfin/parameters.xml"); > > This works fine: > > diff -r 7d63ee768f5b dolfin/parameter/GlobalParameters.cpp > --- a/dolfin/parameter/GlobalParameters.cpp Mon Sep 07 11:27:24 2009 +0200 > +++ b/dolfin/parameter/GlobalParameters.cpp Mon Sep 07 12:07:11 2009 +0200 > @@ -23,9 +23,15 @@ > > // Search paths to parameter files in order of increasing priority > std::vector<std::string> parameter_files; > +#ifdef _WIN32 > + std::string home_directory(std::getenv("USERPROFILE")); > + parameter_files.push_back(home_directory + "\\.dolfin\\parameters.xml.gz"); > + parameter_files.push_back(home_directory + "\\.dolfin\\parameters.xml"); > +#else > std::string home_directory(std::getenv("HOME")); > parameter_files.push_back(home_directory + "/.dolfin/parameters.xml.gz"); > parameter_files.push_back(home_directory + "/.dolfin/parameters.xml"); > +#endif > parameter_files.push_back("parameters.xml.gz"); > parameter_files.push_back("parameters.xml"); > > Johannes
Looks good. Just go ahead and push it. -- Anders
signature.asc
Description: Digital signature
_______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
