c4d.storage.HyperFile
¶
Hyper files are used to store data in a file. The HyperFile works with the ‘FIFO’ concept. The values will be written and read in the same order.
The following source code is a simple example showing how to use the
HyperFile
class:
import c4d, os from c4d import storage as st, gui YOUR_IDENT = 49545 # Choose a custom ident path = os.path.join("/Users", "Dev", "Desktop", "test.file") print path def Write(path, key): #write print path hf = st.HyperFile() if hf.Open(ident=key, filename=path, mode=c4d.FILEOPEN_WRITE, error_dialog=c4d.FILEDIALOG_NONE): bc = c4d.BaseContainer() bc[0] = "test" bc[1] = "3" hf.WriteContainer(bc) hf.Close() else: gui.MessageDialog("Cannot open file to write.") def Read(path, key): #read hf = st.HyperFile() if hf.Open(ident=key, filename=path, mode=c4d.FILEOPEN_READ, error_dialog=c4d.FILEDIALOG_NONE): bc = hf.ReadContainer() hf.Close() print bc[0], bc[1] #output: test 3 else: gui.MessageDialog("Cannot open file to read.") Write(path, YOUR_IDENT) Read(path, YOUR_IDENT)
c4d.storage.
HyperFile
¶
HyperFile.WriteBool()
HyperFile.WriteTime()
HyperFile.WriteString()
HyperFile.WriteFilename()
HyperFile.WriteImage()
HyperFile.WriteContainer()
HyperFile.WriteMemory()
HyperFile.WriteData()
HyperFile.ReadBool()
HyperFile.ReadTime()
HyperFile.ReadString()
HyperFile.ReadFilename()
HyperFile.ReadImage()
HyperFile.ReadContainer()
HyperFile.ReadMemory()
HyperFile.ReadData()
HyperFile.
__init__
(
)
¶
Allocates a hyper file.
Return type: | c4d.storage.HyperFile |
---|---|
Returns: | The hyper file. |
HyperFile.
Open
(
ident
,
filename
,
mode
,
error_dialog
)
¶
Opens the hyper file.
Parameters: |
|
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Return type: |
bool |
||||||||||||||||||
Returns: |
True if the hyper file could be opened, otherwise False . |
HyperFile.
Close
(
)
¶
Closes the hyper file.
Return type: | bool |
---|---|
Returns: | True on success. |
HyperFile.
WriteChar
(
v
)
¶
Write a character to the hyperfile.
Parameters: | v ( int ) – A char to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteUChar
(
v
)
¶
Write a very short int to the hyperfile.
Parameters: | v ( int ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteInt16
(
v
)
¶
New in version R15.037.
Write a signed short int to the hyperfile.
Parameters: | v ( int ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteUInt16
(
v
)
¶
New in version R15.037.
Write an unsigned short int to the hyperfile.
Parameters: | v ( int ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteInt32
(
v
)
¶
New in version R15.037.
Write an int to the hyperfile.
Parameters: | v ( int ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteUInt32
(
v
)
¶
New in version R15.037.
Write an unsigned int to the hyperfile.
Parameters: | v ( int ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteInt64
(
v
)
¶
New in version R15.037.
Write a double precision int value to the hyperfile.
Parameters: | v ( int ) – The integer to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteUInt64
(
v
)
¶
New in version R15.037.
Write a double precision unsigned int value to the hyperfile.
Parameters: | v ( int ) – The integer to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteFloat32
(
v
)
¶
New in version R16.021.
Write a float value to the hyperfile.
Parameters: | v ( float ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteFloat64
(
v
)
¶
New in version R15.037.
Write a double precision float value to the hyperfile.
Parameters: | v ( float ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteVector
(
v
)
¶
Write a
Vector
to the hyperfile.
Parameters: | v ( c4d.Vector ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteVector32
(
v
)
¶
New in version R16.021.
Write a
Vector
to the hyperfile.
Parameters: | v ( c4d.Vector ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteVector64
(
v
)
¶
New in version R15.037.
Write a double precision
Vector
to the hyperfile.
Parameters: | v ( c4d.Vector ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteMatrix
(
v
)
¶
Write a
Matrix
to the hyperfile.
Parameters: | v ( c4d.Matrix ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteMatrix32
(
v
)
¶
New in version R16.021.
Write a
Matrix
to the hyperfile.
Parameters: | v ( c4d.Matrix ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteMatrix64
(
v
)
¶
New in version R15.037.
Write a double precision
Matrix
to the hyperfile.
Parameters: | v ( c4d.Matrix ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteBool
(
v
)
¶
Write a bool to the hyperfile.
Parameters: | v ( bool ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteTime
(
v
)
¶
Write a
BaseTime
to the hyperfile.
Parameters: | v ( c4d.BaseTime ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteString
(
v
)
¶
Write a string to the hyperfile.
Parameters: | v ( str ) – The value to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteFilename
(
v
)
¶
Write a path to the hyperfile.
Parameters: | v ( str ) – The path to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteImage
(
v
,
format
,
data
[
,
savebits=SAVEBIT_ALPHA
]
)
¶
Write an image to the hyperfile.
Parameters: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Return type: |
bool |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Returns: |
Success of writing the bitmap. |
HyperFile.
WriteContainer
(
v
)
¶
Write the settings in a
BaseContainer
to the hyperfile.
Parameters: | v ( c4d.BaseContainer ) – The container to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
WriteMemory
(
data
)
¶
Write a block of memory to the hyperfile.
Note
Only use this when you need to, be aware that the byte sequences will not be platform independent.
Parameters: | data ( c4d.storage.ByteSeq ) – The data to write to the hyperfile. |
---|---|
Return type: | bool |
Returns: | Success of writing the data. |
HyperFile.
WriteData
(
v
)
¶
Write data to the container.
Note
Please check the constructor of GeData in the C++ SDK to see what type this method accepts.
Parameters: | v ( any ) – The data. |
---|---|
Return type: | bool |
Returns: | Success of writing the value. |
HyperFile.
ReadChar
(
)
¶
Read a character from the hyperfile.
Return type: | int |
---|---|
Returns: | The character or None if reading failed. |
HyperFile.
ReadUChar
(
)
¶
Read an unsigned character from the hyperfile.
Return type: | int |
---|---|
Returns: | The unsigned character or None if reading failed. |
HyperFile.
ReadInt16
(
)
¶
New in version R15.037.
Read a signed word from the hyperfile.
Return type: | int |
---|---|
Returns: | The unsigned word or None if reading failed. |
HyperFile.
ReadUInt16
(
)
¶
New in version R15.037.
Read an unsigned word from the hyperfile.
Return type: | int |
---|---|
Returns: | The unsigned word or None if reading failed. |
HyperFile.
ReadInt32
(
)
¶
New in version R15.037.
Read an int from the hyperfile.
Return type: | int |
---|---|
Returns: | The unsigned int or None if reading failed. |
HyperFile.
ReadUInt32
(
)
¶
New in version R15.037.
Read an unsigned int from the hyperfile.
Return type: | int |
---|---|
Returns: | The unsigned int or None if reading failed. |
HyperFile.
ReadInt64
(
)
¶
New in version R15.037.
Read a double precision int from the hyperfile.
Return type: | int |
---|---|
Returns: | The value or None if reading failed. |
HyperFile.
ReadUInt64
(
)
¶
New in version R16.021.
Read a double precision unsigned int from the hyperfile.
Return type: | int |
---|---|
Returns: | The value or None if reading failed. |
HyperFile.
ReadFloat
(
)
¶
New in version R15.037.
Read a float from the hyperfile.
Return type: | float |
---|---|
Returns: | The float or None if reading failed. |
HyperFile.
ReadFloat32
(
)
¶
New in version R16.021.
Read a float from the hyperfile.
Return type: | float |
---|---|
Returns: | The float or None if reading failed. |
HyperFile.
ReadFloat64
(
)
¶
New in version R15.037.
Read a double precision float from the hyperfile.
Return type: | float |
---|---|
Returns: | The float or None if reading failed. |
HyperFile.
ReadVector
(
)
¶
Read a
Vector
from the hyperfile.
Return type: | c4d.Vector |
---|---|
Returns: | The vector or None if reading failed. |
HyperFile.
ReadVector32
(
)
¶
New in version R16.021.
Read a
Vector
from the hyperfile.
Return type: | c4d.Vector |
---|---|
Returns: | The vector or None if reading failed. |
HyperFile.
ReadVector64
(
)
¶
New in version R15.037.
Read a double precision
Vector
from the hyperfile.
Return type: | c4d.Vector |
---|---|
Returns: | The vector or None if reading failed. |
HyperFile.
ReadMatrix
(
)
¶
Read a
Matrix
from the hyperfile.
Return type: | c4d.Matrix |
---|---|
Returns: | The matrix or None if reading failed. |
HyperFile.
ReadMatrix32
(
)
¶
New in version R16.021.
Read a
Matrix
from the hyperfile.
Return type: | c4d.Matrix |
---|---|
Returns: | The matrix or None if reading failed. |
HyperFile.
ReadMatrix64
(
)
¶
New in version R15.037.
Read a double precision
Matrix
from the hyperfile.
Return type: | c4d.Matrix |
---|---|
Returns: | The matrix or None if reading failed. |
HyperFile.
ReadBool
(
)
¶
Read a bool from the hyperfile.
Return type: | bool |
---|---|
Returns: | The bool or None if reading failed. |
HyperFile.
ReadTime
(
)
¶
Read a
BaseTime
from the hyperfile.
Return type: | c4d.BaseTime |
---|---|
Returns: | The time or None if reading failed. |
HyperFile.
ReadString
(
)
¶
Read a string from the hyperfile.
Return type: | str |
---|---|
Returns: | The string or None if reading failed. |
HyperFile.
ReadFilename
(
)
¶
Read a path from the hyperfile.
Return type: | str |
---|---|
Returns: | The path or None if reading failed. |
HyperFile.
ReadImage
(
)
¶
Read a bitmap from the hyperfile.
Return type: | c4d.bitmaps.BaseBitmap |
---|---|
Returns: | The bitmap or None if reading failed. |
HyperFile.
ReadContainer
(
)
¶
Read a container from the hyperfile.
Return type: | c4d.bitmaps.BaseBitmap |
---|---|
Returns: | The container or None if reading failed. |
HyperFile.
ReadMemory
(
)
¶
Read a block of memory from the hyperfile.
Note
Only use this when you need to, be aware that the byte sequences will not be platform independent.
Return type: | c4d.storage.ByteSeq |
---|---|
Returns: | The value or None if reading failed. |
HyperFile.
ReadData
(
)
¶
Read a data from the hyperfile.
Note
Please check the constructor of GeData in the C++ SDK to see what type this method accepts.
Return type: | any |
---|---|
Returns: | The value or None if reading failed. |
HyperFile.
GetError
(
)
¶
Get the error from the last hyperfile operation.
Return type: | int |
---|---|
Returns: | The error number. |
HyperFile.
SetError
(
err
)
¶
Set the error value for this hyperfile.
Parameters: | err ( int ) – The error number. |
---|
HyperFile.
ReadValueHeader
(
)
¶
Read the value header from the file. This is only necessary in combination with loops.
Example:
from c4d import storage as st def ReadSettings(op, hf, level): while hf.ReadValueHeader()==st.HYPERFILEVALUE_START: chunk = hf.ReadChunkStart() if not chunk: return False id = chunk["id"] if id==2: i1 = hf.ReadInt32() i2 = hf.ReadInt32() #do_here elif id==3: i1 = hf.ReadInt32() i2 = hf.ReadInt32() i3 = hf.ReadInt32() #do_here hf.SkipToEndChunk() #never forget this at the end if id==0: break test = hf.ReadString() #do here return True
Set the error value for this hyperfile.
Rtype h: | int | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Returns: |
The values or
None
:
|
HyperFile.
SkipValue
(
h
)
¶
Skip a given type of value.
Parameters: | h ( int ) – The header type to skip. |
---|
HyperFile.
WriteChunkStart
(
id
,
level
)
¶
Write a chunk marker into the file indicating the begining of a new chunk of data.
Note
Chunks should only be used if absolutely necessary. If a plugin uses chunks badly then the file structure can become corrupted.
Parameters: |
|
---|---|
Return type: |
bool |
Returns: |
Success of writing the chunk identification. |
HyperFile.
WriteChunkEnd
(
)
¶
Write a chunk ending marker into the file.
Return type: | bool |
---|---|
Returns: | Success of writing the chunk end. |
HyperFile.
ReadChunkStart
(
)
¶
Read a chunks identification from the file:
chunk = hf.ReadChunkStart() if chunk==None: return id = chunk["id"] # Chunk ID, int level = chunk["level"] # Chunk Level, int
Return type: | dict{ id : int, level : int} |
---|---|
Returns: | The identification or None on failure. |
HyperFile.
ReadChunkEnd
(
)
¶
Read a chunks end marker from the file.
Return type: | bool |
---|---|
Returns: | Success of reading the chunk end. |
HyperFile.
SkipToEndChunk
(
)
¶
Move the file pointer to the end of the chunk.
Note
This should always be called after finishing reading your values from this chunk.
Return type: | bool |
---|---|
Returns: | Success of finding the end of the chunk. |
HyperFile.
GetDocument
(
)
¶
Gets the active document for the hyper file operation. Can be None , for example when saving layouts.
Return type: | c4d.documents.BaseDocument |
---|---|
Returns: | The document or None . |
HyperFile.
GetFileVersion
(
)
¶
Get the version of Cinema 4D that wrote the file. (Only valid during reading a Cinema 4D scene, object, material etc.)
Return type: | int |
---|---|
Returns: | The file version. |