diff --git a/ChangeLog b/ChangeLog index 31f65ffbee01602911f056e244e9e648e2ec00b0..71efa87675a829478ae53bde00ad88dae10eff60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1 +1,192 @@ -Write in this file the modifications you commit. +CHANGELOG +---------------------- + +[Current] + * Fix pb with filesystem version. + +[v2.5.2] + * Make runCommand without error messages deprecated. + * Changes std::cout to dgDEBUG. + * Add test to detect statement in evaluation. + * Synchronize cmake + * Robustify the python interpreter when some python objects cannot be stringified. + * Synchronize. + * Correct the link with boost on Ubuntu 11.04. + * Keep track of entities created via python. + * Document entity class types with the output of C++ getDocString method. + * In command Entity.help (), first print __doc__ if any. + * Make bindings more robust to exceptions. + * Make sure that Boost.Filesystem v2 is used. + * Revert "Add appropriate flag. file_system::file_string is deprecated since boost 1.46." + * Synchronize cmake submodule. + * Catch exceptions in getValue of signal-base-py.cc + * Add appropriate flag. file_system::file_string is deprecated since boost 1.46. + * Synchronize. + * Win32: Remove wrong LoadLibrary. + * Correct the handling of python modules + * Correct the link with boost for Mac systems + * Add missing dependency in python + * Correct the link with the plugins for the wrap + * Correct the Python_module handling + * Correct link and dependencies + * Clean cmake files by using the routines in cmake/python.cmake + * Win32: correct the library load + * Win32: Correct the API of exception-python.hh + * Revert "Correct the link with lapack" + * Correct the link with lapack + * Correct the link with boost libraries + * Python object SignalBase can be constructed only with a SignalBase C++ object. + * Revert "Modify SignalBase.value." + * Modify SignalBase.value. + +[v2.5.1] + * Update NEWS. + * Add python binding for writing graph. + * Make error message more expressive. + * Enforce compatibility with python3. + * Replace dl module by DLFCN. + * More search for boost earlier in file. + * Synchronize and fix definition of PYTHON_SITELIB. + * Add dynamicgraph namespace to make VP_DEBUG mode compile. + * Minor changes in matlab display. Add a functor member to explicit the callable of optionalparentethis. + * Add tools.py file containing addTrace. + +[v2.5] + * Replace call to g_caster by call to SignalCaster::getInstance static method. + * FactoryStorage and PoolStorage are now singletons. + * Homogeneize error messages. + * Fix bug in getCommandDocstring. + * Changed the factory to enable heritage for Entity py-classes. + * Return a python error instead of throwing C++ exception. + * Merge branches 'topic/jrl-mal' and 'topic/jrl-mal' of ssh://github.com/jrl-umi3218/dynamic-graph-python into topic/jrl-mal + * Correct a bug in parsing vector commands with integer value. + * Finished to correct the name of the DG error. + * Replace two remaining error by dgpyError. + * Correct exception throwing from C++ to rely raise something in the interpreter. + * Systematically catch std::exception abstract in python bindings. + * Corrected a wrong cast for specialized type in signal value accessor. + * Add method intepreter::python with stdout and stderr returned along with result. + * Make error message more specific whenever Entity.__getattr__ fails. + * Added a protection to avoid erasing signal name when setting a new value to the signal. + * Added the decorator optionalparentheses. + * Corrected a syntax error in an exception raising + remove the shortcut .m from the class basic definition. + * Corrected minor bug in command return. + * Added the entity.sigs shortcuts. + * Reorganize the command bindings of the entity classes. Remove the script shortcuts from the basic definition of Entity. + * Added the setattrpath function to handle for command name with . inside, like: robot.periodicCall.addSignal. + * Display repr() output instead of str() when command is successful. + * Do not add current directory in sys.path. + * Added a proper factory for pyEntities. + * Modify the "runFile" function that was not working, at create a new function to call for the shell. + * Changed the call to create_entity: when the required creation names already exists, check is the existing object is of the same class. If it is, returns the existing object instead of creating a new oine. + * IVIGIT. + * Added an exception to handle error while creating an object. + * Dynamically load libpython.so before initializing python interpreter. + * Add an accessor to get the global dictionary. + * Account for singleton rewriting of g_caster. + * Added a wrapper for entities of dg. + * Added display and displayDep in entity and signal. + * Bind SignalBase<T, int>::setTime. + * Revert "Set version number as 1.99." + * Fix --libs output of pkg-config and link boost and python with library. + * Added missing convert.cc in the makefile. + * Added some specific convertion for vector, matrix and double signal, from C to Python (to avoid unnecessary convertion through strings. + * IVIGIT: passes some conveertion code from entity-py to the new files, for mutualisation. + * Added exception.hh in the files to install. + * IVIGIT. + * Install and include in interpreter.hh api.hh. + * Fix installation of header file. + * Set version number as 1.99. + * Enable conversion from int to float and double in argument of bound functions. + * Added the display method, py-bound in __str__. + * Added a method to bound all new commands. + * Added a method to bound new commands dynamically. + * Define function display. + * Enable reading an int as a float when parsing a matrix. + * Added shortcuts in the entity and signal-base api to help debuging during online script execution. + * Added the unplug python function as a member of the signal-base class. + * Set sys.argv to [''] at initialization. + * Implement on-board python interpreter + * Added build and ~ in the gitignoe. + * Update docstring of Entity.signals(). + * Bind SignalBase.display() and implement Entity.displaySignals() in python. + * Fix typo. + * Fix warnings. + * Save temporary changes to get list of signals of an entity. + * Synchronize cmake submodule. + * Raise exception when PyCObject_Check fails. + * Fix warnings. + * Switch to submodule. + * Do not destroy C++ entity when destroying python binding object. + * In Entity class, each signal gives rise to an attribute returning the signal. + * Change the error message when an attribute does not exist. + * Add a method getName in python class SignalBase + * Added the signals in the attribute of the entity class. + * With the doc. + * Added an helper to get the commands list and doc. + * Set error message in function w_plug when arguments are of wrong types. + * Add a function to get the list of type names registered for signals. + * Catch exception in SignalBase::recompute(). + * Rename method display_signals -> displaySignals. + * Add recompute method in SignalBase python class. + * Add a function to get the list of type names registered for signals. + * Rename error + * Rewrite enableTrace command without using commandLine. + * Handle entity type as input to signal_base.value setter. + * Catch std::exception instead of dynamicgraph::ExceptionFactory. + * Remove debug output. + * Fix a bug in conversion of tuple of tuple python object to matrix. + * Rewrite stringToTuple and stringToMatrix in a simpler way. + * Set flags of dynamic loader so that symbols are global. + * Check that argument is string when string is expected in command. + * Catch std::exception when executing command + * Comply with jrl-mal syntax for vectors and matrices. + * Replace object member by obj in classes + * Rename method in python module + * When building python Entity classes, populate methods with docstrings. + * Use autotools substitution rule. + * Use submodule cmake to generate python documentation + * Add documentation generation using sphinx. + * Add submodule cmake + * Re-inforce type checking. + * Allow SignalBase.value to take typed arguments + * Remove debug output + * Remove debug output + * Implement tupleToString function + * Fix typo. + * Switch arguments of command plug. + * Fix a bug in handling of new types + * Support more types in command parameters + * Add a function to convert a string to a tuple + * Fix memory issue + * Remove trailing white spaces. + * Bind Entity commands as method in python classes + * Get rid of warning message + * Bind method Entity::getNewStyleCommandMap() + * Add a class attribute to store whether command methods have been created. + * Register Entity classes in modules from which they are imported + * Implement a function that creates a python class for for each entity C++ class + * Implement return value for commands. + * Fix a memory bug + * Add some debug output + * Implement binidings for commands + * Use factory to create entities. + * Bind method Entity::listEntities. + * Fix comment + * Make classes derive from object and re-introduce getter and setter decorators + * Remove registration of new ublas vector type. + * Call plug with right order for signals: plug (sigIn, sigOut). + * Rewrite dynamic_graph.plug. + * Use class InterpreterHelper instead of Interpreter. + * Catch exceptions in signal set and get value methods. + * Catch exceptions in signal set and get value methods. + * Do not use sophisticated setter and getter for the moment + * Change signal access method name in Entity python class + * Adapt to dynamic-graph change of interface + * Implement set and get signal value + * Fix constructor of python class SignalBase. + * Implement bindings for Entity and SignalBase C++ classes. + * Raise a python exception upon c++ exception in plug command + * Implement binding python for plug. + * Fix compilation of python module + * Bindings python for dynamic_grapĥ. diff --git a/src/dg-python.cc b/src/dg-python.cc index 9bf053760772f07896a30ca7d2da45ee96decb50..08235d3f406653a9aae23c1a8e462089bd54965c 100644 --- a/src/dg-python.cc +++ b/src/dg-python.cc @@ -107,12 +107,20 @@ int main (int argc, char** argv) boost::filesystem::path path (pathStr); std::stringstream ss; +#if BOOST_FILESYSTEM_VERSION == 2 ss << "!! In file <" << path.file_string () << "> : "; +#else + ss << "!! In file <" << path.string () << "> : "; +#endif std::string errorPrefix = ss.str (); try { +#if BOOST_FILESYSTEM_VERSION == 2 interpreter.runPythonFile (path.file_string ()); +#else + interpreter.runPythonFile (path.string ()); +#endif } CATCH_EXCEPTIONS (); return 0;