We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
"manim -" is not working
I broke this when revamping the config system. Thanks @naveen521kk for reporting

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `manim/utils/module_ops.py`
Content:
```
1 from .. import constants, logger, console, config
2 import importlib.util
3 import inspect
4 import os
5 from pathlib import Path
6 import sys
7 import types
8 import re
9 
10 
11 def get_module(file_name):
12     if file_name == "-":
13         module = types.ModuleType("input_scenes")
14         logger.info(
15             "Enter the animation's code & end with an EOF (CTRL+D on Linux/Unix, CTRL+Z on Windows):"
16         )
17         code = sys.stdin.read()
18         if not code.startswith("from manim import"):
19             logger.warn(
20                 "Didn't find an import statement for Manim. Importing automatically..."
21             )
22             code = "from manim import *\n" + code
23         logger.info("Rendering animation from typed code...")
24         try:
25             exec(code, module.__dict__)
26             return module
27         except Exception as e:
28             logger.error(f"Failed to render scene: {str(e)}")
29             sys.exit(2)
30     else:
31         if Path(file_name).exists():
32             ext = file_name.suffix
33             if ext != ".py":
34                 raise ValueError(f"{file_name} is not a valid Manim python script.")
35             module_name = ext.replace(os.sep, ".").split(".")[-1]
36             spec = importlib.util.spec_from_file_location(module_name, file_name)
37             module = importlib.util.module_from_spec(spec)
38             sys.modules[module_name] = module
39             spec.loader.exec_module(module)
40             return module
41         else:
42             raise FileNotFoundError(f"{file_name} not found")
43 
44 
45 def get_scene_classes_from_module(module):
46     from ..scene.scene import Scene
47 
48     def is_child_scene(obj, module):
49         return (
50             inspect.isclass(obj)
51             and issubclass(obj, Scene)
52             and obj != Scene
53             and obj.__module__.startswith(module.__name__)
54         )
55 
56     return [
57         member[1]
58         for member in inspect.getmembers(module, lambda x: is_child_scene(x, module))
59     ]
60 
61 
62 def get_scenes_to_render(scene_classes):
63     if not scene_classes:
64         logger.error(constants.NO_SCENE_MESSAGE)
65         return []
66     if config["write_all"]:
67         return scene_classes
68     result = []
69     for scene_name in config["scene_names"]:
70         found = False
71         for scene_class in scene_classes:
72             if scene_class.__name__ == scene_name:
73                 result.append(scene_class)
74                 found = True
75                 break
76         if not found and (scene_name != ""):
77             logger.error(constants.SCENE_NOT_FOUND_MESSAGE.format(scene_name))
78     if result:
79         return result
80     return (
81         [scene_classes[0]]
82         if len(scene_classes) == 1
83         else prompt_user_for_choice(scene_classes)
84     )
85 
86 
87 def prompt_user_for_choice(scene_classes):
88     num_to_class = {}
89     for count, scene_class in enumerate(scene_classes):
90         count += 1  # start with 1 instead of 0
91         name = scene_class.__name__
92         console.print(f"{count}: {name}", style="logging.level.info")
93         num_to_class[count] = scene_class
94     try:
95         user_input = console.input(
96             f"[log.message] {constants.CHOOSE_NUMBER_MESSAGE} [/log.message]"
97         )
98         return [
99             num_to_class[int(num_str)]
100             for num_str in re.split(r"\s*,\s*", user_input.strip())
101         ]
102     except KeyError:
103         logger.error(constants.INVALID_NUMBER_MESSAGE)
104         sys.exit(2)
105     except EOFError:
106         sys.exit(1)
107
```
--- 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/manim/utils/module_ops.py b/manim/utils/module_ops.py
--- a/manim/utils/module_ops.py
+++ b/manim/utils/module_ops.py
@@ -9,7 +9,7 @@
 
 
 def get_module(file_name):
-    if file_name == "-":
+    if str(file_name) == "-":
         module = types.ModuleType("input_scenes")
         logger.info(
             "Enter the animation's code & end with an EOF (CTRL+D on Linux/Unix, CTRL+Z on Windows):"

{"golden_diff": "diff --git a/manim/utils/module_ops.py b/manim/utils/module_ops.py\n--- a/manim/utils/module_ops.py\n+++ b/manim/utils/module_ops.py\n@@ -9,7 +9,7 @@\n \n \n def get_module(file_name):\n-    if file_name == \"-\":\n+    if str(file_name) == \"-\":\n         module = types.ModuleType(\"input_scenes\")\n         logger.info(\n             \"Enter the animation's code & end with an EOF (CTRL+D on Linux/Unix, CTRL+Z on Windows):\"\n", "issue": "\"manim -\" is not working\nI broke this when revamping the config system. Thanks @naveen521kk for reporting\n", "before_files": [{"content": "from .. import constants, logger, console, config\nimport importlib.util\nimport inspect\nimport os\nfrom pathlib import Path\nimport sys\nimport types\nimport re\n\n\ndef get_module(file_name):\n    if file_name == \"-\":\n        module = types.ModuleType(\"input_scenes\")\n        logger.info(\n            \"Enter the animation's code & end with an EOF (CTRL+D on Linux/Unix, CTRL+Z on Windows):\"\n        )\n        code = sys.stdin.read()\n        if not code.startswith(\"from manim import\"):\n            logger.warn(\n                \"Didn't find an import statement for Manim. Importing automatically...\"\n            )\n            code = \"from manim import *\\n\" + code\n        logger.info(\"Rendering animation from typed code...\")\n        try:\n            exec(code, module.__dict__)\n            return module\n        except Exception as e:\n            logger.error(f\"Failed to render scene: {str(e)}\")\n            sys.exit(2)\n    else:\n        if Path(file_name).exists():\n            ext = file_name.suffix\n            if ext != \".py\":\n                raise ValueError(f\"{file_name} is not a valid Manim python script.\")\n            module_name = ext.replace(os.sep, \".\").split(\".\")[-1]\n            spec = importlib.util.spec_from_file_location(module_name, file_name)\n            module = importlib.util.module_from_spec(spec)\n            sys.modules[module_name] = module\n            spec.loader.exec_module(module)\n            return module\n        else:\n            raise FileNotFoundError(f\"{file_name} not found\")\n\n\ndef get_scene_classes_from_module(module):\n    from ..scene.scene import Scene\n\n    def is_child_scene(obj, module):\n        return (\n            inspect.isclass(obj)\n            and issubclass(obj, Scene)\n            and obj != Scene\n            and obj.__module__.startswith(module.__name__)\n        )\n\n    return [\n        member[1]\n        for member in inspect.getmembers(module, lambda x: is_child_scene(x, module))\n    ]\n\n\ndef get_scenes_to_render(scene_classes):\n    if not scene_classes:\n        logger.error(constants.NO_SCENE_MESSAGE)\n        return []\n    if config[\"write_all\"]:\n        return scene_classes\n    result = []\n    for scene_name in config[\"scene_names\"]:\n        found = False\n        for scene_class in scene_classes:\n            if scene_class.__name__ == scene_name:\n                result.append(scene_class)\n                found = True\n                break\n        if not found and (scene_name != \"\"):\n            logger.error(constants.SCENE_NOT_FOUND_MESSAGE.format(scene_name))\n    if result:\n        return result\n    return (\n        [scene_classes[0]]\n        if len(scene_classes) == 1\n        else prompt_user_for_choice(scene_classes)\n    )\n\n\ndef prompt_user_for_choice(scene_classes):\n    num_to_class = {}\n    for count, scene_class in enumerate(scene_classes):\n        count += 1  # start with 1 instead of 0\n        name = scene_class.__name__\n        console.print(f\"{count}: {name}\", style=\"logging.level.info\")\n        num_to_class[count] = scene_class\n    try:\n        user_input = console.input(\n            f\"[log.message] {constants.CHOOSE_NUMBER_MESSAGE} [/log.message]\"\n        )\n        return [\n            num_to_class[int(num_str)]\n            for num_str in re.split(r\"\\s*,\\s*\", user_input.strip())\n        ]\n    except KeyError:\n        logger.error(constants.INVALID_NUMBER_MESSAGE)\n        sys.exit(2)\n    except EOFError:\n        sys.exit(1)\n", "path": "manim/utils/module_ops.py"}], "after_files": [{"content": "from .. import constants, logger, console, config\nimport importlib.util\nimport inspect\nimport os\nfrom pathlib import Path\nimport sys\nimport types\nimport re\n\n\ndef get_module(file_name):\n    if str(file_name) == \"-\":\n        module = types.ModuleType(\"input_scenes\")\n        logger.info(\n            \"Enter the animation's code & end with an EOF (CTRL+D on Linux/Unix, CTRL+Z on Windows):\"\n        )\n        code = sys.stdin.read()\n        if not code.startswith(\"from manim import\"):\n            logger.warn(\n                \"Didn't find an import statement for Manim. Importing automatically...\"\n            )\n            code = \"from manim import *\\n\" + code\n        logger.info(\"Rendering animation from typed code...\")\n        try:\n            exec(code, module.__dict__)\n            return module\n        except Exception as e:\n            logger.error(f\"Failed to render scene: {str(e)}\")\n            sys.exit(2)\n    else:\n        if Path(file_name).exists():\n            ext = file_name.suffix\n            if ext != \".py\":\n                raise ValueError(f\"{file_name} is not a valid Manim python script.\")\n            module_name = ext.replace(os.sep, \".\").split(\".\")[-1]\n            spec = importlib.util.spec_from_file_location(module_name, file_name)\n            module = importlib.util.module_from_spec(spec)\n            sys.modules[module_name] = module\n            spec.loader.exec_module(module)\n            return module\n        else:\n            raise FileNotFoundError(f\"{file_name} not found\")\n\n\ndef get_scene_classes_from_module(module):\n    from ..scene.scene import Scene\n\n    def is_child_scene(obj, module):\n        return (\n            inspect.isclass(obj)\n            and issubclass(obj, Scene)\n            and obj != Scene\n            and obj.__module__.startswith(module.__name__)\n        )\n\n    return [\n        member[1]\n        for member in inspect.getmembers(module, lambda x: is_child_scene(x, module))\n    ]\n\n\ndef get_scenes_to_render(scene_classes):\n    if not scene_classes:\n        logger.error(constants.NO_SCENE_MESSAGE)\n        return []\n    if config[\"write_all\"]:\n        return scene_classes\n    result = []\n    for scene_name in config[\"scene_names\"]:\n        found = False\n        for scene_class in scene_classes:\n            if scene_class.__name__ == scene_name:\n                result.append(scene_class)\n                found = True\n                break\n        if not found and (scene_name != \"\"):\n            logger.error(constants.SCENE_NOT_FOUND_MESSAGE.format(scene_name))\n    if result:\n        return result\n    return (\n        [scene_classes[0]]\n        if len(scene_classes) == 1\n        else prompt_user_for_choice(scene_classes)\n    )\n\n\ndef prompt_user_for_choice(scene_classes):\n    num_to_class = {}\n    for count, scene_class in enumerate(scene_classes):\n        count += 1  # start with 1 instead of 0\n        name = scene_class.__name__\n        console.print(f\"{count}: {name}\", style=\"logging.level.info\")\n        num_to_class[count] = scene_class\n    try:\n        user_input = console.input(\n            f\"[log.message] {constants.CHOOSE_NUMBER_MESSAGE} [/log.message]\"\n        )\n        return [\n            num_to_class[int(num_str)]\n            for num_str in re.split(r\"\\s*,\\s*\", user_input.strip())\n        ]\n    except KeyError:\n        logger.error(constants.INVALID_NUMBER_MESSAGE)\n        sys.exit(2)\n    except EOFError:\n        sys.exit(1)\n", "path": "manim/utils/module_ops.py"}]}