Azure / Azure/azure-storage-python

[Storage] Storage data-plane track 1 SDK triggers SyntaxWarning on Python 3.8

Aperta
#669 3 commenti 0 reazioni 1 assegnatario Rivendicata da @xiafu-msft Vedi su GitHub
Lingua principale
Python
Stelle
343
Fork
243
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

- **Package Name** and **Package Version**:
https://pypi.org/project/azure-storage-blob/2.1.0/

- **Operating System**:
All

- **Python Version**:
3.8

**Describe the bug**

When the source of **Storage data-plane track 1 SDK** is compiled for the first time (no `__pycache__` folders present), Python 3.8 gives warning:

```py
>>> import azure.storage.blob
d:\cli\env38\lib\site-packages\azure\storage\blob\_upload_chunking.py:403: SyntaxWarning: "is" with a literal. Did you mean "=="?
if n is 0 or self._buffer.closed:
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:1009: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:2660: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\common\_connection.py:82: SyntaxWarning: "is" with a literal. Did you mean "=="?
self.protocol = self.protocol if parsed_url.scheme is '' else parsed_url.scheme
```

This usage is against the Python 3.8 definition:

https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-python-behavior

> The compiler now produces a `SyntaxWarning` when identity checks (`is` and `is not`) are used with certain types of literals (e.g. strings, numbers). These can often work by accident in CPython, but are not guaranteed by the language spec. The warning advises users to use equality tests (`==` and `!=`) instead.

**To Reproduce**

Clear `azure\storage\blob\__pycache__` and `azure\storage\common\__pycache__`, then run

```py
import azure.storage.blob
```

**Expected behavior**

No warning should appear.

**Additional context**

Internal ticket and screenshots: https://dev.azure.com/azuretracking/Azure%20tracking/_workitems/edit/1271

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.