Many properties are based off of the header first (like to, cc, bcc, sender, etc.) and have a repeated section of code at the beginning to try to get themselves from the header first. I'm going to consolidate a lot of code into a "getFromHeader" function for trying to get itself from the header first. This should remove a decent amount of lines and make it easier to make new properties that are much smaller.
The function will look like this:
def tryGetFromHeader(self, name, alternative = None)
Where name is the name of the name of the property in the header and alternative is the path(s) to the properties in their files