1095 Commits

Author SHA1 Message Date
cce388049d Big refactoring of file storage handling
- Moved pillar.api.utils.{gcs,storage} to pillar.api.file_storage_backends
- Implemented GCS and local storage using abstract Bucket and Blob classes
- Removed file processing from the Blob class, and kept it in the
  file_storage/__init__.py class. That way storage and processing are
  kept separate.
2017-03-22 15:49:56 +01:00
fdfdd38c38 Removed route for direct GCS storage browsing 2017-03-22 15:49:52 +01:00
56b631d4a2 Added type annotations 2017-03-22 15:49:52 +01:00
6eadc09c10 Use __init_subclass__ to register storage backends
See https://docs.python.org/3.6/whatsnew/3.6.html#pep-487-simpler-customization-of-class-creation
2017-03-22 15:49:52 +01:00
1f3d699a0c Ran 2to3 on pillar/api/utils/storage.py 2017-03-22 15:49:52 +01:00
0eb2f17624 Raise exception on not-implemented methods, instead of just pass'ing 2017-03-22 15:49:52 +01:00
47eba6786a Renamed 'file_in_storage' to 'blob' 2017-03-22 15:49:52 +01:00
ec1db0a725 Groups view: Background gradient gray doesn't look good 2017-03-22 15:49:51 +01:00
04a235ca12 Larger image for collections header 2017-03-22 15:49:51 +01:00
5b59d6b6b1 Slightly bigger thumbnail size for posts in homepage 2017-03-22 15:49:51 +01:00
0e6bdf9467 Update CSS caches 2017-03-22 15:49:51 +01:00
6d1f81b26a Minor tweaks to homepage listing
Thumbnails are now slightly larger (22px wider), and did some rearrangement
2017-03-22 15:49:51 +01:00
a000176db9 Tweaks to group listing
Non-square thumbnails, always display icon type
2017-03-22 15:49:51 +01:00
9f49140230 Video Player: Vertical volume slider and loop by default 2017-03-22 15:49:51 +01:00
8934eb8b8d Fix for crash on extension blueprints loading
It the extension was registered with url_prefix=None, we set url_prefix to empty string so it can be added to blueprint.url_prefix.
2017-03-22 15:49:51 +01:00
26f8a3fec7 Synced dev requirements with Pillar Python SDK 2017-03-22 15:49:51 +01:00
49500570d4 Added missing redis requirement 2017-03-22 15:49:51 +01:00
b2b3e8acf1 Fixed version conflict with pillarsdk dev requirements 2017-03-22 15:49:51 +01:00
67bce48de8 Auto-install -e pillar
It uses ../pillar instead of . so that it is a valid path from blender-cloud as well.
2017-03-22 15:49:51 +01:00
3d1c8625a3 Remove redundant requirement
It is already defined in requirements.txt in pillar-python-sdk.
2017-03-22 15:49:51 +01:00
41600f208e Remove Linux venv specific dependencies
Was giving install error on macOS.
2017-03-22 15:49:51 +01:00
ef6e76f153 Upgraded development requirements to speed up code coverage recording
Removed requests from requirements.txt file, because it's already a req
of pillar-python-sdk.
2017-03-22 15:49:51 +01:00
ae5009c9ef Python 3.6: Fixed issue with gravatar function
Hashing of string object doesn't work. Also added a deprecation warning
that pillar.api.utils.gravatar should be used; pillar.web.utils.gravatar
is just a copy.
2017-03-22 15:49:51 +01:00
dcdcd99393 Python 3.6 compatibility: random bits & bcrypt
Switched from Sybren's RSA library to the new stdlib module 'secrets' to
generate secret tokens. This also means that the rsa library was demoted
to secondary requirement.
2017-03-22 15:49:51 +01:00
2e41c074b5 Python 3.6 compatibility: bytes vs strings stuff
These changes mostly revolve around the change in ObjectId constructor
when running on Python 3.6. Where on 2.7 the constructor would accept
12- and 24-byte strings, now only 12-byte bytes and 24-character strings
are accepted. Good thing, but required some changes in our code.

Other changes include hashing of strings, which isn't supported, so they
are converted to bytes first, and sometimes converted back afterwards.
2017-03-22 15:49:51 +01:00
c2206e6b27 Python 3.6 compatibility: Prevent comparison with None 2017-03-22 15:49:51 +01:00
c58d616bfc Don't run failed unittests first.
This can cause false positives when the failure was caused by inter-test
interference.
2017-03-22 15:49:51 +01:00
fb25e3e03f Fixup of syntax error introduced by 2to3 2017-03-22 15:49:51 +01:00
16b2b119fd Referring to Pillar Python SDK requirements
This forces us to remove common requirements from Pillar's requirements.txt
file (which is a good thing).
2017-03-22 15:49:51 +01:00
4e138d38a1 Removed no longer compatibility thingy for Python 3 2017-03-22 15:49:51 +01:00
bced6cae68 Ran 2to3 on unittests, same sort of manual fixups as before 2017-03-22 15:49:51 +01:00
e0c525389f Renamed static.py to staticfile.py
Python 3 supports 'namespace packages', and thus can see a directory
without __init__.py as something importable. This caused a name conflict,
since there were both the file static.py and the dir static.
2017-03-22 15:49:51 +01:00
663627358f Ran 2to3 on pillar + some manual fixups
The 'manual fixups' are:

- incorrect use of dict.items() where dict.iteritems() was meant; this
  results in list(dict.items()), which I changed to dict.items().
- removal of 'from __future__ import' lines, which 2to3 changes into
  empty lines; I removed the empty lines.
2017-03-22 15:49:51 +01:00
10b3318419 Added development requirements to requirements-dev.txt
In this commit (and the previous ones on requirements files) I haven't
changed the package versions. Upgrading our dependencies is for another
time.
2017-03-22 15:49:51 +01:00
c2c19bd6f3 Removed development requirements and unused secondary requirements. 2017-03-22 15:49:51 +01:00
1266d4b5d9 Made requirements.txt py36-compatible
Some packages had to be removed; they are deployment-specific anyway,
and may not even be needed any more.

I've also added some secondary requirements that weren't specified yet.
The next steps will be to split into runtime and development requirements.
2017-03-22 15:49:51 +01:00
647ae0f3d6 Fixed create_from_file(filename) bug (should be file obj, not name) 2017-03-01 08:56:26 +01:00
e5b4ce0890 GoogleCloudStorageBucket.gcs_bucket → _gcs_bucket
Added a few FIXME comments where _gcs_bucket is used outside of the class.
2017-03-01 08:56:26 +01:00
27df603299 Started moving processing function in subclasses 2017-03-01 08:56:26 +01:00
4d6bf65a99 Attempt at proper naming
Using Bucket and Blob as base classes.
2017-03-01 08:56:26 +01:00
c06533db5b Breaking stuff by introducting decorator & abstract base class stuff. 2017-03-01 08:56:26 +01:00
b3b9c68486 Fixed uploading of images.
Thumbnailing is still broken, though.
2017-03-01 08:56:26 +01:00
aecab0561e WIP introducing STORAGE_BACKEND
We introduce two new classes StorageBackend and FileInStorage, which
are subclassed by CGS and local Pillar. This makes supporting multiple
storage solutions easier.
2017-03-01 08:56:26 +01:00
4570b4637b Move attachment parsing on the node level last-py27 2017-02-27 16:23:21 +01:00
e381ca774e On Page load use replaceState instead of pushState
Fix T50797 and replace the id-based url with a custom url for page in the browser's history.
2017-02-27 13:08:56 +01:00
6765276519 Introducing attachments fixes for blog posts and assets.
Requires migration of attachments schema using
python manage.py maintenance upgrade_attachment_schema --all
2017-02-21 18:08:42 +01:00
eca4ade9d8 Linking to Blender Cloud add-on (and no longer to bundle)
Added a note that states the add-on requires Blender 2.78+. Even though
this isn't strictly true (it also supports 2.77a if you manually install
the Blender ID add-on), it simplifies things greatly.

Fixes T49721
2017-02-21 11:14:46 +01:00
2e00e81b30 Raise z-index of col_right by 1 2017-02-14 16:03:37 +01:00
0a86ad357f Analytics for videojs 2017-02-08 16:27:52 +01:00
02f736dcc4 Hide missing summaries on projects homepage 2017-02-08 15:27:20 +01:00