Commit Graph

1100 Commits

Author SHA1 Message Date
Sybren A. Stüvel 1ed31d26e5 Be more explicit in logging which video encoding service is used 2017-03-22 17:08:15 +01:00
Sybren A. Stüvel b36dc63335 Added simple mocking test for GCS 2017-03-22 16:43:17 +01:00
Sybren A. Stüvel c02c6d89b0 Removed unused import 2017-03-22 16:43:04 +01:00
Sybren A. Stüvel 563bb2c244 Added unittest for Bucket.copy_to_bucket() 2017-03-22 16:14:06 +01:00
Sybren A. Stüvel 6b526f6b53 Fixed bug in local file storage URL generation. 2017-03-22 16:05:38 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel fdfdd38c38 Removed route for direct GCS storage browsing 2017-03-22 15:49:52 +01:00
Sybren A. Stüvel 56b631d4a2 Added type annotations 2017-03-22 15:49:52 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel 1f3d699a0c Ran 2to3 on pillar/api/utils/storage.py 2017-03-22 15:49:52 +01:00
Sybren A. Stüvel 0eb2f17624 Raise exception on not-implemented methods, instead of just pass'ing 2017-03-22 15:49:52 +01:00
Sybren A. Stüvel 47eba6786a Renamed 'file_in_storage' to 'blob' 2017-03-22 15:49:52 +01:00
Pablo Vazquez ec1db0a725 Groups view: Background gradient gray doesn't look good 2017-03-22 15:49:51 +01:00
Pablo Vazquez 04a235ca12 Larger image for collections header 2017-03-22 15:49:51 +01:00
Pablo Vazquez 5b59d6b6b1 Slightly bigger thumbnail size for posts in homepage 2017-03-22 15:49:51 +01:00
Pablo Vazquez 0e6bdf9467 Update CSS caches 2017-03-22 15:49:51 +01:00
Pablo Vazquez 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
Pablo Vazquez a000176db9 Tweaks to group listing
Non-square thumbnails, always display icon type
2017-03-22 15:49:51 +01:00
Pablo Vazquez 9f49140230 Video Player: Vertical volume slider and loop by default 2017-03-22 15:49:51 +01:00
Francesco Siddi 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
Sybren A. Stüvel 26f8a3fec7 Synced dev requirements with Pillar Python SDK 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 49500570d4 Added missing redis requirement 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel b2b3e8acf1 Fixed version conflict with pillarsdk dev requirements 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Francesco Siddi 3d1c8625a3 Remove redundant requirement
It is already defined in requirements.txt in pillar-python-sdk.
2017-03-22 15:49:51 +01:00
Francesco Siddi 41600f208e Remove Linux venv specific dependencies
Was giving install error on macOS.
2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel 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
Sybren A. Stüvel 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
Sybren A. Stüvel 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
Sybren A. Stüvel c2206e6b27 Python 3.6 compatibility: Prevent comparison with None 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel fb25e3e03f Fixup of syntax error introduced by 2to3 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel 4e138d38a1 Removed no longer compatibility thingy for Python 3 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel bced6cae68 Ran 2to3 on unittests, same sort of manual fixups as before 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel 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
Sybren A. Stüvel 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
Sybren A. Stüvel c2c19bd6f3 Removed development requirements and unused secondary requirements. 2017-03-22 15:49:51 +01:00
Sybren A. Stüvel 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
Sybren A. Stüvel 647ae0f3d6 Fixed create_from_file(filename) bug (should be file obj, not name) 2017-03-01 08:56:26 +01:00
Sybren A. Stüvel 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
Francesco Siddi 27df603299 Started moving processing function in subclasses 2017-03-01 08:56:26 +01:00
Francesco Siddi 4d6bf65a99 Attempt at proper naming
Using Bucket and Blob as base classes.
2017-03-01 08:56:26 +01:00
Sybren A. Stüvel c06533db5b Breaking stuff by introducting decorator & abstract base class stuff. 2017-03-01 08:56:26 +01:00
Sybren A. Stüvel b3b9c68486 Fixed uploading of images.
Thumbnailing is still broken, though.
2017-03-01 08:56:26 +01:00
Francesco Siddi 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
Francesco Siddi 4570b4637b Move attachment parsing on the node level last-py27 2017-02-27 16:23:21 +01:00
Francesco Siddi 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