diff --git a/.efrocachemap b/.efrocachemap index 02eef2d7..6ab041ee 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4080,18 +4080,18 @@ "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/58/55/8451262689d989ea20afb41de14c", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/4f/52/dce0af89103a5a03d1bb5782e7d0", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/78/64/c34c3f8fb8bce1e08da4438b3350", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/13/2a/fb167b1965bf3ca42119752d6ee2", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/d9/d3/f2534b750f825306be86e8a4e33c", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/14/fb/35f54fb4b97377263f6305bd45c1", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1c/9a/0254de072276e6b91ae6263a85d1", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ac/2b/5674c57bbf90e1960a3d374fb259", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/7b/7b/b41669c7b97755276ab1cbdcb92f", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/44/8f/77ce1cdbe24402790934d8456cf6", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fe/2c/2b5c06695ec891ca8d0d8d7c45bc", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/f2/7b/7efa84c6410a671cf97586614669", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/38/a3/cb7f11f0b08bc8a3905e6e75acc3", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/62/83/cb684ce43b1107b2142c3a815c5a", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/f6/6e/657e14ff3c06d29ad2541647b191", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/81/92/588ad98e7d2239c7c93ce7c12513", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/57/99/d59f41ae43a3fcb78c5938fb5400", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/a4/93/ffd30c21a736ffa4c444affeb880", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/ed/58/2b7bc79d98a4c317d8b8edf959b7", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/38/59/94bc622dbb1266ef0beddae47960", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/3a/b9/d2b65f3a1144857a6d7876fe3c5d", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/d9/69/31178d0400435915eef3a57b7dc0", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/91/84/64a2941c8a465e32f78198b1af1b", "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fd/89/44e2ebc1017c94053d3df1f6cb8a", "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/38/d7/7110069365b22bee424f36e1bf5a", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/6c/89/1c44605fe89b5faa9b1061455838", @@ -4108,14 +4108,14 @@ "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/58/12/59092d28e6e8e1923dfff8d7e5de", "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2e/a0/a2a78934c1193505f3d62989a152", "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/67/56/ea651dddf9502c0513f29fb1a8c0", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/dd/f9/bd44a01e2a9ea3e7b8447fe9ba14", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/10/da/f0e257288f791617e39964e3574b", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/a6/a0/8af0b0f7dcd39a4344b6c80a5337", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/a4/f9/783d551d07a180edf4890d0179a7", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/11/b6/c7b7b6d06f88b16f0658b250779c", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/de/d7/cfcd914aca8ce6965c5909cbefc4", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/df/84/2e43399b6e5f1a2d7cdcb2e4b34c", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/24/dc/c65be65095e292f0e4e04ad71c8a", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/2f/3d/64cb8a6a5cb2bcf78393a42ff099", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/f4/45/99242dbb1e89b39fd5a56ea981da", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/9f/81/6f38faaba336a4ec79d59e6b35eb", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/09/d1/8eca404f15f194fd1f63e69704e4", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/59/0b/242de4373174cfeb4f24e20c2349", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/16/33/3c0a9952f075e1285d8e641505dc", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/5d/51/ab816cc1673f3035a752535b6e9c", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/9a/d9/432c2b34912f7db690d2a1a07fd2", "src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa", "src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1", "src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/ea/6a/6a4721b144e5e297b542d2a0eea2", diff --git a/.idea/scopes/PyIgnoreUnresolved.xml b/.idea/scopes/PyIgnoreUnresolved.xml index 25bc847f..d469c4f5 100644 --- a/.idea/scopes/PyIgnoreUnresolved.xml +++ b/.idea/scopes/PyIgnoreUnresolved.xml @@ -1,3 +1,3 @@ - - + + \ No newline at end of file diff --git a/config/featuresets/featureset_ui_v1.py b/config/featuresets/featureset_ui_v1.py index 45daf7e1..ea22ddbf 100644 --- a/config/featuresets/featureset_ui_v1.py +++ b/config/featuresets/featureset_ui_v1.py @@ -1,6 +1,6 @@ # Released under the MIT License. See LICENSE for details. # -# pylint: disable=missing-module-docstring, invalid-name +# pylint: disable=useless-suppression, missing-docstring, invalid-name from __future__ import annotations # This file is exec'ed by the spinoff system, allowing us to define @@ -8,6 +8,7 @@ from __future__ import annotations # that can also be type-checked alongside other project Python code. from batools.featureset import FeatureSet +from batools.dummymodule import DummyModuleDef # Grab the FeatureSet we should apply to. fset = FeatureSet.get_active() @@ -19,3 +20,11 @@ fset.has_python_app_subsystem = True # We'd prefer our name's title form to be 'UI V1', not the default 'Ui V1'. fset.name_title = 'UI V1' + + +# Customize how our dummy module is generated. +class OurDummyModuleDef(DummyModuleDef): + pass + + +fset.dummy_module_def = OurDummyModuleDef() diff --git a/src/assets/ba_data/python/babase/__init__.py b/src/assets/ba_data/python/babase/__init__.py index f942ea79..7dc76c58 100644 --- a/src/assets/ba_data/python/babase/__init__.py +++ b/src/assets/ba_data/python/babase/__init__.py @@ -69,6 +69,9 @@ from babase._plugin import PotentialPlugin, Plugin, PluginSubsystem from babase._app import App from babase._cloud import CloudSubsystem from babase._net import get_ip_address_type + +# noinspection PyProtectedMember +# (PyCharm inspection bug?) from babase._mgen.enums import ( Permission, SpecialChar, diff --git a/src/assets/ba_data/python/babase/modutils.py b/src/assets/ba_data/python/babase/modutils.py index 2c5d5335..e5bbd69b 100644 --- a/src/assets/ba_data/python/babase/modutils.py +++ b/src/assets/ba_data/python/babase/modutils.py @@ -46,6 +46,9 @@ def get_human_readable_user_scripts_path() -> str: def _request_storage_permission() -> bool: """If needed, requests storage permission from the user (& return true).""" from babase._language import Lstr + + # noinspection PyProtectedMember + # (PyCharm inspection bug?) from babase._mgen.enums import Permission if not _babase.have_permission(Permission.STORAGE): diff --git a/tools/bacloud b/tools/bacloud index d074af6a..ca9902a7 100755 --- a/tools/bacloud +++ b/tools/bacloud @@ -30,7 +30,7 @@ from efro.dataclassio import ( from bacommon.bacloud import RequestData, ResponseData, BACLOUD_VERSION if TYPE_CHECKING: - from typing import BinaryIO, IO + from typing import IO TOOL_NAME = 'bacloud' @@ -367,6 +367,7 @@ class App: if response.end_command is not None: nextcall = response.end_command for key, val in self._end_command_args.items(): + # noinspection PyUnresolvedReferences nextcall[1][key] = val diff --git a/tools/batools/dummymodule.py b/tools/batools/dummymodule.py index c1864727..3bdb2a75 100755 --- a/tools/batools/dummymodule.py +++ b/tools/batools/dummymodule.py @@ -12,7 +12,6 @@ from __future__ import annotations import os -# import sys import types import textwrap import subprocess @@ -27,6 +26,10 @@ if TYPE_CHECKING: from batools.docs import AttributeInfo +class DummyModuleDef: + """Defines custom dummy module generation behavior.""" + + def _get_varying_func_info(sig_in: str) -> tuple[str, str]: """Return overloaded signatures and return statements for varying funcs.""" returns = 'return None' @@ -894,6 +897,7 @@ class Generator: def generate_dummy_modules(projroot: str) -> None: """Generate all dummy-modules.""" + # pylint: disable=cyclic-import from batools.featureset import FeatureSet diff --git a/tools/batools/featureset.py b/tools/batools/featureset.py index d037e35c..42351f5f 100644 --- a/tools/batools/featureset.py +++ b/tools/batools/featureset.py @@ -15,6 +15,7 @@ from typing import TYPE_CHECKING from efro.util import snake_case_to_title from efro.error import CleanError +from batools.dummymodule import DummyModuleDef if TYPE_CHECKING: pass @@ -81,13 +82,16 @@ class FeatureSet: # know). self.allow_as_soft_requirement = False - self.validate_name(name) + # Override this to customize how your dummy module is generated. + self.dummy_module_def = DummyModuleDef() # Paths of files we should disable c++ namespace checks for. # (generally external-originating code that doesn't conform to our # ballistica feature-set based namespace scheme) self.cpp_namespace_check_disable_files = set[str]() + self.validate_name(name) + # Our standard snake_case name. self._name = name