On Mon, Sep 7, 2009 at 6:10 PM, Anders Logg<[email protected]> wrote: > 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.
Done. Johannes _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
