v0.23.1
- Fixed issue with embedded msg files caused by the changes in v0.23.0.
v0.23.0
- [mattgwwalker #75] & [Syncurity #39] Completely rewrote the function
Message._getStringStream
. This was done for two reasons. The first was to make it actually work with msg files that have their strings encoded in a non-Unicode encoding. The second reason was to make it so that it better reflected msg specification which says that ALL strings in a file will be either Unicode or non-Unicode, but not both. Because of the second part, theprefer
option has been removed. - As part of fixing the two issues in the previous change, we have added two new properties:
- a boolean
Message.areStringsUnicode
which tells if the strings are unicode encoded - A string
Message.stringEncoding
which tells what the encoding is. This is used by theMessage._getStringStream
to determine how to decode the data into a string.
- a boolean
v0.22.1
- [mattgwwalker #69] Fixed date format not being up to standard.
- Fixed a minor spelling error in the code.
v0.22.0
- [Syncurity #30] Added
--validate
option. - [Syncurity #24] Moved all dev code into its own scripts. Use
--dev
to use from the command line. - [mattgwwalker #67] Added compatability module to enforce unicode os functions.
- Added new function to
Message
class:Message.sExists
. This function checks if a string stream exists. It's input should be formatted identically to that ofMessage._getStringSteam
. - Added new function to
Message
class:Message.fix_path
. This function will add the proper prefix to the path (if theprefix
parameter is true) and adjust the path to be a string rather than a list or tuple. - Added new function to
utils.py
:get_full_class_name
. This function returns a string containing the module name and the class name of any instance of any class. It is returned in the format of{module}.{class}
. - Added a sort of alias of
Message._getStream
,Message._getStringStream
,Message.Exists
, andMessage.sExists
toAttachment
andRecipient
. These functions run inside the associated attachment directory or recipient directory, respectively. - Added a fix to an issue introduced in an earlier version caused by accidentally deleting a letter in the code.
v0.21.0
- [Syncurity #7] Changed debug code to use logging module.
- [Syncurity #26] Fixed Attachment class using wrong properties file location in embedded msg files.
- [Syncurity #4] Improved handling of command line arguments using argparse module.
- [Syncurity #24] Started work on moving developer code into its own script.
- [mattgwwalker #63] Fixwed json saving not applying to embedded msg files.
- [mattgwwalker #55] Added fix for recipient sometimes missing email address.
- [mattgwwalker #65] Added fix for special characters in recipient names.
- Module now raises a custom exception (instead of just
IOError
) if the input is not a valid OLE file. - Added
header_dict
property to theMessage
class. - General minor bug fixes.
- Fixed a section in the
Recipient
class that I have no idea why I did it that way. If errors start randomly occurring with it, this fix is why.
v0.20.8
- Fixed a tab issue and parameter type in
messages.py
.
v0.20.7:
- Separated classes into their own files to make things more manageable.
- Placed
__doc__
back inside of__init__.py
. - Rewrote the
Prop
class to be two different classes that extend from a base class. - Made decent progress on completing the
parse_type
function of theFixedLengthProp
class (formerly a function of theProp
class). - Improved exception handling code throughout most of the module.
- Updated the
.gitignore
. - Updated README.
- Added
# DEBUG
comments before debugging lines to make them easier to find in the future. - Added function
create_prop
inprop.py
which should be used for creating what used to be an instance of theProp
class. - Added more constants to reflect some of the changes made.
- Fixed a major bug that was causing the header to generate after things like "to" and "cc" which would force those fields to not use the header.
- Fixed the debug variable.
- Fixed many small bugs in many of the classes.
- [Syncurity #11] Various loose ends to enhance the workflow in the repo.