Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wendelin
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
wendelin
Commits
c2481a75
Commit
c2481a75
authored
Jul 15, 2015
by
Klaus Wölfel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
DataArray: content type response header
parent
4dfcdc5f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
9 deletions
+8
-9
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.py
...TemplateItem/portal_components/document.erp5.DataArray.py
+8
-9
No files found.
bt5/erp5_wendelin/DocumentTemplateItem/portal_components/document.erp5.DataArray.py
View file @
c2481a75
...
...
@@ -74,12 +74,12 @@ class DataArray(BigFile):
Set numpy array to this ERP5 Data Array.
"""
self
.
array
=
value
# ZBigArray requirement: before we can compute it (with subobject
# .zfile) have to be made explicitly known to connection or current
# transaction committed (XXX: impossible to use as raises ConflictErrors)
transaction
.
commit
()
def
getArraySlice
(
self
,
start
,
end
):
"""
Implement array slicing in its most simple list alike form.
...
...
@@ -87,14 +87,14 @@ class DataArray(BigFile):
array reference directly.
"""
return
self
.
getArray
()[
start
:
end
]
security
.
declareProtected
(
Permissions
.
AccessContentsInformation
,
'getSize'
)
def
getSize
(
self
,
default
=
None
):
"""
Implement getSize interface for ndarray
"""
return
self
.
getArray
().
nbytes
security
.
declareProtected
(
Permissions
.
View
,
'index_html'
)
def
index_html
(
self
,
REQUEST
,
RESPONSE
,
format
=
_MARKER
,
inline
=
_MARKER
,
**
kw
):
"""
...
...
@@ -104,10 +104,10 @@ class DataArray(BigFile):
# we served a chunk of content in response to a range request.
return
''
# XXX: what we do? We can not transmit entire Big Array?
return
''
def
_range_request_handler
(
self
,
REQUEST
,
RESPONSE
):
RESPONSE
.
setHeader
(
"Content-Type"
,
"application/octet-stream"
)
# HTTP Range header handling: return True if we've served a range
# chunk out of our data.
range
=
REQUEST
.
get_header
(
'Range'
,
None
)
...
...
@@ -122,7 +122,7 @@ class DataArray(BigFile):
# get byte view of array because we interpret ranges in bytes
data
=
self
.
getArray
()[:].
view
(
"uint8"
).
ravel
()
if
if_range
is
not
None
:
# Only send ranges if the data isn't modified, otherwise send
# the whole object. Support both ETags and Last-Modified dates!
...
...
@@ -182,8 +182,7 @@ class DataArray(BigFile):
RESPONSE
.
setHeader
(
'Content-Range'
,
'bytes %d-%d/%d'
%
(
start
,
end
-
1
,
self
.
getSize
()))
RESPONSE
.
setStatus
(
206
)
# Partial content
self
.
log
(
data
[
start
:
end
].
tobytes
())
RESPONSE
.
write
(
data
[
start
:
end
].
tobytes
())
else
:
boundary
=
choose_boundary
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment