The following issues were found
src/textual/view.py
51 issues
Line: 6
Column: 1
from itertools import chain
from typing import Callable, Iterable, ClassVar, TYPE_CHECKING
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
import rich.repr
from rich.style import Style
from . import events
from . import log
Reported by Pylint.
Line: 7
Column: 1
from typing import Callable, Iterable, ClassVar, TYPE_CHECKING
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
import rich.repr
from rich.style import Style
from . import events
from . import log
from .layout import Layout, NoWidget
Reported by Pylint.
Line: 8
Column: 1
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
import rich.repr
from rich.style import Style
from . import events
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
Reported by Pylint.
Line: 10
Column: 1
import rich.repr
from rich.style import Style
from . import events
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
Reported by Pylint.
Line: 11
Column: 1
from rich.style import Style
from . import events
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
Reported by Pylint.
Line: 12
Column: 1
from . import events
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
from .widget import Widget, Widget
Reported by Pylint.
Line: 13
Column: 1
from . import events
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
from .widget import Widget, Widget
Reported by Pylint.
Line: 14
Column: 1
from . import log
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
from .widget import Widget, Widget
Reported by Pylint.
Line: 15
Column: 1
from .layout import Layout, NoWidget
from .geometry import Size, Offset, Region
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
from .widget import Widget, Widget
if TYPE_CHECKING:
Reported by Pylint.
Line: 17
Column: 1
from .messages import UpdateMessage, LayoutMessage
from .reactive import Reactive, watch
from .widget import Widget, Widget
if TYPE_CHECKING:
from .app import App
Reported by Pylint.
src/textual/layouts/grid.py
49 issues
Line: 11
Column: 1
import sys
from typing import Iterable, NamedTuple
from rich.console import Console
from .._layout_resolve import layout_resolve
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
Reported by Pylint.
Line: 13
Column: 1
from rich.console import Console
from .._layout_resolve import layout_resolve
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget
Reported by Pylint.
Line: 14
Column: 1
from rich.console import Console
from .._layout_resolve import layout_resolve
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget
if sys.version_info >= (3, 8):
Reported by Pylint.
Line: 15
Column: 1
from .._layout_resolve import layout_resolve
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget
if sys.version_info >= (3, 8):
from typing import Literal
Reported by Pylint.
Line: 16
Column: 1
from .._layout_resolve import layout_resolve
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget
if sys.version_info >= (3, 8):
from typing import Literal
else:
Reported by Pylint.
Line: 17
Column: 1
from ..geometry import Size, Offset, Region
from ..layout import Layout
from ..layout_map import LayoutMap
from ..widget import Widget
if sys.version_info >= (3, 8):
from typing import Literal
else:
from typing_extensions import Literal
Reported by Pylint.
Line: 22
Column: 5
if sys.version_info >= (3, 8):
from typing import Literal
else:
from typing_extensions import Literal
log = getLogger("rich")
GridAlign = Literal["start", "end", "center", "stretch"]
Reported by Pylint.
Line: 443
Column: 5
layout.add_areas(center="a-start|b-end,top")
# layout.set_repeat(True)
from ..widgets import Placeholder
layout.place(center=Placeholder())
from rich import print
Reported by Pylint.
Line: 447
Column: 5
layout.place(center=Placeholder())
from rich import print
print(layout.widgets)
map = layout.generate_map(100, 80)
print(map)
Reported by Pylint.
Line: 451
Column: 11
print(layout.widgets)
map = layout.generate_map(100, 80)
print(map)
Reported by Pylint.
src/textual/_linux_driver.py
47 issues
Line: 16
Column: 5
from threading import Event, Thread
if TYPE_CHECKING:
from rich.console import Console
from . import events
from .driver import Driver
from .geometry import Size
Reported by Pylint.
Line: 19
Column: 1
from rich.console import Console
from . import events
from .driver import Driver
from .geometry import Size
from ._types import MessageTarget
from ._xterm_parser import XTermParser
Reported by Pylint.
Line: 20
Column: 1
from . import events
from .driver import Driver
from .geometry import Size
from ._types import MessageTarget
from ._xterm_parser import XTermParser
Reported by Pylint.
Line: 21
Column: 1
from . import events
from .driver import Driver
from .geometry import Size
from ._types import MessageTarget
from ._xterm_parser import XTermParser
class LinuxDriver(Driver):
Reported by Pylint.
Line: 22
Column: 1
from . import events
from .driver import Driver
from .geometry import Size
from ._types import MessageTarget
from ._xterm_parser import XTermParser
class LinuxDriver(Driver):
def __init__(self, console: "Console", target: "MessageTarget") -> None:
Reported by Pylint.
Line: 23
Column: 1
from .driver import Driver
from .geometry import Size
from ._types import MessageTarget
from ._xterm_parser import XTermParser
class LinuxDriver(Driver):
def __init__(self, console: "Console", target: "MessageTarget") -> None:
super().__init__(console, target)
Reported by Pylint.
Line: 211
Column: 5
if __name__ == "__main__":
from time import sleep
from rich.console import Console
from . import events
console = Console()
from .app import App
Reported by Pylint.
Line: 212
Column: 5
if __name__ == "__main__":
from time import sleep
from rich.console import Console
from . import events
console = Console()
from .app import App
Reported by Pylint.
Line: 214
Column: 15
from rich.console import Console
from . import events
console = Console()
from .app import App
class MyApp(App):
async def on_mount(self, event: events.Mount) -> None:
Reported by Pylint.
Line: 216
Column: 5
console = Console()
from .app import App
class MyApp(App):
async def on_mount(self, event: events.Mount) -> None:
self.set_timer(5, callback=self.close_messages)
Reported by Pylint.
src/textual/widgets/_tree_control.py
45 issues
Line: 5
Column: 1
from typing import Any, Generic, NewType, TypeVar
from rich.console import Console, ConsoleOptions, RenderableType
from rich.style import Style, StyleType
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
Reported by Pylint.
Line: 7
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType
from rich.style import Style, StyleType
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
Reported by Pylint.
Line: 8
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType
from rich.style import Style, StyleType
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
from .. import log
Reported by Pylint.
Line: 9
Column: 1
from rich.style import Style, StyleType
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
from .. import log
from ..reactive import Reactive
Reported by Pylint.
Line: 10
Column: 1
from rich.style import Style, StyleType
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
Reported by Pylint.
Line: 11
Column: 1
from rich.styled import Styled
from rich.text import Text, TextType
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
from ..widget import Widget
Reported by Pylint.
Line: 13
Column: 1
from rich.tree import Tree
from rich.padding import Padding, PaddingDimensions
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
from ..widget import Widget
from ..message import Message
Reported by Pylint.
Line: 14
Column: 1
from rich.padding import Padding, PaddingDimensions
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
from ..widget import Widget
from ..message import Message
Reported by Pylint.
Line: 15
Column: 1
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
from ..widget import Widget
from ..message import Message
NodeID = NewType("NodeID", int)
Reported by Pylint.
Line: 16
Column: 1
from .. import log
from ..reactive import Reactive
from .._types import MessageTarget
from ..widget import Widget
from ..message import Message
NodeID = NewType("NodeID", int)
Reported by Pylint.
examples/calculator.py
43 issues
Line: 9
Column: 1
from decimal import Decimal
from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.padding import Padding
from rich.text import Text
from textual.app import App
Reported by Pylint.
Line: 10
Column: 1
from decimal import Decimal
from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.padding import Padding
from rich.text import Text
from textual.app import App
from textual import events
Reported by Pylint.
Line: 11
Column: 1
from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.padding import Padding
from rich.text import Text
from textual.app import App
from textual import events
from textual.reactive import Reactive
Reported by Pylint.
Line: 12
Column: 1
from rich.align import Align
from rich.console import Console, ConsoleOptions, RenderResult, RenderableType
from rich.padding import Padding
from rich.text import Text
from textual.app import App
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
Reported by Pylint.
Line: 14
Column: 1
from rich.padding import Padding
from rich.text import Text
from textual.app import App
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
Reported by Pylint.
Line: 15
Column: 1
from rich.text import Text
from textual.app import App
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
Reported by Pylint.
Line: 16
Column: 1
from textual.app import App
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
try:
Reported by Pylint.
Line: 17
Column: 1
from textual.app import App
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
try:
from pyfiglet import Figlet
Reported by Pylint.
Line: 18
Column: 1
from textual import events
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
try:
from pyfiglet import Figlet
except ImportError:
Reported by Pylint.
Line: 19
Column: 1
from textual.reactive import Reactive
from textual.views import GridView
from textual.widget import Widget
from textual.widgets import Button, ButtonPressed
try:
from pyfiglet import Figlet
except ImportError:
print("Please install pyfiglet to run this example")
Reported by Pylint.
src/textual/page.py
39 issues
Line: 5
Column: 1
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.padding import Padding, PaddingDimensions
from rich.segment import Segment
from rich.style import StyleType
from .geometry import Size, Offset
Reported by Pylint.
Line: 6
Column: 1
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.padding import Padding, PaddingDimensions
from rich.segment import Segment
from rich.style import StyleType
from .geometry import Size, Offset
from .message import Message
Reported by Pylint.
Line: 7
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.padding import Padding, PaddingDimensions
from rich.segment import Segment
from rich.style import StyleType
from .geometry import Size, Offset
from .message import Message
from .widget import Widget, Reactive
Reported by Pylint.
Line: 8
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.padding import Padding, PaddingDimensions
from rich.segment import Segment
from rich.style import StyleType
from .geometry import Size, Offset
from .message import Message
from .widget import Widget, Reactive
Reported by Pylint.
Line: 10
Column: 1
from rich.segment import Segment
from rich.style import StyleType
from .geometry import Size, Offset
from .message import Message
from .widget import Widget, Reactive
log = getLogger("rich")
Reported by Pylint.
Line: 11
Column: 1
from rich.style import StyleType
from .geometry import Size, Offset
from .message import Message
from .widget import Widget, Reactive
log = getLogger("rich")
Reported by Pylint.
Line: 12
Column: 1
from .geometry import Size, Offset
from .message import Message
from .widget import Widget, Reactive
log = getLogger("rich")
class PageUpdate(Message):
Reported by Pylint.
Line: 114
Column: 9
return max(0, value)
async def watch_scroll_x(self, new: int) -> None:
x, y = self._page.offset
self._page.offset = Offset(new, y)
async def watch_scroll_y(self, new: int) -> None:
x, y = self._page.offset
self._page.offset = Offset(x, new)
Reported by Pylint.
Line: 118
Column: 12
self._page.offset = Offset(new, y)
async def watch_scroll_y(self, new: int) -> None:
x, y = self._page.offset
self._page.offset = Offset(x, new)
def update(self, renderable: RenderableType | None = None) -> None:
if renderable:
self._page.update(renderable)
Reported by Pylint.
Line: 1
Column: 1
from __future__ import annotations
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType, RenderResult
from rich.padding import Padding, PaddingDimensions
from rich.segment import Segment
from rich.style import StyleType
Reported by Pylint.
src/textual/_parser.py
26 issues
Line: 5
Column: 1
from collections import deque
import io
from typing import (
Callable,
Deque,
Generator,
TypeVar,
Generic,
Reported by Pylint.
Line: 82
Column: 20
self._gen = self.parse(self._tokens.append)
self._awaiting = next(self._gen)
def feed(self, data: str) -> Iterable[T]:
if self._eof:
raise ParseError("end of file reached") from None
if not data:
self._eof = True
Reported by Pylint.
Line: 158
Column: 21
while tokens:
yield popleft()
def parse(self, on_token: Callable[[T], None]) -> Generator[Awaitable, str, None]:
return
yield
if __name__ == "__main__":
Reported by Pylint.
Line: 160
Column: 9
def parse(self, on_token: Callable[[T], None]) -> Generator[Awaitable, str, None]:
return
yield
if __name__ == "__main__":
data = "Where there is a Will there is a way!"
Reported by Pylint.
Line: 170
Column: 13
def parse(
self, on_token: Callable[[str], None]
) -> Generator[Awaitable, str, None]:
data = yield self.read1()
while True:
data = yield self.read1()
if not data:
break
on_token(data)
Reported by Pylint.
Line: 179
Column: 5
test_parser = TestParser()
import time
for n in range(0, len(data), 5):
for token in test_parser.feed(data[n : n + 5]):
print(token)
for token in test_parser.feed(""):
Reported by Pylint.
Line: 1
Column: 1
from __future__ import annotations
from collections import deque
import io
from typing import (
Callable,
Deque,
Generator,
TypeVar,
Reported by Pylint.
Line: 17
Column: 1
)
class ParseError(Exception):
pass
class ParseEOF(ParseError):
"""End of Stream."""
Reported by Pylint.
Line: 25
Column: 1
"""End of Stream."""
class Awaitable:
__slots__: list[str] = []
class _Read(Awaitable):
__slots__ = ["remaining"]
Reported by Pylint.
Line: 25
Column: 1
"""End of Stream."""
class Awaitable:
__slots__: list[str] = []
class _Read(Awaitable):
__slots__ = ["remaining"]
Reported by Pylint.
src/textual/views/_window_view.py
25 issues
Line: 3
Column: 1
from __future__ import annotations
from rich.console import RenderableType
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
Reported by Pylint.
Line: 5
Column: 1
from rich.console import RenderableType
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
Reported by Pylint.
Line: 6
Column: 1
from rich.console import RenderableType
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
Reported by Pylint.
Line: 7
Column: 1
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
Reported by Pylint.
Line: 8
Column: 1
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
Reported by Pylint.
Line: 9
Column: 1
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
Reported by Pylint.
Line: 10
Column: 1
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
class WindowChange(Message):
Reported by Pylint.
Line: 11
Column: 1
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
class WindowChange(Message):
pass
Reported by Pylint.
Line: 12
Column: 1
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
from ..widgets import Static
class WindowChange(Message):
pass
Reported by Pylint.
Line: 6
Column: 1
from rich.console import RenderableType
from .. import events
from ..geometry import Offset, Size
from ..layouts.vertical import VerticalLayout
from ..view import View
from ..message import Message
from ..messages import UpdateMessage
from ..widget import Widget
Reported by Pylint.
src/textual/widgets/_header.py
25 issues
Line: 4
Column: 1
from datetime import datetime
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
Reported by Pylint.
Line: 5
Column: 1
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
Reported by Pylint.
Line: 6
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
from .. import events
Reported by Pylint.
Line: 7
Column: 1
from rich.console import Console, ConsoleOptions, RenderableType
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
from .. import events
from ..widget import Widget
Reported by Pylint.
Line: 8
Column: 1
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
from .. import events
from ..widget import Widget
from ..reactive import watch, Reactive
Reported by Pylint.
Line: 9
Column: 1
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
from .. import events
from ..widget import Widget
from ..reactive import watch, Reactive
Reported by Pylint.
Line: 11
Column: 1
from rich.table import Table
from rich.text import TextType
from .. import events
from ..widget import Widget
from ..reactive import watch, Reactive
log = getLogger("rich")
Reported by Pylint.
Line: 12
Column: 1
from rich.text import TextType
from .. import events
from ..widget import Widget
from ..reactive import watch, Reactive
log = getLogger("rich")
Reported by Pylint.
Line: 13
Column: 1
from .. import events
from ..widget import Widget
from ..reactive import watch, Reactive
log = getLogger("rich")
class Header(Widget):
Reported by Pylint.
Line: 4
Column: 1
from datetime import datetime
from logging import getLogger
from rich.console import Console, ConsoleOptions, RenderableType
from rich.panel import Panel
from rich.repr import rich_repr, Result
from rich.style import StyleType
from rich.table import Table
from rich.text import TextType
Reported by Pylint.
src/textual/widgets/_directory_tree.py
23 issues
Line: 7
Column: 1
from os import scandir
import os.path
from rich.console import RenderableType
import rich.repr
from rich.text import Text
from rich.tree import Tree
from .. import events
Reported by Pylint.
Line: 8
Column: 1
import os.path
from rich.console import RenderableType
import rich.repr
from rich.text import Text
from rich.tree import Tree
from .. import events
from ..message import Message
Reported by Pylint.
Line: 9
Column: 1
from rich.console import RenderableType
import rich.repr
from rich.text import Text
from rich.tree import Tree
from .. import events
from ..message import Message
from .._types import MessageTarget
Reported by Pylint.
Line: 10
Column: 1
from rich.console import RenderableType
import rich.repr
from rich.text import Text
from rich.tree import Tree
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
Reported by Pylint.
Line: 12
Column: 1
from rich.text import Text
from rich.tree import Tree
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
Reported by Pylint.
Line: 13
Column: 1
from rich.tree import Tree
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
@dataclass
Reported by Pylint.
Line: 14
Column: 1
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
@dataclass
class DirEntry:
Reported by Pylint.
Line: 15
Column: 1
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
@dataclass
class DirEntry:
path: str
Reported by Pylint.
Line: 10
Column: 1
from rich.console import RenderableType
import rich.repr
from rich.text import Text
from rich.tree import Tree
from .. import events
from ..message import Message
from .._types import MessageTarget
from . import TreeControl, TreeClick, TreeNode, NodeID
Reported by Pylint.
Line: 66
Column: 30
icon_label.apply_meta(meta)
return icon_label
async def on_mount(self, event: events.Mount) -> None:
await self.load_directory(self.root)
async def load_directory(self, node: TreeNode[DirEntry]):
path = node.data.path
directory = sorted(
Reported by Pylint.