beremiz

SVGHMI: add static file serving feature.
py2compat
17 months ago, Edouard Tisserant
18071ab59cb3
SVGHMI: add static file serving feature.

Added two buttons to add and remove files.
Files are stored in project inside a directory named "static",
itself located in svghmi CTN instance files. Exemple :
exemples/svghmi_csv_json_img_table/svghmi_0@svghmi/static/
Files are transfered as "extra_files", but with a prefix
added to their name to avoid conflics.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# See COPYING file for copyrights details.
from __future__ import absolute_import
import hashlib
from runtime import PlcStatus
class ConnectorBase(object):
chuncksize = 1024*1024
PLCObjDefaults = {
"StartPLC": False,
"GetTraceVariables": (PlcStatus.Broken, None),
"GetPLCstatus": (PlcStatus.Broken, None),
"RemoteExec": (-1, "RemoteExec script failed!"),
"GetVersions": "*** Unknown ***"
}
def BlobFromFile(self, filepath, seed):
s = hashlib.new('md5')
s.update(seed)
blobID = self.SeedBlob(seed)
with open(filepath, "rb") as f:
while blobID == s.digest():
chunk = f.read(self.chuncksize)
if len(chunk) == 0:
return blobID
blobID = self.AppendChunkToBlob(chunk, blobID)
s.update(chunk)
raise IOError("Data corrupted during transfer or connection lost")