##// END OF EJS Templates
docs, and changelog update
docs, and changelog update

File last commit:

r1228:73434499 default
r1252:c8974135 rhodecode-0.0.1.1.8 default
Show More
__init__.py
81 lines | 2.3 KiB | text/x-python | PythonLexer
fixed base.html. and missing lib str2bool function
r922 # -*- coding: utf-8 -*-
"""
rhodecode.lib.__init__
~~~~~~~~~~~~~~~~~~~~~~~
Some simple helper functions
fixed str2bool typo
r1152
fixed base.html. and missing lib str2bool function
r922 :created_on: Jan 5, 2011
:author: marcink
fixed str2bool typo
r1152 :copyright: (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com>
fixed base.html. and missing lib str2bool function
r922 :license: GPLv3, see COPYING for more details.
"""
fixes for stable
r1218 # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
fixed str2bool typo
r1152 #
fixed base.html. and missing lib str2bool function
r922 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
fixed str2bool typo
r1152 #
fixed base.html. and missing lib str2bool function
r922 # You should have received a copy of the GNU General Public License
fixes for stable
r1218 # along with this program. If not, see <http://www.gnu.org/licenses/>.
fixed base.html. and missing lib str2bool function
r922
merges for stable
r1228
def str2bool(_str):
"""
returs True/False value from given string, it tries to translate the
string into boolean
:param _str: string value to translate into boolean
:rtype: boolean
:returns: boolean from given string
"""
if _str is None:
fixes for stable
r1218 return False
merges for stable
r1228 if _str in (True, False):
return _str
_str = str(_str).strip().lower()
return _str in ('t', 'true', 'y', 'yes', 'on', '1')
changes for release 1.1.5
r1136
def generate_api_key(username, salt=None):
fixes for stable
r1218 """
merges for stable
r1228 Generates unique API key for given username,if salt is not given
it'll be generated from some random string
fixes for stable
r1218
:param username: username as string
:param salt: salt to hash generate KEY
merges for stable
r1228 :rtype: str
:returns: sha1 hash from username+salt
fixes for stable
r1218 """
changes for release 1.1.5
r1136 from tempfile import _RandomNameSequence
import hashlib
if salt is None:
salt = _RandomNameSequence().next()
return hashlib.sha1(username + salt).hexdigest()
fixes for stable
r1218
merges for stable
r1228
def safe_unicode(_str, from_encoding='utf8'):
fixes for stable
r1218 """
safe unicode function. In case of UnicodeDecode error we try to return
merges for stable
r1228 unicode with errors replace
:param _str: string to decode
:rtype: unicode
:returns: unicode object
fixes for stable
r1218 """
if isinstance(_str, unicode):
return _str
try:
merges for stable
r1228 u_str = unicode(_str, from_encoding)
fixes for stable
r1218 except UnicodeDecodeError:
merges for stable
r1228 u_str = unicode(_str, from_encoding, 'replace')
fixes for stable
r1218
merges for stable
r1228 return u_str