Bots

Latest version: v3.3.0

Safety actively analyzes 685525 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

3.3.1

------------------

- Restore jobqueueserver. It was broken in 3.3.0 because of unfinished
python2/3-support. Fixes https://github.com/bots-edi/bots/issues/21.
[WouterVH]

- Remove ``bots_importlib``. Python2.6 is no longer supported.
Cfr. https://github.com/bots-edi/bots/issues/23
[WouterVH]

- Remove ``bots_ordereddict``. Python2.6 is no longer supported.
Cfr. https://github.com/bots-edi/bots/issues/22
[WouterVH]

- Add new dependency on ``future`` to help with python3-compatibility.
For more information, please see https://pypi.python.org/pypi/future/.
[WouterVH]

- Add rst-version of GPL3-license.
Thanks to https://github.com/shibukawa/rest-licenses/
[WouterVH]

- Add dependencies in ``setup.py``.
[WouterVH]

- Update ``MANIFEST.in``.
[WouterVH]

- Add explicit ``UTF-8``-file-encoding to each python-file.
Cfr. https://www.python.org/dev/peps/pep-0263/
[WouterVH]

- Add ``etc/requirements.txt``
[WouterVH]

- Add ``.landscape.yml`` to configure code-quality checks at
https://landscape.io/github/bots-edi/bots
[WouterVH]

- Add ``setup.cfg`` with config-settings for several tools.
Also set ``bdist_wheel`` to ``universal``.
[WouterVH]

- Move bots-code to ``src``-sub-directory. Why? Please see
https://blog.ionelmc.ro/2014/05/25/python-packaging/
[WouterVH]

- Move unittests to ``tests``-subdirectory.
[WouterVH]

- Move scripts to ``scripts``-subdirectory.
[WouterVH]

3.3.0

------------------

- Add ``License.rst``
[WouterVH - 22-11-2016]

- Update Readme, and .gitignore
[JCapriotti - 19-11-2016]

- add setup.py using setuptools
[WouterVH - 09-08-2016]

- add .gitignore-file
[WouterVH - 09-08-2016]

- Revert ``Added gitignore and sphinx docs``
[eppye - 08-03-2016]

- Revert ``Added gitignore and sphinx docs``
[eppye - 08-03-2016]

- Merge pull request 367 from abhishek-ram/sphinx-docs
Added gitignore and sphinx docs
[eppye - 07-03-2016]

- Added gitignore and sphinx docs
[ Abhishek Ram - 31-10-2015]

- last chagnes?
[eppye - 15-08-2015]

- small change in text for 'ftp account'
[eppye - 04-08-2015]

- Issue 362: add: more preprocessing
[eppye - 21-05-2015]

- type in internal function name: save_int instead of safe_int
[eppye - 21-05-2015]

- Issue 253: migrate to python 3.*
python3 uses another pickle protocol by default.
[eppye - 20-05-2015]

- change in comments
[eppye - 20-05-2015]

- added some unittests.
[eppye - 20-05-2015]

- small change i order to get unittests right: transform.getcodeset gets a list from ccodes.
postgreSQL returns this in 'reversed' order.
not an error, but use same orders as MySQL and SQLite
[eppye - 20-05-2015]

- Issue 254: for persist: timestamp on update
[eppye - 20-05-2015]

- Issue 359: Add option for daily engine.log
[eppye - 20-05-2015]

- Issue 341: Optionally add ``run cleanup`` to run menu. Allow cleanup run from commandline in acceptance testing.
(missed some code at first try)
[eppye - 20-05-2015]

- Issue 338: Error when incoming email with subject > 35 chars and db is not SQLite
[eppye - 20-05-2015]

- Issue 347: bots_communication_failure counters: domein too long for db field
[eppye - 20-05-2015]

- Issue 358: cleanup.py should not log ``vacuum database`` for non-sqlite installations
[eppye - 20-05-2015]

- Issue 363: add: function to split up text (or lists)
[eppye - 20-05-2015]

- change in comments
[eppye - 20-05-2015]

- Issue 360: mapping is the centre of bots,
set email-addresses from mapping
[eppye - 19-05-2015]

- Issue 355: add: easier access to all envelope fields in mapping
changed this again: envelope fields are in inn.envelope: a list of dicts: [mpath,mpath,etc]
[eppye - 19-05-2015]

- Issue 360: mapping is the centre of bots
- outcommented mysterious assignged to topartners in transform.py/_translate_one_file ; it does not do anything.
- changes in comments
[eppye - 16-05-2015]

- change in comments
[eppye - 16-05-2015]

- Issue 328: pass frommail and tomail to mapping
during testing found: tomail was not passed if there was no check on the toaddress.
changed this, tomail is now always passed.
[eppye - 15-05-2015]

- Issue 356: set all envelope fields from mapping
- more data is passed for merging - so more data will get passed from maping script
- more comments
- fixed soem inconsistenties in enveloping
[eppye - 13-05-2015]

- small code change for use in acceptance tests: get a frozen value for datetime objects.
(needed this in some mappig scripts).
[eppye - 12-05-2015]

- change in comments
[eppye - 12-05-2015]

- Issue 355: add: easier access to all envelope fields in mapping envelope fields are in:
inn.envelope (a dict), not in ta_info anymore.
[eppye - 11-05-2015]

- small code change for use in acceptance tests: get a frozen value for datetime objects.
(needed this in some mappig scripts).
[eppye - 25-04-2015]

- Issue 355: add: easier access to all envelope fields in mapping
[eppye - 23-04-2015]

- Improve & bug fix for Issue 353: add: function to 'strip diacritics'
- one function (instead of 2)
- can handled other charsets (not only ascii and latin1/iso-8859-1)
- one char -> one char or nothing - but not eg 2 chars; better because fields lenghts should not get 'suddenly' bigger in edi
[eppye - 22-04-2015]

- Issue 357: Add: pass to mapping number of messages and sequence number in file/interchange
[eppye - 22-04-2015]

- Issue 354: better handling of partners in x12 (edifact)
pick up combination of ISA-ID/ISA-qual/GS-ID.
improved coding of enhancedget.
[eppye - 17-04-2015]

- Issue 353: add: function to 'strip diacritics'
[eppye - 16-04-2015]

- Issue 349: In translations, grammars not required for db or raw types, so do not show error icon
[eppye - 15-04-2015]

- Issue 253: migrate to python 3.*
roll back: callable() is available in python >= 3.2
[eppye - 11-04-2015]

- small code/errors improvement:
- different warning for missing frompartner and topartner
- checking in subroutine: same for x12, edifact etc.
[eppye - 11-04-2015]

- Issue 352: new: very strict checking on whitespace 'between' records
[eppye - 11-04-2015]

- Issue 351: add: sanity checks on separators (edifact/x12)
[eppye - 10-04-2015]

- Issue 348: set/change headers via user scripting
[eppye - 09-04-2015]

- max integer was not tested correctly.
limit here is the database: int is 2^31 -1
to change that, have to change database -> next database migration
[eppye - 09-04-2015]

- Issue 337: Add bots_environment_text in page title
[eppye - 07-04-2015]

- Issue 340: Admin views minor changes for better usability
[eppye - 07-04-2015]

- Issue 341: Optionally add ``run cleanup`` to run menu. Allow cleanup run from commandline in acceptance testing.
[eppye - 06-04-2015]

- Issue 346: added option: when arything goes wrong in translation, skip whole file /no output
[eppye - 03-04-2015]

- change in comments
[eppye - 03-04-2015]

- Issue 345: remove in communication.py option to userscript keyfile, certfile
[eppye - 03-04-2015]

- Issue 342: Add logfile viewer in GUI
[eppye - 03-04-2015]

- change in comments.
[eppye - 03-04-2015]

- restructured code for fixed files with noBOTSID
[eppye - 02-04-2015]

- Issue 344: bug when re-using structures (in grammar)
Other things for grammars/grammarreading:
- more consistent fucntion calls (no more defaults)
- much more comments in grammar.py
- code is better structured.
- soem extra checks were not performed bacause of typo
[eppye - 02-04-2015]

- Issue 253: migrate to python 3.*
in unittests: same conversion 'trics' as in source code
[eppye - 02-04-2015]

- Issue 253: migrate to python 3.*
[eppye - 01-04-2015]

- get grammar/grammar reading clearer:
- changes in comments
- no more defaults in grammar read functions - that only obscures things.
[eppye - 31-03-2015]

- small change in coding: read/write pickled files via botslib.
[eppye - 30-03-2015]

- change in comments.
[eppye - 30-03-2015]

- Issue 334: better errors for numeric fields with exponentials
[eppye - 30-03-2015]

- Issue 333: bug: charsets of incoming emails
[eppye - 30-03-2015]

- minor change/improvement in logic of file->email mime.
[eppye - 30-03-2015]

- Issue 332: in node.change: convert eg int to string (like in put())
[eppye - 30-03-2015]

- Issue 331: changed 'out_as_inn' implementation (same functionality)
also other changes; see change for Issue 253: migrate to python 3.*
[eppye - 30-03-2015]

- Issue 330: removed 'persistfilter' in GUI
[eppye - 30-03-2015]

- Issue 329: filtering incoming email: add 'multipart/related' to whitelist_multipart
[eppye - 30-03-2015]

- Issue 328: pass frommail and tomail to mapping
[eppye - 30-03-2015]

- Issue 327: add more parameters to user exits for 997/CONTRL
[eppye - 30-03-2015]

- Issue 326: edifact/UNA segment: if repetition seperator is space, assume they make a mistake
plus: typo: seperator -> separator
[eppye - 29-03-2015]

- Issue 325: fix bug in grammar read logic
[eppye - 28-03-2015]

- Issue 324: other way of indicating unique part in filename
[eppye - 28-03-2015]

- Issue 318: mimefile msgid may exceed 70 chars (too big for database)
[eppye - 28-03-2015]

- Issue 323: rollback Issue 314
[eppye - 26-03-2015]

- Issue 253: migrate to python 3.*
[eppye - 26-03-2015]

- Issue 319: better xml-generating
[eppye - 26-03-2015]

- Issue 320: better json generating - sorted!
[eppye - 26-03-2015]

- Issue 321: improve outgoing formatting fields
[eppye - 26-03-2015]

- bug in bots 3.2.0. not serious/no harm.
[eppye - 10-09-2014]

- bug in 2.3.0. Not very serious.
[eppye - 10-09-2014]

- 2 bugs in bots 3.2.0 (reported by ludovic)
[eppye - 10-09-2014]

- changes in comments
[eppye - 10-09-2014]

- update windows build batchfiles.
[eppye - 04-09-2014]

- correct version
[eppye - 03-09-2014]

3.2.0

------------------

- TODO

3.2.0rc2

---------------------

- TODO

3.2.0rc

--------------------

- TODO

3.0.0rc

Alas: the database as used in the 3.0.0rc version has changed!
Changed is:
* table channel: field 'testpath' is added
* table report: field 'acceptance' is added
* tabel ccode: field 'rightcode'->70pos
* tabel ccode: field 'attr1'->70pos

List of Changes
**Wrapping of user script functionality into GUI**
* For outgoing filenames: can include partnerID, messagetype, botskey, data/time, etc in channel.
* Pass-through is option in route.
* Zip and unzip files as option in channel.
* SSL keyfile and certificate as options in channel.
* Excel as incoming messagetype (instead of via preprocessing).
* Option in channel to indicate edi file in email should be in body.
* Add: communication-out type 'trash' to discard of edi files.

**Improved 'run' options**
* Run options in GUI are simpler: new, rereceive, resend. (Automatic recommunication is possible via bots-engine).
* Communication errors are visible in outgoing-screen and can be 'resend' manually.
* Add 'resend all' and 'rereceive all' in incoming/outgoing screen; espc. useful in combination with selections.
* Indicate in screens a file has been resend; Keep track of number of resends of an outgoing file. Filer works 'over' resends now.
* Dropped 'retry' option. This was not useful and confusing. Use 'rereceive'.
* Dropped 'retry communication'. Use 'resend', easier and more consistent.
* Add: use 'channel' in selects (eg useful for resend selects).

**Better scheduling for bots-engine**
* Add: jobqueueserver. This makes complicated scheduling much better/easier; scheduled jobs will not be dropped anymore.
* Add: directory-monitor: start engine when file is dropped in directory.
* Cleanup runs only once a day now (in the first run of day); better performance.
* Cleanup now also runs VACUUM for sqlite; better performance.
* All edifact, x12, tradacoms files go via mailbag, x12. This is simpler. (there is a compatibility option in bots.ini).
* Set max file-size in translations (value can be changed in bots.ini). Very big edi files take a long time to process.
* Improve: engine now runs all routes if not new (unless routes have been specified as parameters).

**Configuration change management** [see wiki](DeploymentEnv.md)
* Use tools to push changes test-> production
* Via GUI: write database configuration to usersys in order to compare environments.
* Via GUI: read the changed database configuration in usersys after pushing changes
* Isolated acceptation tests: run an acceptance test set without changes.
* option in bots.ini to active 'acceptance test'
* bots prevents communication to 'outside
* use seperate path to read/write ('testpath')
* do not change counters etc
* results of acceptance tests can be deleted/removed
* etc

**Many improvements in GUI, eg:**
* 'Detail' screen has a better layout.
* Improve: show name partner in selectlist (in configuration).
* Improve: show channel-type in selectlist and routes (in configuration). I find this very convenient.
* Improve: better sorting in configuration for in django 1.4, eg for routes, codelists, trasnlations.
* References in a configuration are better guarded. Eg: when deleting partner that is used in partner-specific translation: user is warned, has to confirm.
* Improve: removed charset from channel. This was not needed.
* Improve: selections in screens not only for partners but also for partner groups
* Fix: download an edi-file via filer could give not-correct file.
* Add: keep track of file-size of incoming/outgoing files.

**Extended partner functionality**
* Add: function 'partnerlookup' for use in mapping scripts to look-up/convert partner related functions.
* Add: extra partner fields: address, user-defined fields.
* Add: send a message to any bots partner from mapping script (use partners as the email address book).
* Improve: multiple email addresses in cc field.

**Confirmations**
* Fix: bug in confirmation logic for frompartner/topartner (I had them reversed...).
* Better CONTRL-message.
* Option to run user exit either to generate CONTRL message or change the generated CONTRL message.
* messagetype (for incoming) is now similar to other uses of message-type; edi-type is removed (is not needed)
* Fix: better indexing for reference/botskey. This improves performance for confirmations.

**Plugins**
* Always make configuration backup when reading new plugin.
* Dropped the date-indication for files that are overwritten.
* Index file in plugin always starts with type of plugin and layout is sorted/predictable.
* Fix for performance problem when generating plugin for big plugins.
* Fixed bug for relations in database. Bug only occurs when reading 'hand-changed'-plugins.

**Better handling of 'database is locked'/crash recovery**
* First of all: use the jobqueue-server for more complicated scheduling (prevents running multiple engine!)
* Different way of detecting another instance of engine is running via locking of port.
* If bots-engine finds no other engine is running, but the database is locked this indicates the previous run was ended unexpectedly (eg computer crash). In htis case bots will do an automatic 'crash recovery'. A warning is still given in logs or via email. Only ONE email is send.

**Technical**
* An 64-bits installer for windows is available.
* Runs with django 1.4 now ; dropped support for django 1.1, 1.2
* Database has changed. A script is added to upgrade the database.

**Other changes**
* Add: startup script for bots-webserver using apache. Multiple bots-environments can run over one apache server.
* Add: user exit for cleanup.
* Improve: use external file name in archive.
* Add: archive as zip-files.
* Fix: port was not used in initializing PostgreSQL.
* Less statuses in processing (simpler, faster).
* Improve: use unlimited text fields in database for errortext and persist.
* Improve: if message in incoming edi file has error in mapping script and/or writing outgoing file: process rest of edi file (there is a compatibility option in bots.ini).
* Reworked errors for edi files (parsing, generating). All errors have numbers now (for referencing).
* Always read incoming files sorted by name. Reason: predictability. Formerly the read order was not predicable.
* Fix: better handling of import errors for user scripts. This could lead to confusing errors/situations.
* Add: access to whole envelope in mapping.
* Fix: nr of messages was not used correctly when writing multiple UNH in one mapping script.
* Fix: bug for numerical fields with more than 4 decimal positions.
* Add: counter(s) per bots-run in mapping script; eg useful for UNH/ST counter per interchange.
* Fix: enveloping for edifact with keca-character-set.
* Add: concatenate function for usage in mapping scripts.
* Improve: updated grammar-handling to allow for UNS-UNS construction.
* Improve: set explicit namespace when generating xml.
* Add: determine translation via user scripting.
* Add: user scripts can easy detect what type of run is done via routedict['command']
* Dropped: intercommit connector.

Changelog
=========

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.