moved everything into /trunk/ to create the standard svn layout, for use with tools that require this (eg. git-svn). IMPORTANT: do NOT do an `svn up`. instead, re-use your working copy's existing files with `svn switch` (http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.switch.html).
exc.py: e_msg(): Emit a warning instead of an AssertionError if e.args0 isn't a string, to assist in debugging malformed exceptions
Replaced str() with strings.ustr() (or equivalent) everywhere needed, to avoid future UnicodeEncodeErrors
exc.py: add_msg(): Fixed bug where needed to convert the Unicode string back into a raw string because Python's top-level exception handler doesn't support Unicode strings as exception messages
exc.py: e_msg(): Fixed bug where exceptions with nothing in e.args (such as StopIteration) caused a failed assertion. Fixed bug where exceptions with multiple values in e.args (such as certain IOErrors) caused a failed assertion.
exc.py: reraise(): Take optional exception argument so it can be invoked in the same way as raise_(). Interestingly, this missing parameter does not produce the usual "...() takes no arguments (1 given)" error when the function is called inside an except block.
exc.py: Added reraise()
exc.py: get_e_tracebacks_str(): Use the current system traceback if the exception doesn't contain its own traceback(s)
exc.py: e_msg(): Added assertions to check that e.args is compatible with this function
exc.py: Use new e_str() where its definition was used
exc.py: Use new Unicode-safe e_msg() instead of strings.ustr() on exceptions
exc.py: e_msg(): Run strings.ustr() on the returned string so it will be appendable to other Unicode strings
exc.py: Added e_msg(), e_str() (from SQL py_functions._date())
Wrap sys.stderr.write() calls in strings.to_raw_str() to avoid UnicodeEncodeErrors when stderr is to a file and the default encoding is ASCII
exc.py: str_(): Fixed bug where UnicodeEncodeError would be raised when msg contains non-ASCII chars, by wrapping e.args0 in strings.ustr()
exc.py: print_ex(): Wrap msg in strings.to_unicode() to try to avoid UnicodeEncodeError when msg contains non-ASCII chars
exc.py: ExceptionWithCause: Store the cause in an instance variable for later use
exc.py: str_(): Avoid traceback exception-formatting functions when possible because they escape non-ASCII characters
exc.py: add_msg(): Fixed bug where msg needed to be converted to a unicode object before appending it to another unicode object
exc.py: str_(): Added first_line_only param to return just the first line
exc.py: Support exception messages containing non-ASCII characters
exc.py: ExceptionWithCause: Added cause_newline option to put the cause on its own line instead of on the message line
exc.py: print_ex(): Added detail option to turn off traceback
exc.py: print_ex(): Added plain option to leave out traceback
profiling.py ItersProfiler, exc.py ExPercentTracker: Only output fraction of rows with errors if self.iter_ct > 0, to avoid divide-by-zero error
exc.py: str_(): Strip trailing whitespace. print_ex(): Since str_() now strips trailing whitespace, strings.ensure_newl() is no longer necessary.
exc.py: ExPercentTracker: When diplaying fraction of iters that had errors, don't duplicate the iter_text ("row", etc.) in the numerator
exc.py: ExPercentTracker: Track iter_nums of Exceptions as well, to distinguish how many distinct iters had errors
exc.py: ExceptionWithCause: Prepend msg to cause's msg separated by ': ' instead of '\ncause: '
exc.py: Changed to store multiple tracebacks in an exception, in case an exception is caught and re-raised inside an ExceptionWithCause wrapper. This preserves more of the traceback in this situation, because you get the ExceptionWithCause's traceback as well.
exc.py: Fixed bug in traceback-saving mechanism that didn't deal with nested Exceptions (such as Exceptions with causes in ExceptionWithCause). Renamed add_exc_info() to add_traceback() since we really only need to store the traceback.
exc.py: str_(): Add the traceback at the end of the exception string. Added add_exc_info() and get_exc_info() for providing traceback info for str_().
Moved value to string conversion functions infrom util.py to new module format.py
exc.py, profiling.py: Use util.int2str() to print # iters with thousands separators
exc.py: Generalize ExTracker to not just print the # of errors at exit. Instead, provide an exit() method that the ExTracker creator can call at exit to set the exit status to the # of errors. This fixes the Python bug where a benign error message was printed if SystemExit was raised in an atexit function.
exc.py: ExPercentTracker: Added ability to set custom iter_text, similar to ItersProfiler
exc.py: Added ExPercentTracker to track errors as % of iterations
exc.py: print_ex(): Declare emph param as a keywork param instead of popping it from **format
exc.py: Print exceptions with the first line highlighted in red
exc.py: Added str_() to convert an Exception to a string. Use str_() in print_ex().
exc.py: Added raise_() wrapper for raise statement
exc.py: Added ExTracker to track printed (suppressed) Exceptions and exit with nonzero status if any were encountered
exc.py: Print ! before error messages so they can be found and counted more easily in log files
exc.py: Added print_ex()
Renamed ex.py to exc.py
ex.py: repl_msg(): take replacements as keyword args
ex.py: Added repl_msg() to format a message with the % operator
Moved everything in scripts to root. inputs_Makefile: Don't run "all" when installing.
Renamed modules to remove _util
Moved Python modules to shared lib folder
Initial version of xml2db. Doesn't yet handle all duplicate rows correctly.
Added BIEN 3 scripts