Releases: jjCode01/xerparser
Version 0.10.3
Changes
- Added
Node
class to represent a Tree data structure - can have one parent and multiple children.ACCOUNT
,ACTVCODE
,PCATVAL
, andPROJWBS
classes now inherit fromNode
class. - Updated dependency
html-sanitizer
to the latest version2.2.0
. - Added
is_wbs
property toTaskType
enum class. Checks if task is a wbs summary type.
Version 0.10.0
Added
- Added
wbs_root
attribute to thePROJECT
class. This is the root WBS node. - Added
children
attribute to thePROJWBS
class. Along with thewbs_root
above, this forms a Tree Data Structure. - Added
children
attribute to theACCOUNT
class. - Added
children
attribute to theACTVCODE
class. - Added
children
attribute to thePCATVAL
class.
Changes
- Changed the
PROJECT
name
from an attribute to a property. The project name is stored in thewbs_root
added above.
Version 0.9.8
Fixed edge case where relationship lag values were stored as empty strings rather than 0 in the xer TASKPRED
table.
Version 0.9.7
Fixed edge case where resource quantities were stored as empty strings rather than 0 in the xer TASK
table.
Version 0.9.5
Both project specific and global calendars are now included in the PROJECT
calendars
attribute. Covers cases where project tasks are assigned to a global calendar.
Version 0.9.4
Added actual_duartion
property to PROJECT
class.
Version 0.9.3
Some code cleanup and corrections to the python code in the README file.
Version 0.9.2
- Added function
file_reader
which accepts a .xer file and reads it to a string object.- Accepts str or Path objects for files stored locally or on a server.
- Accepts BinaryIO files from requests, Flask, FastAPI, etc...
- Added classmethods
reader
to theXer
class. A .xer file can be passed directly to this method, which will read and decode the file, and return aXer
object. Uses thefile_reader
function above. - Changed name of function
xer_to_dict
toparser
.
Version 0.9.1
Reference Changelog for a full list of changes.
Remove error
attribute from Xer
class. If errors are encountered during initialization of an Xer
object, then a CorruptXerFile
Exception is raised. CorruptXerFile
Exception Class includes an errors
attribute holding a list of errors in the .xer file. The errors can be accessed from the Exception when using try
except
.
try:
xer = Xer(file_contents)
except CorruptXerFile as e:
for error in e.errors:
print(error)
Version 0.8.2
0.8.2 - 2023-03-05
Added
- Added
actual_total_cost
property toTASKFIN
class - Added
late_start
property toPROJECT
class
Changes
TASK
methodrem_hours_per_day
can now accept alate
flag (bool) to calculate late dates rather than early dates.