Commit Graph

91 Commits

Author SHA1 Message Date
e088b56560 Pop more _deleted attributes. 2016-05-02 17:43:06 +02:00
838fbd14ae Remove _deleted private key 2016-04-29 10:01:11 +02:00
d60a1878e7 Skip missing keys in convert_datetime 2016-04-26 17:33:36 +02:00
e6ef3c2332 Pass empty password when using token 2016-04-13 15:32:10 +02:00
463eb068f6 Ensuring more projections 2016-04-13 15:31:58 +02:00
9a51c82d9a Added util function for filename sanitation 2016-03-22 14:32:34 +01:00
dac5d638da Added support for saving Pillar resources as JSON. 2016-03-22 12:42:31 +01:00
2c39a88cfe Removed unused import 2016-03-22 12:42:13 +01:00
20a9c61fac Include link & link_expires in mandatory projections for File. 2016-03-22 12:41:41 +01:00
ba15c830c5 PEP8 formatting 2016-03-18 16:56:28 +01:00
886e3c7eaf Sort parameters on the URL to allow caching.
Python randomizes dict item order with a random seed, which changes every
time Python/Blender is run. As a result, Pillar GET parameters on the URL
would change, making them uncachable. Sorting the parameters solves this.
2016-03-18 16:37:16 +01:00
1ec234716a Log to 'pillarsdk.api' logger, instead of the root logger.
Also switched to percent-formatting, as this allows the logging module
to skip string formatting altogether if the log entry is filtered out
(for example for INFO messages on a logger with level=WARNING).
2016-03-18 14:00:55 +01:00
c8cc82f96b Don't assume UTF-8, just use content encoding from HTTP headers. 2016-03-18 13:56:26 +01:00
2ef050dd8f Simplified code 2016-03-18 12:41:36 +01:00
0fd043ecb8 Support session objects.
This not only improves general performance by sharing socket connections
between HTTP calls, but also allows for caching with Requests-Cache.
2016-03-18 12:41:24 +01:00
914e8f9eaa Moved _ensure_projections(...) up from Find to Resource
It's now also used in List
2016-03-18 10:59:57 +01:00
bcde995e64 Tweak to Project update
Now we use utils.remove_none_attributes to remove None values, and
revert to file _id only if it exists.
2016-03-16 16:08:51 +01:00
42fd0aebd9 Added doc string for remove_none_attributes 2016-03-16 16:08:02 +01:00
b690755b84 Made utils.merge_dict None-safe, and removed lots of "thing or {}" 2016-03-11 10:24:19 +01:00
9284671ca7 PEP8 formatting 2016-03-11 10:23:46 +01:00
8a652ec455 Nuked the prints 2016-03-11 10:23:12 +01:00
379fee60a8 Added required projections on Node class 2016-03-09 17:32:11 +01:00
d9921667ce Replace Activity with ActivitySubscription 2016-03-09 16:56:50 +01:00
6ff7adeb27 Use utils.remove_none_attributes in more methods 2016-03-09 16:56:50 +01:00
bdecff27d4 Added downloading thumbnails to file 2016-03-09 14:00:59 +01:00
8c34f04bc6 Adds generic way of adding extra projections to Pillar queries 2016-03-09 14:00:33 +01:00
949f140981 Simplified thumbnail code 2016-03-09 13:59:47 +01:00
4179bf2bd8 Add required projections to File.find()
Without these, Pillar will throw KeyErrors.
2016-03-09 12:42:19 +01:00
1a1c2c51fe Added parameter support to Resource.find()
This makes the overrides in subclasses unnecessary
2016-03-09 12:41:52 +01:00
ec11e82f32 PEP8 formatting 2016-03-09 12:40:19 +01:00
ed0630aa7c Added parameter type checking for utils.join_url
This made things a bit easier to debug, while re.sub() raises less
descriptive errors.
2016-03-09 12:40:13 +01:00
e6089e07b6 Ignore more 2016-03-09 12:36:02 +01:00
05b0442064 Build universal wheel, as our code should run on Python 2 and 3 2016-03-08 16:01:33 +01:00
87ebdb0b2f Removed six from requirements, as Blender isn't shipped with it. 2016-03-08 16:01:22 +01:00
8a29a20462 Don't measure coverage, it's not working (yet) 2016-03-08 14:02:51 +01:00
418b15caf4 Added dict → JSON and unicode → UTF8 conversion for URL parameters. 2016-03-08 13:52:51 +01:00
e86824e5bb Added Tox for unit testing on different versions of Python 2016-03-08 13:51:42 +01:00
77fc1315b0 Don't import the application in setup.py
Importing the application itself is bad practice, as it isn't guaranteed
to be importable before running setup.py.
2016-03-08 13:50:01 +01:00
bc1a146ef2 New remove_none_attributes utility
Returns a new dict with all None values removed.
2016-03-05 23:18:40 +01:00
bec21e14e6 Support for gravatar in User 2016-03-05 23:18:20 +01:00
ae59249196 Introducing Notifications
Currently we make use of the Notification and Activity objects to pull
the relevant information. In the future only Notification will be
needed.
2016-03-05 23:18:04 +01:00
f034c9b2d2 Introducing pop_none_attributes
This function allows cleanup of dicts with None values before they get
sent to the validator (and cause potential validation failures).
2016-03-04 15:47:37 +01:00
819245762a Fix for typo 2016-03-04 15:46:39 +01:00
874f107948 PEP8-formatted setup.py 2016-03-02 10:21:07 +01:00
675daf9ef6 Use setuptools instead of distutils 2016-03-02 10:17:51 +01:00
083c8216f0 Strip embedded files form Project on update 2016-02-09 17:15:49 +01:00
9f939e9319 Minor tweak to node_type_has_method 2016-01-28 12:59:38 +01:00
a8225cf5a3 Introducing node_type_has_method
Utility method that checks if a given node_type has the requested
method.
2016-01-26 18:27:00 +01:00
a8c7b8b37b Merge branch 'projects' 2016-01-25 16:19:55 +01:00
61d8cc32ac Introducing Project object
Project are a new collection, used to group node_types on a per-project
basis.
2016-01-25 16:18:51 +01:00