Makefile: Print Finished message after running test2 (inputs tests)
Accepted test outputs for SALVIAS
input.Makefile: Added ability to accept a test output to use as the new reference output
vegbien db: Renamed all occurrences of interpretation to determination
Makefile: Tell make that subMake rules run make recursively
vegbien.sql: Updated collection table for recent refactorings
Made more of Bob Peet's changes to the vegbien db and updated VegX-VegBIEN mapping
Makefile: Fixed pattern for recursive invocation of subdirectory make
Moved mappings/schemas to schemas
Makefile: Changed all to make schemas and mappings instead of running install
Makefile: Added inputs import target
input.Makefile: Fixed syntax error with use of import_cmd variable
vegbien.sql: Added collection table
Makefiles: Changed _not_file to _always because _not_file is sometimes used to force a file to always be remade
Decoupled VegBIEN from VegBank and removed mappings to VegBank
Regenerate vegbien.sql by dumping the vegbien db
psql_vegbien: Changed to use postgres_vegbien
Added postgres_vegbien to run PostgreSQL command on the vegbien db
SALVIAS verification: Added plot methods
SALVIAS verification: Added # plots
Makefile: Added targets to run input targets on all inputs
SALVIAS verification: Added projects list to examine why project counts differ
SALVIAS verification: Made statement-label SELECT statements use the same syntax for MySQL and PostgreSQL so they are easy to copy and paste between the input and output queries
input.Makefile: Don't remove logs in clean
input.Makefile: Added support for multi-column verification queries. inputs/SALVIAS: Added a multi-column verification query.
input.Makefile: Remove all *.out in clean
inputs: Don't keep *.out under version control
input.Makefile: Added rules to verify inserted data and run tests
Regenerated inputs/SALVIAS/map.VegBIEN.1.organisms.csv
exc.py: Print ! before error messages so they can be found and counted more easily in log files
input.Makefile: Only output to log if importing all rows
Moved vegbien CREATE DATABASE command to Makefile and run vegbien.sql as bien user
Renamed vegbien tables according to Bob Peet's new VegBank-VegBIEN mapping
input.Makefile: Don't print commands that use set -x to be echoed
input.Makefile: Use system's time utility instead of shell's time command
sql.py: Include sql.DbException in DatabaseErrors list
Generate VegX-VegBIEN.organisms.csv from VegBank-VegBIEN.map.csv, which is generated from VegBank-VegBIEN.map_only.csv
repl: Process whole file as one string so that regexps can match EOF for appending
mappings/Makefile: Clean -VegBIEN..csv maps
Generate VegBank-VegBIEN.schema.csv from VegBank-VegBIEN.schema_only.csv and VegBank-VegBIEN.csv
Added cat_csv to concatenate two spreadsheets
Removed no longer needed inputs/SALVIAS/db.sh
Add sort order prefixes to inputs/SALVIAS maps
VegX-VegBank organisms mapping: Added collectionDate mapping
mappings/Makefile: Sort VegX-VegBank organisms mapping automatically when anything that depends on it is remade
Added in_place to run a stream command on a file
join_sort: Use /bin/sh instead of /bin/bash
NYBG-VegX mapping: Removed no longer needed global stem count value
Renamed test/accept_output to accept
VegX-VegBank.organisms.csv: Made stemCount default to 1
bin/map: Print DatabaseErrors without stack traces
exc.py: Added print_ex()
util.py: Added type_name()
strings.py: Added ensure_newl()
input.Makefile: Save map output in log file
bin/map: Print usage message when run with no arguments
Makefile: Removed unnecessary commenting out of "allow from 127.0.0.0..." lines in /etc/phppgadmin/apache.conf
Makefile: Use --loose-exit-status for ed to avoid failing on no match. In editPhppgadminApacheConf, use ,s/// instead of /.../\ns/// to match lines regardless of position.
Makefile: Use tee instead of ed in sudoAppend. Don't change apache port to 8080 if apache already running on 80.
Makefile: Added phppgadmin apache config
bin/map: Only treat DatabaseErrors as warnings, not all Exceptions
xml_func.py: Print newline before func XML because XML is now pretty-printed with indents
xml_dom.py: Node.__str__() uses toprettyxml() instead of toxml()
util.py: Changed rename_key() not to suppress KeyError, since some callers might want to assert that a key exists
Makefile: Added phpPgAdmin dependency
xml_func.py: _name func doesn't require all name parts to be set. _namePart func throws SyntaxException for invalid name parts.
bin/map: Fixed syntax error where db variable had not been renamed to out_db
xml_func.py: Generate SyntaxExceptions on missing XML func args
VegX-VegBank mapping: Added default soilObs.soilHorizon value
xml_func.py: Changed _date func to try parsing date field, rather than year field, as a decimal. Changed SALVIAS mappings to use new _date func syntax. Fixes SALVIAS plots data syntax error for decimal years.
Removed no longer needed VegBank accepted test outputs
test/map: Abort tester on failed diff
Added accepted test output SALVIAS_db.organisms.VegBIEN.xml
SALVIAS organisms mapping: Use _alt to merge tag1 and tag2. Fixes failing diff due to duplicate stemCodes.
test/map: Added tests to insert VegBIEN XML into VegBIEN db
bin/map: Fixed non-map input to set out_label
bin/map: Fixed row processing when no map is used
bin/map: Refactored to process each row separately when out_is_db
xml_dom.py: Added Node pop() and clear() methods
bin/map: Moved process_rows() exception handling around entire row, rather than each value, so that a broken value will not be ignored only to cause errors when outputing the row
db_xml.py: Removed no longer needed xml2db()
bin/map: out_is_db uses use_row instead of xml2db()
bin/map: Added commit and exception-handling code to out_is_db use_row()
bin/map: Merged get_xml() into process_xml(). Renamed process*() functions to distinguish them better.
bin/map: Create separate document for printing XML opening and closing
bin/map: Refactored to print document opening, contents, and closing in separate steps so they can be separated later
xml_dom.py: Added support for integer indents
xml_dom.py: Added NodeIter() and Node.__iter__()
Use new xml_dom.prettyxml_config instead of Node.writeprettyxml because it can be passed as keyword args to any writexml function
xml_dom.py: Removed no longer needed xml_dom.writexml()
bin/map: Use Node.writeprettyxml() instead of xml_dom.writexml()
xml_dom.py: Added minidom.Document write_opening() and write_closing() methods. Changed writexml(writer, node) to use new Node.writeprettyxml() method.
Renamed ex.py to exc.py
Import xml.dom.minidom as minidom
xml_dom.py: Refactored xml.dom.minidom.Element.writexml() to use new write_opening() and write_closing() methods. Use new functions is_elem() and is_text_node() to determine node type. Corrected definition of a text element to be an element that contains a single text node.