Files
blender-portable-repo/extensions/user_default/blenderkit/global_vars.py
T
2026-03-17 15:25:32 -06:00

195 lines
7.6 KiB
Python

# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####
from logging import DEBUG, INFO, WARN
from os import environ
from subprocess import Popen
from typing import Any, Optional
from . import datas
CLIENT_VERSION = "v1.7.0"
CLIENT_ACCESSIBLE = False
"""Is Client accessible? Can add-on access it and call stuff which uses it?"""
CLIENT_RUNNING = False
"""Just for on_startup_client_online_timer()."""
CLIENT_FAILED_REPORTS = 0
"""Number of failed requests to get reports from the BlenderKit-Client. If too many, something is wrong."""
CLIENT_PORTS = ["62485", "65425", "55428", "49452", "35452", "25152", "5152", "1234"]
"""Ports are ordered during the start, and later after malfunction."""
DATA: dict = { # TODO: move these
"images available": {},
"history steps": {},
"bkit notifications": None,
"asset comments": {},
}
TABS: dict[str, Any] = {
"active_tab": 0, # Index of currently active tab
"tabs": [ # List of all tabs
{
"name": "Default", # Tab name
"history": [], # List of history steps
"history_index": -1, # Current position in history
}
],
}
RATINGS: dict[str, datas.AssetRating] = {}
BKIT_PROFILE: datas.MineProfile = datas.MineProfile()
"""Profile of the current user."""
BKIT_AUTHORS: dict[int, datas.UserProfile] = {}
"""All loaded profiles of other users. Current user is also present in stripped down version. Key is the UserProfile.id."""
LOGGING_LEVEL_BLENDERKIT = INFO
# read special DEBUG env var to set logging level to DEBUG
if environ.get("BLENDERKIT_DEBUG", "0") == "1":
LOGGING_LEVEL_BLENDERKIT = DEBUG
LOGGING_LEVEL_IMPORTED = WARN
PREFS = {}
SERVER = environ.get("BLENDERKIT_SERVER", "https://www.blenderkit.com")
DISCORD_INVITE_URL = "https://discord.gg/tCKyjFMRar"
TIPS = [
(
"You can disable tips in the add-on preferences.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#preferences",
),
("Ratings help us distribute funds to creators.", f"{SERVER}/docs/rating/"),
(
"Creators also gain credits for free assets from subscribers.",
f"{SERVER}/docs/fair-share/",
),
(
"Click on or drag a model or material into the scene to link or append it.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#basic-usage",
),
(
"Press ESC while dragging a model or material to cancel the action and avoid any download.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#cancel-drag-and-drop",
),
(
"During drag-and-drop, rotate the dragged asset's outline box by 90 degrees using the mouse wheel.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#rotate-asset",
),
(
"Right click in the asset bar for a detailed asset card.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation",
),
(
"Use Append in import settings if you want to edit downloaded objects.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#import-settings",
),
(
"Go to import settings to set default texture resolution.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#import-settings",
),
(
"Please rate responsively and plentifully. This helps us distribute rewards to the authors.",
f"{SERVER}/docs/rating/",
),
(
"All materials are free.",
f"{SERVER}/asset-gallery?query=category_subtree:material%20order:-created",
),
("Storage for public assets is unlimited.", f"{SERVER}/become-creator/"),
(
"Locked models are available if you subscribe to Full plan.",
f"{SERVER}/plans/pricing/",
),
("Login to upload your own models, materials or brushes.", f"{SERVER}/"),
(
"Use 'A' key over the asset bar to search assets by the same author.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#basic-usage",
),
(
"Use semicolon - ; to hide or show the AssetBar.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
("Support the authors by subscribing to Full plan.", f"{SERVER}/plans/pricing/"),
(
"Use the 'P' key over the asset bar to open the Author's profile on BlenderKit.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'W' key over the asset bar to open Author's personal webpage.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'R' key over the asset bar for fast rating of assets.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'X' key over the asset bar to delete the asset from your hard drive.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'S' key over the asset bar to search similar assets.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'C' key over the asset bar to search assets in same subcategory.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use the 'B' key over the asset bar to bookmark the asset.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Get latest experimental versions of add-on by enabling prerelases in preferences.",
"",
),
(
"On Discord? Jump into assets & add-on talks.",
DISCORD_INVITE_URL,
),
(
"Right-click on the downloaded asset to rate, bookmark and more in the 'Selected Model' submenu.",
"",
),
(
"Use Ctrl+T to open a new tab, Ctrl+W to close the current tab in the asset bar.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Navigate between tabs with Ctrl+Tab (next) and Ctrl+Shift+Tab (previous).",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Jump directly to a specific tab using Ctrl+1 through Ctrl+9 in the asset bar.",
"https://github.com/BlenderKit/blenderkit/wiki/BlenderKit-add-on-documentation#assetbar",
),
(
"Use keys 1 and 2 to toggle photo thumbnail over printable assets in the asset bar.",
"",
),
(
"Use keys [ and ] to toggle between normal and photo thumbnail over printable assets.",
"",
),
]
VERSION = [0, 0, 0, 0] # filled in register()
client_process: Optional[Popen] = None
"""Holds return value of subprocess.Popen() which starts the BlenderKit-Client."""