This approach becomes difficult to manage if more versions are added in the future.  I think it would be better to have one method per version, then use a dict of fileheader:method pairs to select the appropriate one.   This makes it much easier to add new versions in the future.