Skip to content
This repository has been archived by the owner on Jul 11, 2022. It is now read-only.

Commit

Permalink
Fix invalid spacing of dots in relative imports
Browse files Browse the repository at this point in the history
  • Loading branch information
ambv authored and Lukasz Langa committed Mar 15, 2018
1 parent 76e6acb commit e1e8909
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 24 deletions.
5 changes: 5 additions & 0 deletions README.md
Expand Up @@ -251,6 +251,11 @@ You can still try but prepare to be disappointed.

## Change Log

### 18.3a1

* fixed invalid spacing of dots in relative imports (#6, #13)


### 18.3a0

* first published version, Happy 🍰 Day 2018!
Expand Down
22 changes: 16 additions & 6 deletions black.py
Expand Up @@ -20,7 +20,7 @@
from blib2to3.pgen2 import driver, token
from blib2to3.pgen2.parse import ParseError

__version__ = "18.3a0"
__version__ = "18.3a1"
DEFAULT_LINE_LENGTH = 88
# types
syms = pygram.python_symbols
Expand Down Expand Up @@ -765,6 +765,7 @@ def whitespace(leaf: Leaf) -> str:
DOUBLESPACE = ' '
t = leaf.type
p = leaf.parent
v = leaf.value
if t == token.COLON:
return NO

Expand Down Expand Up @@ -867,7 +868,7 @@ def whitespace(leaf: Leaf) -> str:
return NO

prevp = preceding_leaf(p)
if not prevp or prevp.type == token.AT:
if not prevp or prevp.type == token.AT or prevp.type == token.DOT:
return NO

elif p.type == syms.classdef:
Expand Down Expand Up @@ -987,10 +988,19 @@ def whitespace(leaf: Leaf) -> str:
elif t == token.NAME or t == token.NUMBER:
return NO

elif p.type == syms.import_from and t == token.NAME:
prev = leaf.prev_sibling
if prev and prev.type == token.DOT:
return NO
elif p.type == syms.import_from:
if t == token.DOT:
prev = leaf.prev_sibling
if prev and prev.type == token.DOT:
return NO

elif t == token.NAME:
if v == 'import':
return SPACE

prev = leaf.prev_sibling
if prev and prev.type == token.DOT:
return NO

elif p.type == syms.sliceop:
return NO
Expand Down
30 changes: 12 additions & 18 deletions tests/import_spacing.py
Expand Up @@ -13,13 +13,12 @@
from .locks import * # comment here
from .protocols import *

from .runners import * # comment here
from .queues import *
from .streams import *
from ..runners import * # comment here
from ..queues import *
from ..streams import *

from .subprocess import *
from .tasks import *
from .transports import *
from .a.b.c.subprocess import *
from . import tasks

__all__ = (
base_events.__all__ +
Expand All @@ -31,9 +30,7 @@
runners.__all__ +
queues.__all__ +
streams.__all__ +
subprocess.__all__ +
tasks.__all__ +
transports.__all__
tasks.__all__
)


Expand All @@ -53,13 +50,12 @@
from .locks import * # comment here
from .protocols import *

from .runners import * # comment here
from .queues import *
from .streams import *
from ..runners import * # comment here
from ..queues import *
from ..streams import *

from .subprocess import *
from .tasks import *
from .transports import *
from .a.b.c.subprocess import *
from . import tasks

__all__ = (
base_events.__all__ +
Expand All @@ -71,7 +67,5 @@
runners.__all__ +
queues.__all__ +
streams.__all__ +
subprocess.__all__ +
tasks.__all__ +
transports.__all__
tasks.__all__
)

0 comments on commit e1e8909

Please sign in to comment.