Added more detailed notes on setting up the project's testing environment, as
well as what loops to jump through to get all of this working with older Python
2.4 interpreter versions we wish to support.
These files have been inherited from the original suds project and seem related
to the development environment used by the original developer. Since they are
no longer actively used, tested or maintained they have most likely grown stale.
* Cleaned up test function names.
* Tested Date, DateTime & Time instance construction from unexpected objects.
* Tested Date, DateTime & Time instance construction from datetime.date,
datetime.datetime & datetime.time.
* Tested Date, DateTime & Time conversion to string.
Both Python's timezone support implementation and the XSD datatype specification
('http://www.w3.org/TR/xmlschema-2', section '3.2.7.3 Timezones') state that
timezone offset specifiers contain only hour and minute information.
This makes those symbols not get imported automatically into other modules when
using the 'from module import *' syntax, without having to manually maintain the
module's __all__ public symbol listing.
Partial step towards applying a patch sent in by 'mduggan1' [based on a ticket
from the original suds project ('http://fedorahosted.org/suds/ticket/353')].
* No more manual time adjustments due to timezones. Each DateTime & Time object
now remembers its specified date/time value and timezone and uses that to
decide how to serialize itself into a string.
* Suds no longer maintains any date/time values connected to the current user's
local time zone. Such values may only be explicitly constructed by user code.
* Minute and second values greater than 59 are now rejected as invalid.
* More detailed timezone specification format checking - the total timezone UTC
offset must not be greater than 1 day (in absolute). This is needed because
otherwise tzinfo.
* Timezone class removed and replaced with FixedOffsetTimezone, LocalTimezone &
UtcTimezone. Any other datetime.tzinfo implementation should be usable as
well, e.g. those from the pytz package.
* Updated relates unit tests - now all date/time related tests pass.
Date/time related unit tests still need to be made more extensive.
Partial step towards applying a patch sent in by 'mduggan1' [based on a ticket
from the original suds project ('http://fedorahosted.org/suds/ticket/353')].
Naming different is no longer necessary now that we refactored the DateTime
class so it is no longer derived from Date & Time classes and so no longer hold
redundant partial values stored in its members inherited from those classes.
Partial step towards applying a patch sent in by 'mduggan1' [based on a ticket
from the original suds project ('http://fedorahosted.org/suds/ticket/353')].
* Improves several exception description messages.
* Corrects several related unit tests.
* Corrects fractional second parsing.
* Corrects rounding fractional second information to microseconds to make it fit
into the Python datetime.datetime/time implementation.
* Still retains the original buggy timezone handling implementation.
* Adds an UTF-8 BOM for this source file.
* Minor stylistic changes.
Added tests are definitely not perfect and will need further corrections,
especially related to timezone indicator parsing, but should work great as an
active tool for guiding further date/time/timezone handling fixes we have
planned.
This simplifies current date/time test code as it no longer needs to construct
mock XDate, XDateTime & XTime objects.
None of these methods was using its self parameter anyway and this change does
not affect existing callers.
Partial step towards applying a patch sent in by 'mduggan1' [based on a ticket
from the original suds project ('http://fedorahosted.org/suds/ticket/353')].
Removed getters were never used in suds code and were implemented as simple
forwarders to matching getters on the underlying Python date/time value.
Partial step towards applying a patch sent in by 'mduggan1' [based on a ticket
from the original suds project ('http://fedorahosted.org/suds/ticket/353')].
* Several comment typos corrected.
* Some of the coding idioms changed.
* Clean up suds package imports.
Several of the new tests fail with the current date/time support implementation.
Buggy features detected based on fixes found in a patch sent in by 'mduggan1'
[based on a ticket from the original suds project
('https://fedorahosted.org/suds/ticket/353')].