diff options
| author | Alon Levy <alon@pobox.com> | 2015-05-11 18:41:49 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-05-12 12:29:54 +0300 |
| commit | ed332153735b915e978862e8342b13845ccaca78 (patch) | |
| tree | 47a4d4bae18b1914217db4729cc480c8082cdf5f /src | |
| parent | 9d065a60cc13f0cf67f8ee5ce9f51233d13c3ad1 (diff) | |
server/db_op: refactor blob gzip/base64 code
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/db_op.py | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/server/db_op.py b/src/server/db_op.py index 89d61cd1..3b526029 100644 --- a/src/server/db_op.py +++ b/src/server/db_op.py @@ -192,6 +192,16 @@ class DB_composed_op(DB_op): ret.append(s_result_set) return ret +def obj_to_blob(obj): + """ + @return: blob = base64(gzip(json.dumps(obj))) + """ + obj_str = json.dumps(obj) + blob_gzip = gzip.zlib.compress(obj_str) + blob_base64 = base64.encodestring(blob_gzip) + + return blob_base64 + class DBO_block_chain__commit(DB_op): """ Rhizi version control @@ -215,7 +225,7 @@ class DBO_block_chain__commit(DB_op): """ super(DBO_block_chain__commit, self).__init__() - blob = self._convert_to_blob(commit_obj) + blob = obj_to_blob(commit_obj) hash_value = self.calc_blob_hash(blob) l_id = generate_random_id__uuid() @@ -254,24 +264,6 @@ class DBO_block_chain__commit(DB_op): ] self.add_statement(q_arr) - def _convert_to_blob(self, obj): - """ - @return: blob = base64(gzip(json.dumps(obj))) - """ - obj_str = json.dumps(obj) - blob_gzip = self._gzip_compress_string(obj_str) - blob_base64 = base64.encodestring(blob_gzip) - - return blob_base64 - - def _gzip_compress_string(self, input_string): - out = sio.StringIO() - with gzip.GzipFile(fileobj=out, mode='wb') as f: - f.write(input_string) - - ret = out.getvalue() - return ret - def process_result_set(self): """ @return: a Topo_Diff object consisting of the commit node and parent link |
