Skip to content

Commit

Permalink
Merge PR ceph#26763 into master
Browse files Browse the repository at this point in the history
* refs/pull/26763/head:
	mgr/diskprediction_cloud: Fixed cannot import string.maketrans in the python 3.x

Reviewed-by: Sebastian Wagner <[email protected]>
  • Loading branch information
liewegas committed Mar 11, 2019
2 parents 29ec97d + b9adb7c commit cca5bd5
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions src/pybind/mgr/diskprediction_cloud/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@
import json
from mgr_module import MgrModule
import os
from string import maketrans
from threading import Event

try:
from string import maketrans
except ImportError:
maketrans = str.maketrans

from .common import DP_MGR_STAT_ENABLED, DP_MGR_STAT_DISABLED
from .task import MetricsRunner, SmartRunner, PredictRunner, TestRunner

Expand All @@ -22,16 +26,30 @@
ORIGIN_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"


def encode_string(value):
def get_transtable():
transtable = maketrans(CUSTOMER_ALPHABET, ORIGIN_ALPHABET)
return transtable


def get_reverse_transtable():
transtable = maketrans(ORIGIN_ALPHABET, CUSTOMER_ALPHABET)
e = base64.b64encode(value)
return e.translate(transtable)[:-1]
return transtable


def encode_string(value):
if len(value) == 0:
return ""
transtable = get_transtable()
e = str((base64.b64encode(str(value).encode())).decode("utf-8")[:-1])
return e.translate(transtable)


def decode_string(value):
transtable = maketrans(CUSTOMER_ALPHABET, ORIGIN_ALPHABET)
if len(value) == 0:
return ""
transtable = get_reverse_transtable()
e = str(value).translate(transtable) + "="
return base64.b64decode(e)
return base64.b64decode(e).decode("utf-8")


class Module(MgrModule):
Expand Down

0 comments on commit cca5bd5

Please sign in to comment.