Commit Graph

914 Commits

Author SHA1 Message Date
47eba6786a Renamed 'file_in_storage' to 'blob' 2017-03-22 15:49:52 +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
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
fb25e3e03f Fixup of syntax error introduced by 2to3 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
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
e6fb64621f Introducing GOOGLE_SITE_VERIFICATION
Used for cross-verification on various Google sites (eg. YouTube) . By default it is not rendered in the pages.
2017-03-21 15:45:36 +01:00
1eb1cd7b64 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-12 18:46:08 +01:00
a0a8257df0 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-03 14:42:13 +01:00
3fe9472d27 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-03 14:16:29 +01:00
a9e40ccf10 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-03 14:14:36 +01:00
6fb58a3f26 Python 3.6 compatibility: Prevent comparison with None 2017-03-03 14:10:47 +01:00
60c608d095 Fixup of syntax error introduced by 2to3 2017-03-03 12:33:23 +01:00
82157af84b Removed no longer compatibility thingy for Python 3 2017-03-03 12:32:21 +01:00
b65dd49aa6 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-03 12:01:38 +01:00
7c055b5f56 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-03 12:00:30 +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 2017-02-27 16:23:21 +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
0a86ad357f Analytics for videojs 2017-02-08 16:27:52 +01:00
089b0f1535 Own copy of videojs 5.8.8 2017-02-02 16:57:31 +01:00
eb02fa5eec Replace Flowplayer with the open source Video.js library 2017-02-02 16:06:41 +01:00
2b528f0fff Added pillar.api.utils.bsonify(some_dict)
It was used in an experiment in Flamenco as an alternative to JSON; it
might still be used in the future if BSON turns out to be significantly
faster to generate.
2017-01-24 09:19:24 +01:00
e3fc5d1b9b Initial support for AMP (Accelerated Mobile Pages)
https://www.ampproject.org/

Basic implementation. Still needs the node description to be parsed,
as <img> tags need to be <amp-img> with special tags.
2017-01-23 15:47:14 +01:00
604d6c1a07 Added pillar.web.utils.last_page_index()
This returns the last page number (base-1) of a paged Eve result.
2017-01-19 15:13:01 +01:00
129ec94608 Renamed flamenco.jobs to flamenco_jobs 2016-12-14 14:48:37 +01:00
01cc52bba9 Allow user updates in create_service_account() calls. 2016-12-14 14:41:06 +01:00
8115bc2ad5 Collections are now named flamenco_xxx instead of flamenco.xxx
The dot notation disallowed Eve hooks, as the collection names weren't
valid Python identifiers.
2016-12-14 14:40:38 +01:00
a100d73a8b Collections in extension eve_settings now should start with the ext name.
Instead of Pillar automagically prepending 'attract.' or 'flamenco.' to the
names this should now be done explicitly in the extension's Eve settings.
This allows for more explicit configuration, and ensures foreign key
definitions are unambiguous.
2016-12-14 11:26:28 +01:00
11197e669c Remove /about endpoint 2016-12-02 18:02:29 +01:00
6bb491aadc Support for page urls
Now we can access pages with the following url
/p/<project_url>/<page-url>. Internally we use the existing view_node,
but if we detect that the node_id is not an object id we try to treat
it as a page url and therefore we try to define node and project using
render_node_page().
2016-12-02 16:57:51 +01:00
b6b517688e Display blog list and posts within the project
TODO: Edit within the project as well
2016-12-01 15:57:59 +01:00
f2942a20fe Refactor manage commands using subcommands
This way we clean up the output of manage.py and sort the commands in
three main categories:
- setup: Setup utilities, like setup_db() or create_blog()
- maintenance:  Maintenance scripts, to update user groups
- operations: Backend operations, like moving nodes across projects
2016-12-01 00:33:24 +01:00
d9b56f485b Extend CHECK_PERMISSIONS_IMPLEMENTED_FOR
We support flamenco.jobs. This is a temporary workaround until we
implement check permissions in a way that can be extended by extensions.
2016-11-30 23:50:21 +01:00
f06b3c94eb join_agent page for the agent project 2016-11-30 23:32:46 +01:00
e72f02711d Temporary tweak to join mechanism
TODO: move this to the external app (blender-cloud).
2016-11-30 15:57:11 +01:00
7fb94a86e8 Display a nice icon on jstree if item is free 2016-11-29 15:35:12 +01:00
3fbee33369 Open jstree folders on load, and set parent as selected as well
So when we open a node inside a folder, it highlights itself and parent folder
2016-11-29 14:39:47 +01:00
4a5d553bc8 No blog on activity stream 2016-11-25 13:32:17 +01:00
f75c43055f Blog on frontpage 2016-11-25 13:32:05 +01:00