WIP support fs.files
This commit is contained in:
@@ -3,5 +3,6 @@ from .nodes import Node
|
||||
from .nodes import NodeType
|
||||
from .users import User
|
||||
from .files import File
|
||||
from .binary_files import binaryFile
|
||||
from .exceptions import ResourceNotFound, UnauthorizedAccess, MissingConfig
|
||||
from .config import __version__, __pypi_packagename__
|
||||
|
||||
28
attractsdk/binary_files.py
Executable file
28
attractsdk/binary_files.py
Executable file
@@ -0,0 +1,28 @@
|
||||
from .resource import List
|
||||
from .resource import Find
|
||||
from .resource import Create
|
||||
from .resource import Post
|
||||
from .resource import Update
|
||||
from .resource import Delete
|
||||
from .resource import Replace
|
||||
|
||||
from . import utils
|
||||
|
||||
|
||||
class binaryFile(List, Find, Create, Post, Update, Delete, Replace):
|
||||
"""binaryFile class wrapping the REST binary_files endpoint
|
||||
"""
|
||||
path = "binary_files"
|
||||
|
||||
def post_file(self, file_, api=None):
|
||||
"""Stores a file on the database.
|
||||
:param file: A file object
|
||||
"""
|
||||
api = api or self.api
|
||||
url = utils.join_url(self.path)
|
||||
files = {'data': file_}
|
||||
print (files)
|
||||
new_attributes = api.post(url, {}, {}, files)
|
||||
# self.error = None
|
||||
self.merge(new_attributes)
|
||||
return self.success()
|
||||
@@ -6,36 +6,8 @@ from .resource import Update
|
||||
from .resource import Delete
|
||||
from .resource import Replace
|
||||
|
||||
from . import utils
|
||||
|
||||
|
||||
class File(List, Find, Create, Post, Update, Delete, Replace):
|
||||
"""Node class wrapping the REST nodes endpoint
|
||||
"""
|
||||
path = "files"
|
||||
|
||||
def replace_picture(self, picture_file, api=None):
|
||||
"""Replaces the picture field in the node.
|
||||
:param picture_file: A file object
|
||||
"""
|
||||
api = api or self.api
|
||||
attributes = self.to_dict()
|
||||
etag = attributes['_etag']
|
||||
attributes.pop('_id')
|
||||
attributes.pop('_etag')
|
||||
attributes.pop('_created')
|
||||
attributes.pop('_updated')
|
||||
attributes.pop('_links')
|
||||
if 'parent' in attributes:
|
||||
attributes.pop('parent')
|
||||
if 'properties' not in attributes:
|
||||
attributes['properties'] = {}
|
||||
url = utils.join_url(self.path, str(self['_id']))
|
||||
headers = utils.merge_dict(
|
||||
self.http_headers(),
|
||||
{'If-Match': str(etag)})
|
||||
files = {'picture': picture_file}
|
||||
new_attributes = api.patch(url, attributes, headers, files)
|
||||
self.error = None
|
||||
self.merge(new_attributes)
|
||||
return self.success()
|
||||
|
||||
@@ -14,32 +14,6 @@ class Node(List, Find, Create, Post, Update, Delete, Replace):
|
||||
"""
|
||||
path = "nodes"
|
||||
|
||||
def replace_picture(self, picture_file, api=None):
|
||||
"""Replaces the picture field in the node.
|
||||
:param picture_file: A file object
|
||||
"""
|
||||
api = api or self.api
|
||||
attributes = self.to_dict()
|
||||
etag = attributes['_etag']
|
||||
attributes.pop('_id')
|
||||
attributes.pop('_etag')
|
||||
attributes.pop('_created')
|
||||
attributes.pop('_updated')
|
||||
attributes.pop('_links')
|
||||
if 'parent' in attributes:
|
||||
attributes.pop('parent')
|
||||
if 'properties' not in attributes:
|
||||
attributes['properties'] = {}
|
||||
url = utils.join_url(self.path, str(self['_id']))
|
||||
headers = utils.merge_dict(
|
||||
self.http_headers(),
|
||||
{'If-Match': str(etag)})
|
||||
files = {'picture': picture_file}
|
||||
new_attributes = api.patch(url, attributes, headers, files)
|
||||
self.error = None
|
||||
self.merge(new_attributes)
|
||||
return self.success()
|
||||
|
||||
|
||||
class NodeType(List, Find, Create, Post, Delete):
|
||||
"""NodeType class wrapping the REST node_types endpoint
|
||||
|
||||
Reference in New Issue
Block a user