示例#1
0
    def generate_response_header(self, byteorder, content_type,
                                 content_encoding, content_length, filename):
        """
        This function creates the jsonHeader to be sent. The jsonHeader contains imp info such as
        file name, file length, md5 hash etc.
        """
        self.byteorder = byteorder
        self.content_type = content_type
        self.content_encoding = content_encoding
        self.content_length = content_length
        self.filename = filename

        # if client_id is not found or server has nothing to send then return a jsonHeader such that
        # jsonHeader["file-name"] = 0
        if self.filename == 0:
            self.content_length = 0
            jsonHeader = {
                "byteorder": sys.byteorder,
                "content-type": self.content_type,
                "content-encoding": self.content_encoding,
                "content-length": self.content_length,
                "file-name": self.filename
            }
            return jsonHeader

        else:
            db = Database()
            md_5_hash = db.findFileHash(self.filename)
            extension = self.filename.split('.')[1]
            jsonHeader = {
                "byteorder": sys.byteorder,
                "content-type": self.content_type,
                "content-encoding": self.content_encoding,
                "content-length": self.content_length,
                "file-name": self.filename,
                "extension": extension,
                "md-5-hash": md_5_hash
            }
            return jsonHeader