Fix invalid spacing of dots in relative imports

Fixes #6
Fixes #13
This commit is contained in:
Łukasz Langa 2018-03-15 11:21:53 -07:00 committed by Lukasz Langa
parent 76e6acb9ca
commit e1e89091d1
3 changed files with 33 additions and 24 deletions

View File

@ -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!

View File

@ -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
@ -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
@ -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:
@ -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

View File

@ -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__ +
@ -31,9 +30,7 @@
runners.__all__ +
queues.__all__ +
streams.__all__ +
subprocess.__all__ +
tasks.__all__ +
transports.__all__
tasks.__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__ +
@ -71,7 +67,5 @@
runners.__all__ +
queues.__all__ +
streams.__all__ +
subprocess.__all__ +
tasks.__all__ +
transports.__all__
tasks.__all__
)