diff options
Diffstat (limited to 'tools/glusterfind/src/changelogdata.py')
| -rw-r--r-- | tools/glusterfind/src/changelogdata.py | 52 | 
1 files changed, 13 insertions, 39 deletions
diff --git a/tools/glusterfind/src/changelogdata.py b/tools/glusterfind/src/changelogdata.py index b4a97093aa8..3140d945b49 100644 --- a/tools/glusterfind/src/changelogdata.py +++ b/tools/glusterfind/src/changelogdata.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python  # -*- coding: utf-8 -*-  # Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/> @@ -10,10 +9,9 @@  # cases as published by the Free Software Foundation.  import sqlite3 -import urllib  import os -from utils import RecordType +from utils import RecordType, unquote_plus_space_newline  from utils import output_path_prepare @@ -92,7 +90,7 @@ class ChangelogData(object):          self._create_table_pgfid()          self._create_table_inodegfid()          self.args = args -        self.path_sep = "/" if args.no_encode else "%2F" +        self.path_sep = "/"      def _create_table_gfidpath(self):          drop_table = "DROP TABLE IF EXISTS gfidpath" @@ -323,36 +321,21 @@ class ChangelogData(object):      def when_create_mknod_mkdir(self, changelogfile, data):          # E <GFID> <MKNOD|CREATE|MKDIR> <MODE> <USER> <GRP> <PGFID>/<BNAME>          # Add the Entry to DB -        # urllib.unquote_plus will not handle unicode so, encode Unicode to -        # represent in 8 bit format and then unquote -        pgfid1, bn1 = urllib.unquote_plus( -            data[6].encode("utf-8")).split("/", 1) +        pgfid1, bn1 = data[6].split("/", 1)          if self.args.no_encode: -            # No urlencode since no_encode is set, so convert again to Unicode -            # format from previously encoded. -            bn1 = bn1.decode("utf-8").strip() -        else: -            # Quote again the basename -            bn1 = urllib.quote_plus(bn1.strip()) +            bn1 = unquote_plus_space_newline(bn1).strip()          self.gfidpath_add(changelogfile, RecordType.NEW, data[1], pgfid1, bn1)      def when_rename(self, changelogfile, data):          # E <GFID> RENAME <OLD_PGFID>/<BNAME> <PGFID>/<BNAME> -        pgfid1, bn1 = urllib.unquote_plus( -            data[3].encode("utf-8")).split("/", 1) -        pgfid2, bn2 = urllib.unquote_plus( -            data[4].encode("utf-8")).split("/", 1) +        pgfid1, bn1 = data[3].split("/", 1) +        pgfid2, bn2 = data[4].split("/", 1)          if self.args.no_encode: -            # Quote again the basename -            bn1 = bn1.decode("utf-8").strip() -            bn2 = bn2.decode("utf-8").strip() -        else: -            # Quote again the basename -            bn1 = urllib.quote_plus(bn1.strip()) -            bn2 = urllib.quote_plus(bn2.strip()) +            bn1 = unquote_plus_space_newline(bn1).strip() +            bn2 = unquote_plus_space_newline(bn2).strip()          if self.gfidpath_exists({"gfid": data[1], "type": "NEW",                                   "pgfid1": pgfid1, "bn1": bn1}): @@ -392,14 +375,9 @@ class ChangelogData(object):      def when_link_symlink(self, changelogfile, data):          # E <GFID> <LINK|SYMLINK> <PGFID>/<BASENAME>          # Add as New record in Db as Type NEW -        pgfid1, bn1 = urllib.unquote_plus( -            data[3].encode("utf-8")).split("/", 1) +        pgfid1, bn1 = data[3].split("/", 1)          if self.args.no_encode: -            # Quote again the basename -            bn1 = bn1.decode("utf-8").strip() -        else: -            # Quote again the basename -            bn1 = urllib.quote_plus(bn1.strip()) +            bn1 = unquote_plus_space_newline(bn1).strip()          self.gfidpath_add(changelogfile, RecordType.NEW, data[1], pgfid1, bn1) @@ -411,18 +389,14 @@ class ChangelogData(object):      def when_unlink_rmdir(self, changelogfile, data):          # E <GFID> <UNLINK|RMDIR> <PGFID>/<BASENAME> -        pgfid1, bn1 = urllib.unquote_plus( -            data[3].encode("utf-8")).split("/", 1) +        pgfid1, bn1 = data[3].split("/", 1)          if self.args.no_encode: -            bn1 = bn1.decode("utf-8").strip() -        else: -            # Quote again the basename -            bn1 = urllib.quote_plus(bn1.strip()) +            bn1 = unquote_plus_space_newline(bn1).strip()          deleted_path = data[4] if len(data) == 5 else ""          if deleted_path != "": -            deleted_path = urllib.unquote_plus(deleted_path.encode("utf-8")) +            deleted_path = unquote_plus_space_newline(deleted_path)              deleted_path = output_path_prepare(deleted_path, self.args)          if self.gfidpath_exists({"gfid": data[1], "type": "NEW",  | 
