task/ta-npe-mapper-01 -- introduce new mapper.py module
Abstract the test lines from nparcel/test_loader.py to separate
config file, nparcel/tests/test_loader.conf
task/ta-npe-mapper-02 -- integrate raw FIELDS map and nparcel/parser.py

nparcel/mapper.py
* defined new globals FIELDS and MAP which are used to parse the
  source record and translate to Nparcel T1250 format
* new method translate() to translate source record into Nparcel T1250
  format
Merge branch 'dev' of https://github.com/loum/nparcel into dev
Merge branch 'feature/us-npe-mapper' into dev
task/ta-npe-mapper-03 -- mapper process hook

nparcel/mapper.py
* new method process() accepts an unformatted T1250 record *raw* and
  processes the translation to Nparcel T1250 format
task/ta-npe-mapper-04 -- mapper daemoniser facility

doc/source/modules/mapperdaemon.rst
nparcel/mapperdaemon.py
nparcel/tests/test_mapperdaemon.py
* new files
task/ta-npe-mapper-04 -- prepare mapper config items

nparcel/b2cconfig.py
nparcel/conf/nparceld.conf
* support for pe_in_dir_names and pe_in_file_format attributes
task/ta-npe-mapper-05 -- translation should identify business

nparcel/mapper.py
* reworked the process() method to extract the System Identifier and
  return it (with the Nparcel T1250 record) in a tuple structure
nparcel/reminder.py not honoring dry runs :-(
task/ta-npe-mapper-06 -- override nparcel.utils.Daemon
_start() method in nparcel.MapperDaemon

nparcel/mapperdaemon.py
* new method _start()
task/ta-npe-mapper-07 -- abstract common Daemon components

doc/source/modules/daemonservice.rst
nparcel/daemonservice.py
nparcel/tests/test_daemonservice.py
* new files

nparcel/mapperdaemon.py
* factor out common daemoniser components to
nparcel/daemonservice.py
task/ta-npe-mapper-08 -- get list of WebMethods files to process

nparcel/b2cconfig.py
nparcel/conf/nparceld.conf
nparcel/tests/test_b2cconfig.py
* change _pe_in_file_format string

nparcel/utils/files.py
nparcel/loaderdaemon.py
* factored out the files() method from nparcel/loaderdaemon.py
  to here as new method, get_directory_files()

nparcel/mapperdaemon.py
* new method get_files() that identifies GIS-special WebMethod
  files that are to be processed
task/ta-npe-mapper-09 -- nparcel.MapperDaemon._start() should find files

nparcel/b2cconfig.py
* new setter for PE in bound files, set_pe_in_dirs()

nparcel/mapperdaemon.py
* updated the _start() method to handle inline files and director-based
  GIS file detection
task/ta-npe-mapper-10 -- nparcel.MapperDaemon archiving facility

nparcel/b2cconfig.py
* new attribute "pe_in_file_archive_string" regular expression grouping
  structure for Primary Elect inbound filenames that represent the
  YYYYMMDD date sequence
* new attribute "customer" which is the upstream provider of the GIS
  T1250 files

nparcel/conf/nparceld.conf
* support for the new file_archive_string and customer Primary Elect
  options

nparcel/mapperdaemon.py
* new method get_customer_archive() which returns the archive target
  path based on given GIS T1250 filename
* updated the get_files() method to be aware of archived files
task/ta-npe-mapper-11 -- make nparcel.LoaderDaemon._start()
T1250 EOF-aware

nparcel/loaderdaemon.py
* factor out the check_eof_flag() method into nparcel/utils/files.py

nparcel/mapperdaemon.py
* updated the _start() method to check for the T1250 EOF token

nparcel/utils/files.py
* new function check_eof_flag() which checks if given file is a
standard T1250 file by verifying if the last line contains
the string "%%EOF"
task/ta-npe-mapper-12 -- reporting
task/ta-npe-mapper-13 -- write out translated T1250:
create first time file handle

nparcel/mapperdaemon.py
* new attribute _file_ts_format ate/time string format to use to build
  into the T1250 outbound file
* new attribute _processing_ts which simply captures the current time
  of the processing loop

nparcel/mapperdaemon.py
* new method write() which writes out the Business Unit-specific
  record to a T1250 file
task/ta-npe-mapper-14 -- write out translated T1250:
close out T1250 outbound files

nparcel/mapperdaemon.py
* new method close() which closes out any open T1250-specific file
  handles
task/ta-npe-mapper-15 -- write out translated T1250:
integrate into processing

nparcel/mapper.py
* updated the process() method so that it updates the Identifier
  constant

nparcel/mapperdaemon.py
* updated the _start() method to write out translated T1250 records
  and close off the T1250 upon completion of WebMethods processing