Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'blenderkit/upload.py')
-rw-r--r--blenderkit/upload.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/blenderkit/upload.py b/blenderkit/upload.py
index 15c0bf83..30e17f27 100644
--- a/blenderkit/upload.py
+++ b/blenderkit/upload.py
@@ -22,11 +22,12 @@ if "bpy" in locals():
imp.reload(asset_inspector)
imp.reload(paths)
imp.reload(utils)
+ imp.reload(search)
imp.reload(bg_blender)
imp.reload(autothumb)
imp.reload(version_checker)
else:
- from blenderkit import asset_inspector, paths, utils, bg_blender, autothumb, version_checker
+ from blenderkit import asset_inspector, paths, utils, bg_blender, autothumb, version_checker, search
import tempfile, os, subprocess, json, re
@@ -500,9 +501,32 @@ def get_upload_location(props):
return None
return None
+def check_storage_quota(props):
+ if not props.is_private:
+ return True
+
+ profile = bpy.context.window_manager.get('bkit profile')
+ if profile is None or profile.get('remainingPrivateQuota') is None:
+ preferences = bpy.context.preferences.addons['blenderkit'].preferences
+ adata = search.request_profile(preferences.api_key)
+ if adata is None:
+ props.report = 'User profile not retrieved.'
+ return False
+ search.write_profile(adata)
+ profile = adata
+ print(profile.keys())
+ if profile['user'].get('remainingPrivateQuota')>0:
+ return True
+ props.report = 'Private storage quota exceeded.'
+ return False
def start_upload(self, context, asset_type, as_new, metadata_only):
props = utils.get_upload_props()
+ storage_quota_ok = check_storage_quota(props)
+ if not storage_quota_ok:
+ self.report({'ERROR_INVALID_INPUT'}, props.report)
+ return {'CANCELLED'}
+
location = get_upload_location(props)
props.upload_state = 'preparing upload'
# do this for fixing long tags in some upload cases