Skip to content

Commit

Permalink
Bump version
Browse files Browse the repository at this point in the history
  • Loading branch information
ecederstrand committed Oct 27, 2021
1 parent 9b8165e commit 0f34609
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 19 deletions.
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@ Change Log

HEAD
----
- Support microsecond precision in `EWSDateTime.ewsformat()`


4.6.0
-----
- Support microsecond precision in `EWSDateTime.ewsformat()`
- Remove usage of the `multiprocessing` module to allow running in AWS Lambda
- Support `tzlocal>=4`


4.5.2
-----
Expand Down
26 changes: 26 additions & 0 deletions docs/exchangelib/errors.html
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ <h1 class="title">Module <code>exchangelib.errors</code></h1>
class ErrorChangeKeyRequiredForWriteOperations(ResponseMessageError): pass
class ErrorClientDisconnected(ResponseMessageError): pass
class ErrorConnectionFailed(ResponseMessageError): pass
class ErrorConnectionFailedTransientError(ResponseMessageError): pass
class ErrorContainsFilterWrongType(ResponseMessageError): pass
class ErrorContentConversionFailed(ResponseMessageError): pass
class ErrorCorruptData(ResponseMessageError): pass
Expand Down Expand Up @@ -2146,6 +2147,27 @@ <h3>Ancestors</h3>
<li>builtins.BaseException</li>
</ul>
</dd>
<dt id="exchangelib.errors.ErrorConnectionFailedTransientError"><code class="flex name class">
<span>class <span class="ident">ErrorConnectionFailedTransientError</span></span>
<span>(</span><span>value)</span>
</code></dt>
<dd>
<div class="desc"><p>Global error type within this module.</p></div>
<details class="source">
<summary>
<span>Expand source code</span>
</summary>
<pre><code class="python">class ErrorConnectionFailedTransientError(ResponseMessageError): pass</code></pre>
</details>
<h3>Ancestors</h3>
<ul class="hlist">
<li><a title="exchangelib.errors.ResponseMessageError" href="#exchangelib.errors.ResponseMessageError">ResponseMessageError</a></li>
<li><a title="exchangelib.errors.TransportError" href="#exchangelib.errors.TransportError">TransportError</a></li>
<li><a title="exchangelib.errors.EWSError" href="#exchangelib.errors.EWSError">EWSError</a></li>
<li>builtins.Exception</li>
<li>builtins.BaseException</li>
</ul>
</dd>
<dt id="exchangelib.errors.ErrorContainsFilterWrongType"><code class="flex name class">
<span>class <span class="ident">ErrorContainsFilterWrongType</span></span>
<span>(</span><span>value)</span>
Expand Down Expand Up @@ -9080,6 +9102,7 @@ <h3>Subclasses</h3>
<li><a title="exchangelib.errors.ErrorChangeKeyRequiredForWriteOperations" href="#exchangelib.errors.ErrorChangeKeyRequiredForWriteOperations">ErrorChangeKeyRequiredForWriteOperations</a></li>
<li><a title="exchangelib.errors.ErrorClientDisconnected" href="#exchangelib.errors.ErrorClientDisconnected">ErrorClientDisconnected</a></li>
<li><a title="exchangelib.errors.ErrorConnectionFailed" href="#exchangelib.errors.ErrorConnectionFailed">ErrorConnectionFailed</a></li>
<li><a title="exchangelib.errors.ErrorConnectionFailedTransientError" href="#exchangelib.errors.ErrorConnectionFailedTransientError">ErrorConnectionFailedTransientError</a></li>
<li><a title="exchangelib.errors.ErrorContainsFilterWrongType" href="#exchangelib.errors.ErrorContainsFilterWrongType">ErrorContainsFilterWrongType</a></li>
<li><a title="exchangelib.errors.ErrorContentConversionFailed" href="#exchangelib.errors.ErrorContentConversionFailed">ErrorContentConversionFailed</a></li>
<li><a title="exchangelib.errors.ErrorCorruptData" href="#exchangelib.errors.ErrorCorruptData">ErrorCorruptData</a></li>
Expand Down Expand Up @@ -9785,6 +9808,9 @@ <h4><code><a title="exchangelib.errors.ErrorClientDisconnected" href="#exchangel
<h4><code><a title="exchangelib.errors.ErrorConnectionFailed" href="#exchangelib.errors.ErrorConnectionFailed">ErrorConnectionFailed</a></code></h4>
</li>
<li>
<h4><code><a title="exchangelib.errors.ErrorConnectionFailedTransientError" href="#exchangelib.errors.ErrorConnectionFailedTransientError">ErrorConnectionFailedTransientError</a></code></h4>
</li>
<li>
<h4><code><a title="exchangelib.errors.ErrorContainsFilterWrongType" href="#exchangelib.errors.ErrorContainsFilterWrongType">ErrorContainsFilterWrongType</a></code></h4>
</li>
<li>
Expand Down
23 changes: 14 additions & 9 deletions docs/exchangelib/ewsdatetime.html
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,7 @@ <h1 class="title">Module <code>exchangelib.ewsdatetime</code></h1>
if not isinstance(tzinfo, (EWSTimeZone, type(None))):
raise ValueError(&#39;tzinfo %r must be an EWSTimeZone instance&#39; % tzinfo)
if len(args) == 8:
args = list(args)
args[7] = tzinfo
args = tuple(args)
args = args[:7] + (tzinfo,)
else:
kwargs[&#39;tzinfo&#39;] = tzinfo
return super().__new__(cls, *args, **kwargs)
Expand All @@ -135,8 +133,10 @@ <h1 class="title">Module <code>exchangelib.ewsdatetime</code></h1>
if not self.tzinfo:
raise ValueError(&#39;%r must be timezone-aware&#39; % self)
if self.tzinfo.key == &#39;UTC&#39;:
if self.microsecond:
return self.strftime(&#39;%Y-%m-%dT%H:%M:%S.%fZ&#39;)
return self.strftime(&#39;%Y-%m-%dT%H:%M:%SZ&#39;)
return self.replace(microsecond=0).isoformat()
return self.isoformat()

@classmethod
def from_datetime(cls, d):
Expand Down Expand Up @@ -303,6 +303,7 @@ <h1 class="title">Module <code>exchangelib.ewsdatetime</code></h1>
&#39;dateutil&#39;: cls.from_dateutil,
&#39;pytz&#39;: cls.from_pytz,
&#39;zoneinfo&#39;: cls.from_zoneinfo,
&#39;pytz_deprecation_shim&#39;: lambda z: cls.from_zoneinfo(z.unwrap_shim())
}[tz_module](tz)
except KeyError:
raise TypeError(&#39;Unsupported tzinfo type: %r&#39; % tz)
Expand Down Expand Up @@ -560,9 +561,7 @@ <h3>Methods</h3>
if not isinstance(tzinfo, (EWSTimeZone, type(None))):
raise ValueError(&#39;tzinfo %r must be an EWSTimeZone instance&#39; % tzinfo)
if len(args) == 8:
args = list(args)
args[7] = tzinfo
args = tuple(args)
args = args[:7] + (tzinfo,)
else:
kwargs[&#39;tzinfo&#39;] = tzinfo
return super().__new__(cls, *args, **kwargs)
Expand All @@ -575,8 +574,10 @@ <h3>Methods</h3>
if not self.tzinfo:
raise ValueError(&#39;%r must be timezone-aware&#39; % self)
if self.tzinfo.key == &#39;UTC&#39;:
if self.microsecond:
return self.strftime(&#39;%Y-%m-%dT%H:%M:%S.%fZ&#39;)
return self.strftime(&#39;%Y-%m-%dT%H:%M:%SZ&#39;)
return self.replace(microsecond=0).isoformat()
return self.isoformat()

@classmethod
def from_datetime(cls, d):
Expand Down Expand Up @@ -850,8 +851,10 @@ <h3>Methods</h3>
if not self.tzinfo:
raise ValueError(&#39;%r must be timezone-aware&#39; % self)
if self.tzinfo.key == &#39;UTC&#39;:
if self.microsecond:
return self.strftime(&#39;%Y-%m-%dT%H:%M:%S.%fZ&#39;)
return self.strftime(&#39;%Y-%m-%dT%H:%M:%SZ&#39;)
return self.replace(microsecond=0).isoformat()</code></pre>
return self.isoformat()</code></pre>
</details>
</dd>
</dl>
Expand Down Expand Up @@ -941,6 +944,7 @@ <h3>Methods</h3>
&#39;dateutil&#39;: cls.from_dateutil,
&#39;pytz&#39;: cls.from_pytz,
&#39;zoneinfo&#39;: cls.from_zoneinfo,
&#39;pytz_deprecation_shim&#39;: lambda z: cls.from_zoneinfo(z.unwrap_shim())
}[tz_module](tz)
except KeyError:
raise TypeError(&#39;Unsupported tzinfo type: %r&#39; % tz)
Expand Down Expand Up @@ -1082,6 +1086,7 @@ <h3>Static methods</h3>
&#39;dateutil&#39;: cls.from_dateutil,
&#39;pytz&#39;: cls.from_pytz,
&#39;zoneinfo&#39;: cls.from_zoneinfo,
&#39;pytz_deprecation_shim&#39;: lambda z: cls.from_zoneinfo(z.unwrap_shim())
}[tz_module](tz)
except KeyError:
raise TypeError(&#39;Unsupported tzinfo type: %r&#39; % tz)</code></pre>
Expand Down
2 changes: 1 addition & 1 deletion docs/exchangelib/folders/roots.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ <h1 class="title">Module <code>exchangelib.folders.roots</code></h1>
<span>Expand source code</span>
</summary>
<pre><code class="python">import logging
from multiprocessing import Lock
from threading import Lock

from .base import BaseFolder, MISSING_FOLDER_ERRORS
from .collections import FolderCollection
Expand Down
16 changes: 10 additions & 6 deletions docs/exchangelib/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ <h1 class="title">Package <code>exchangelib</code></h1>
from .transport import BASIC, DIGEST, NTLM, GSSAPI, SSPI, OAUTH2, CBA
from .version import Build, Version

__version__ = &#39;4.5.2&#39;
__version__ = &#39;4.6.0&#39;

__all__ = [
&#39;__version__&#39;,
Expand Down Expand Up @@ -5218,9 +5218,7 @@ <h3>Methods</h3>
if not isinstance(tzinfo, (EWSTimeZone, type(None))):
raise ValueError(&#39;tzinfo %r must be an EWSTimeZone instance&#39; % tzinfo)
if len(args) == 8:
args = list(args)
args[7] = tzinfo
args = tuple(args)
args = args[:7] + (tzinfo,)
else:
kwargs[&#39;tzinfo&#39;] = tzinfo
return super().__new__(cls, *args, **kwargs)
Expand All @@ -5233,8 +5231,10 @@ <h3>Methods</h3>
if not self.tzinfo:
raise ValueError(&#39;%r must be timezone-aware&#39; % self)
if self.tzinfo.key == &#39;UTC&#39;:
if self.microsecond:
return self.strftime(&#39;%Y-%m-%dT%H:%M:%S.%fZ&#39;)
return self.strftime(&#39;%Y-%m-%dT%H:%M:%SZ&#39;)
return self.replace(microsecond=0).isoformat()
return self.isoformat()

@classmethod
def from_datetime(cls, d):
Expand Down Expand Up @@ -5508,8 +5508,10 @@ <h3>Methods</h3>
if not self.tzinfo:
raise ValueError(&#39;%r must be timezone-aware&#39; % self)
if self.tzinfo.key == &#39;UTC&#39;:
if self.microsecond:
return self.strftime(&#39;%Y-%m-%dT%H:%M:%S.%fZ&#39;)
return self.strftime(&#39;%Y-%m-%dT%H:%M:%SZ&#39;)
return self.replace(microsecond=0).isoformat()</code></pre>
return self.isoformat()</code></pre>
</details>
</dd>
</dl>
Expand Down Expand Up @@ -5599,6 +5601,7 @@ <h3>Methods</h3>
&#39;dateutil&#39;: cls.from_dateutil,
&#39;pytz&#39;: cls.from_pytz,
&#39;zoneinfo&#39;: cls.from_zoneinfo,
&#39;pytz_deprecation_shim&#39;: lambda z: cls.from_zoneinfo(z.unwrap_shim())
}[tz_module](tz)
except KeyError:
raise TypeError(&#39;Unsupported tzinfo type: %r&#39; % tz)
Expand Down Expand Up @@ -5740,6 +5743,7 @@ <h3>Static methods</h3>
&#39;dateutil&#39;: cls.from_dateutil,
&#39;pytz&#39;: cls.from_pytz,
&#39;zoneinfo&#39;: cls.from_zoneinfo,
&#39;pytz_deprecation_shim&#39;: lambda z: cls.from_zoneinfo(z.unwrap_shim())
}[tz_module](tz)
except KeyError:
raise TypeError(&#39;Unsupported tzinfo type: %r&#39; % tz)</code></pre>
Expand Down
4 changes: 3 additions & 1 deletion docs/exchangelib/services/common.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ <h1 class="title">Module <code>exchangelib.services.common</code></h1>
ErrorNoPublicFolderReplicaAvailable, MalformedResponseError, ErrorExceededConnectionCount, \
SessionPoolMinSizeReached, ErrorIncorrectSchemaVersion, ErrorInvalidRequest, ErrorCorruptData, \
ErrorCannotEmptyFolder, ErrorDeleteDistinguishedFolder, ErrorInvalidSubscription, ErrorInvalidWatermark, \
ErrorInvalidSyncStateData, ErrorNameResolutionNoResults, ErrorNameResolutionMultipleResults
ErrorInvalidSyncStateData, ErrorNameResolutionNoResults, ErrorNameResolutionMultipleResults, \
ErrorConnectionFailedTransientError
from ..properties import FieldURI, IndexedFieldURI, ExtendedFieldURI, ExceptionFieldURI, ItemId
from ..transport import wrap
from ..util import chunkify, create_element, add_xml_child, get_xml_attr, to_xml, post_ratelimited, \
Expand All @@ -63,6 +64,7 @@ <h1 class="title">Module <code>exchangelib.services.common</code></h1>
ErrorCannotDeleteObject,
ErrorCannotEmptyFolder,
ErrorConnectionFailed,
ErrorConnectionFailedTransientError,
ErrorCreateItemAccessDenied,
ErrorDeleteDistinguishedFolder,
ErrorExceededConnectionCount,
Expand Down
2 changes: 1 addition & 1 deletion exchangelib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from .transport import BASIC, DIGEST, NTLM, GSSAPI, SSPI, OAUTH2, CBA
from .version import Build, Version

__version__ = '4.5.2'
__version__ = '4.6.0'

__all__ = [
'__version__',
Expand Down

0 comments on commit 0f34609

Please sign in to comment.