We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
SyntaxWarning for loading indicator widget
I receive this warning after upgrading to `0.52.0`:

```
/Users/cthompson/Library/Caches/pypoetry/virtualenvs/dolphie-z84eXs3q-py3.11/lib/python3.11/site-packages/textual/widgets/_loading_indicator.py:57: SyntaxWarning: "is" with a literal. Did you mean "=="?
  if self.app.animation_level is "none":
```

https://github.com/Textualize/textual/blob/main/src/textual/widgets/_loading_indicator.py#L57

Seems we just need to change `is "none"` to `== "none"`

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/textual/widgets/_loading_indicator.py`
Content:
```
1 from __future__ import annotations
2 
3 from time import time
4 
5 from rich.console import RenderableType
6 from rich.style import Style
7 from rich.text import Text
8 
9 from ..color import Gradient
10 from ..events import Mount
11 from ..widget import Widget
12 
13 
14 class LoadingIndicator(Widget):
15     """Display an animated loading indicator."""
16 
17     DEFAULT_CSS = """
18     LoadingIndicator {
19         width: 100%;
20         height: 100%;
21         min-height: 1;
22         content-align: center middle;
23         color: $accent;
24     }
25     LoadingIndicator.-textual-loading-indicator {
26         layer: _loading;
27         background: $boost;
28         dock: top;
29     }
30     """
31 
32     def __init__(
33         self,
34         name: str | None = None,
35         id: str | None = None,
36         classes: str | None = None,
37         disabled: bool = False,
38     ):
39         """Initialize a loading indicator.
40 
41         Args:
42             name: The name of the widget.
43             id: The ID of the widget in the DOM.
44             classes: The CSS classes for the widget.
45             disabled: Whether the widget is disabled or not.
46         """
47         super().__init__(name=name, id=id, classes=classes, disabled=disabled)
48 
49         self._start_time: float = 0.0
50         """The time the loading indicator was mounted (a Unix timestamp)."""
51 
52     def _on_mount(self, _: Mount) -> None:
53         self._start_time = time()
54         self.auto_refresh = 1 / 16
55 
56     def render(self) -> RenderableType:
57         if self.app.animation_level is "none":
58             return Text("Loading...")
59 
60         elapsed = time() - self._start_time
61         speed = 0.8
62         dot = "\u25cf"
63         _, _, background, color = self.colors
64 
65         gradient = Gradient(
66             (0.0, background.blend(color, 0.1)),
67             (0.7, color),
68             (1.0, color.lighten(0.1)),
69         )
70 
71         blends = [(elapsed * speed - dot_number / 8) % 1 for dot_number in range(5)]
72 
73         dots = [
74             (
75                 f"{dot} ",
76                 Style.from_color(gradient.get_color((1 - blend) ** 2).rich_color),
77             )
78             for blend in blends
79         ]
80         indicator = Text.assemble(*dots)
81         indicator.rstrip()
82         return indicator
83
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/src/textual/widgets/_loading_indicator.py b/src/textual/widgets/_loading_indicator.py
--- a/src/textual/widgets/_loading_indicator.py
+++ b/src/textual/widgets/_loading_indicator.py
@@ -54,7 +54,7 @@
         self.auto_refresh = 1 / 16
 
     def render(self) -> RenderableType:
-        if self.app.animation_level is "none":
+        if self.app.animation_level == "none":
             return Text("Loading...")
 
         elapsed = time() - self._start_time

{"golden_diff": "diff --git a/src/textual/widgets/_loading_indicator.py b/src/textual/widgets/_loading_indicator.py\n--- a/src/textual/widgets/_loading_indicator.py\n+++ b/src/textual/widgets/_loading_indicator.py\n@@ -54,7 +54,7 @@\n         self.auto_refresh = 1 / 16\n \n     def render(self) -> RenderableType:\n-        if self.app.animation_level is \"none\":\n+        if self.app.animation_level == \"none\":\n             return Text(\"Loading...\")\n \n         elapsed = time() - self._start_time\n", "issue": "SyntaxWarning for loading indicator widget\nI receive this warning after upgrading to `0.52.0`:\r\n\r\n```\r\n/Users/cthompson/Library/Caches/pypoetry/virtualenvs/dolphie-z84eXs3q-py3.11/lib/python3.11/site-packages/textual/widgets/_loading_indicator.py:57: SyntaxWarning: \"is\" with a literal. Did you mean \"==\"?\r\n  if self.app.animation_level is \"none\":\r\n```\r\n\r\nhttps://github.com/Textualize/textual/blob/main/src/textual/widgets/_loading_indicator.py#L57\r\n\r\nSeems we just need to change `is \"none\"` to `== \"none\"`\n", "before_files": [{"content": "from __future__ import annotations\n\nfrom time import time\n\nfrom rich.console import RenderableType\nfrom rich.style import Style\nfrom rich.text import Text\n\nfrom ..color import Gradient\nfrom ..events import Mount\nfrom ..widget import Widget\n\n\nclass LoadingIndicator(Widget):\n    \"\"\"Display an animated loading indicator.\"\"\"\n\n    DEFAULT_CSS = \"\"\"\n    LoadingIndicator {\n        width: 100%;\n        height: 100%;\n        min-height: 1;\n        content-align: center middle;\n        color: $accent;\n    }\n    LoadingIndicator.-textual-loading-indicator {\n        layer: _loading;\n        background: $boost;\n        dock: top;\n    }\n    \"\"\"\n\n    def __init__(\n        self,\n        name: str | None = None,\n        id: str | None = None,\n        classes: str | None = None,\n        disabled: bool = False,\n    ):\n        \"\"\"Initialize a loading indicator.\n\n        Args:\n            name: The name of the widget.\n            id: The ID of the widget in the DOM.\n            classes: The CSS classes for the widget.\n            disabled: Whether the widget is disabled or not.\n        \"\"\"\n        super().__init__(name=name, id=id, classes=classes, disabled=disabled)\n\n        self._start_time: float = 0.0\n        \"\"\"The time the loading indicator was mounted (a Unix timestamp).\"\"\"\n\n    def _on_mount(self, _: Mount) -> None:\n        self._start_time = time()\n        self.auto_refresh = 1 / 16\n\n    def render(self) -> RenderableType:\n        if self.app.animation_level is \"none\":\n            return Text(\"Loading...\")\n\n        elapsed = time() - self._start_time\n        speed = 0.8\n        dot = \"\\u25cf\"\n        _, _, background, color = self.colors\n\n        gradient = Gradient(\n            (0.0, background.blend(color, 0.1)),\n            (0.7, color),\n            (1.0, color.lighten(0.1)),\n        )\n\n        blends = [(elapsed * speed - dot_number / 8) % 1 for dot_number in range(5)]\n\n        dots = [\n            (\n                f\"{dot} \",\n                Style.from_color(gradient.get_color((1 - blend) ** 2).rich_color),\n            )\n            for blend in blends\n        ]\n        indicator = Text.assemble(*dots)\n        indicator.rstrip()\n        return indicator\n", "path": "src/textual/widgets/_loading_indicator.py"}], "after_files": [{"content": "from __future__ import annotations\n\nfrom time import time\n\nfrom rich.console import RenderableType\nfrom rich.style import Style\nfrom rich.text import Text\n\nfrom ..color import Gradient\nfrom ..events import Mount\nfrom ..widget import Widget\n\n\nclass LoadingIndicator(Widget):\n    \"\"\"Display an animated loading indicator.\"\"\"\n\n    DEFAULT_CSS = \"\"\"\n    LoadingIndicator {\n        width: 100%;\n        height: 100%;\n        min-height: 1;\n        content-align: center middle;\n        color: $accent;\n    }\n    LoadingIndicator.-textual-loading-indicator {\n        layer: _loading;\n        background: $boost;\n        dock: top;\n    }\n    \"\"\"\n\n    def __init__(\n        self,\n        name: str | None = None,\n        id: str | None = None,\n        classes: str | None = None,\n        disabled: bool = False,\n    ):\n        \"\"\"Initialize a loading indicator.\n\n        Args:\n            name: The name of the widget.\n            id: The ID of the widget in the DOM.\n            classes: The CSS classes for the widget.\n            disabled: Whether the widget is disabled or not.\n        \"\"\"\n        super().__init__(name=name, id=id, classes=classes, disabled=disabled)\n\n        self._start_time: float = 0.0\n        \"\"\"The time the loading indicator was mounted (a Unix timestamp).\"\"\"\n\n    def _on_mount(self, _: Mount) -> None:\n        self._start_time = time()\n        self.auto_refresh = 1 / 16\n\n    def render(self) -> RenderableType:\n        if self.app.animation_level == \"none\":\n            return Text(\"Loading...\")\n\n        elapsed = time() - self._start_time\n        speed = 0.8\n        dot = \"\\u25cf\"\n        _, _, background, color = self.colors\n\n        gradient = Gradient(\n            (0.0, background.blend(color, 0.1)),\n            (0.7, color),\n            (1.0, color.lighten(0.1)),\n        )\n\n        blends = [(elapsed * speed - dot_number / 8) % 1 for dot_number in range(5)]\n\n        dots = [\n            (\n                f\"{dot} \",\n                Style.from_color(gradient.get_color((1 - blend) ** 2).rich_color),\n            )\n            for blend in blends\n        ]\n        indicator = Text.assemble(*dots)\n        indicator.rstrip()\n        return indicator\n", "path": "src/textual/widgets/_loading_indicator.py"}]}