739 Commits

Author SHA1 Message Date
36a2e028d4 Added sync_role_groups management command.
This ensures that group membership is consistent with the user's roles.
The roles are leading in this.
2016-06-14 16:41:37 +02:00
ba1f8a4101 Badger service: also manage group membership
For the subscriber, demo and admin roles, the badger service now also
manages group membership for the role-specific groups.
2016-06-14 15:39:22 +02:00
ec7b3159ac Made a.m.blender_cloud a module directory
Moved original file contents to blender_cloud/texture_lib.py, to allow
space for a future blender_cloud/home_project.py file.
2016-06-14 11:34:07 +02:00
57e07db972 Prevent set(None) call 2016-06-14 09:45:20 +02:00
08fceeffc0 Added management command to find duplicate users, based on their BlenderID 2016-06-09 17:19:46 +02:00
79661c6a32 Added script for backing up the live MongoDB.
Assumes you have an SSH tunnel to cloudapi.blender.org with
localhost:27018 forwarded to localhost-at-other-side:27017, like:

	ssh cloudapi.blender.org -L 27018:localhost:27017
2016-06-08 11:55:22 +02:00
f82000aa33 Added refresh_project_permissions management command 2016-06-08 11:35:08 +02:00
bd6079ae4c Use central definition of default admin group permissions 2016-06-08 11:35:08 +02:00
4a0bbb23bb Fixed broken import 2016-06-08 11:35:08 +02:00
ccfc1a663d Badger service: handle missing data 2016-06-06 18:19:43 +02:00
222d9efc89 Implemented badger service endpoint
Also added manage.py command to create badger service accounts.
2016-06-06 16:34:50 +02:00
4aa44c42c8 Nicer local token generation.
No more +, / or = characters.
2016-06-06 16:24:54 +02:00
3a06e02b4d We're not using httpretty any more 2016-06-06 16:22:50 +02:00
8d5683c7a2 Remove unneeded etag check on user update 2016-06-01 11:26:18 +02:00
0daaefdcc3 Retry with unique username both on PUT and POST. 2016-06-01 10:33:01 +02:00
fb020ae4b4 Added unit test for refreshing links upon fetching a file document. 2016-05-31 17:56:24 +02:00
8761dd1b91 Convert images to RGB before thumbnailing and writing as JPEG. 2016-05-31 14:44:23 +02:00
c5985a3060 Even more logging to figure out why PUT/POST to user goes wrong. 2016-05-31 14:14:33 +02:00
5276d960d6 Added some extra logging to find source of 'username not unique' errors. 2016-05-31 13:37:39 +02:00
84d297a3bd Fixed issue uploading small files. 2016-05-30 16:48:47 +02:00
e242701ed0 Try creating a new unique username a few times, before giving up. 2016-05-30 15:42:11 +02:00
9775c821af Fixed unit test 2016-05-30 14:32:53 +02:00
a5288bd35c Don't overwrite fullname from B'ID upon login. 2016-05-30 11:41:39 +02:00
23946b1e3a After Zencoder has finished, force update of the links on next file request. 2016-05-27 16:32:52 +02:00
dd90fafad4 Refuse to generate None links, fall back to '' instead. 2016-05-27 16:32:32 +02:00
c13ba86323 Ignore .coverage files/dirs everywhere. 2016-05-27 16:21:23 +02:00
c6e191365b Solved issue with video uploading.
Filenames were updated at GCS upon a node save, also for files that aren't
saved to GCS yet (i.e. when Zencoder is still encoding). Now we just
skip non-existing files.
2016-05-27 16:21:03 +02:00
f6721c76cc Lowered log level for "unauthenticated access" message 2016-05-24 11:50:49 +02:00
17902eb730 Bumped Werkzeug to 0.11.10, this fixes our memory issue. 2016-05-24 11:38:09 +02:00
f98b2a09ca Allow a user to remove themselves from any project they're in. 2016-05-24 11:18:56 +02:00
fc4dfd3964 Prevent creation of superfluous user while testing 2016-05-24 11:18:28 +02:00
2b29ec8ed6 Bumped version of Werkzeug to solve the memory error with large uploads. 2016-05-24 10:49:36 +02:00
f03f00163a Added generator for node types of all projects. 2016-05-23 16:50:43 +02:00
cf3de95ce1 Removed is_tileable from texture variations.
Now the entire texture is either tileable or not.
2016-05-23 16:10:25 +02:00
f1e58d7285 Fixed unittest 2016-05-23 15:21:56 +02:00
8ff10828c6 Cache (project_id, node_type_name) -> project mapping per request.
When returning many nodes of the same project and same node type, this
prevents us from doing the same request over and over to MongoDB,
increasing performance.
2016-05-23 15:18:23 +02:00
75738efc0d Added "runserver_profile" management command. 2016-05-23 15:17:16 +02:00
71db836d41 Increased default page size to 250. 2016-05-23 14:40:16 +02:00
1c39b4fcd7 Increased PAGINATION_LIMIT to 250.
This is a quick workaround to show group nodes with 25+ child nodes.
2016-05-23 14:10:28 +02:00
291a0b393e Added /users/me endpoint to get info about the current user.
The user must perform the request with a valid auth token.
2016-05-23 12:43:54 +02:00
a6f7250eb3 Richer configuration of logging module through config{,_local}.py. 2016-05-23 12:05:56 +02:00
06ffffa044 Only import bugsnag if we're going to use it. 2016-05-23 12:05:35 +02:00
4f509951a7 Reduced the GCloud resumable upload threshold 5 MiB → 100 KiB
Files larger than the threshold are streamed from disk, smaller than the
threshold and they are loaded into memory first.
2016-05-23 11:44:49 +02:00
41a278c4f0 Removed size parameter from blob.upload_to_file() to prevent mem error
By not passing the size, the gcloud module uses os.fstat to determine
the size of the to-be-uploaded file, and switch to resumable uploads.
This should prevent memory errors uploading large files.
2016-05-23 11:44:49 +02:00
193d7cef5e Added missing role for create_file_doc 2016-05-23 11:44:49 +02:00
858a7b4bfb Delete expired authentication tokens from MongoDB.
For debugging, we keep expired tokens around for a few days, so that we
can determine that a token was expired rather than not created in the
first place. It also grants some leeway in clock synchronisation.
2016-05-23 11:42:35 +02:00
0caa2df964 Handle server-side pagination in /bcloud/texture-libraries
We keep looping over the pages until the last page is hit. As a result,
we can't forward the HTTP headers from Eve to the client.
2016-05-20 13:04:08 +02:00
e0b7bcb6b7 Fix renaming file without variations.
This used to produce a KeyError.
2016-05-20 11:57:10 +02:00
b77f7564b1 Fixed private but shared projects not showing up in /bcloud/texture-libraries 2016-05-20 11:53:25 +02:00
401e3a3b36 Fixed empty license_{notes,type} properties to {} instead of ''. 2016-05-20 11:28:54 +02:00