Source code for rebus

from __future__ import print_function

__title__ = 'rebus'
__version__ = '0.1'
__build__ = 0x000001
__author__ = 'Artur Barseghyan'
__copyright__ = 'Copyright (c) 2013 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = ('b32encode', 'b64encode', 'urlsafe_b64encode')

import logging
import base64

from six import binary_type

logger = logging.getLogger(__file__)

class EncodedText(object):
    """
    Container.
    """
    def __init__(self, text, encoded):
        self.text = text
        self.encoded = encoded

    def __str__(self):
        return str(self.encoded)
    __unicode__ = __str__
    __repr__ = __str__


[docs]def b32encode(text, return_object=False): """ :param string text: :param bool return_object: :return string: """ changed_text = binary_type((text + ((int(len(text) / 5) + 1) * 5 - len(text)) * '\n').encode()) encoded_text = base64.b32encode(changed_text) if return_object: return EncodedText(text=changed_text, encoded=encoded_text) return encoded_text
[docs]def b64encode(text, return_object=False): """ :param string text: :return string: """ changed_text = binary_type((text + ((int(len(text) / 3) + 1) * 3 - len(text)) * '\n').encode()) encoded_text = base64.b64encode(changed_text) if return_object: return EncodedText(text=changed_text, encoded=encoded_text) return encoded_text
[docs]def urlsafe_b64encode(text, return_object=False): """ :param string text: :return string: """ changed_text = binary_type((text + ((int(len(text) / 3) + 1) * 3 - len(text)) * '\n').encode()) encoded_text = base64.urlsafe_b64encode(changed_text) if return_object: return EncodedText(text=changed_text, encoded=encoded_text) return encoded_text
Read the Docs v: 0.1
Versions
latest
0.1
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.