# HG changeset patch # User Marcin Kuzminski # Date 1301771956 -7200 # Node ID 268fa0b6b2ef4cad063b466deef830a1132928f3 # Parent 02a7f263a849b47e02b62ef91d699c0b42f95310 Added os.sep in models for better win support fixed safe unicode function to not use str as param, and skip execution on unicode diff -r 02a7f263a849 -r 268fa0b6b2ef rhodecode/lib/__init__.py --- a/rhodecode/lib/__init__.py Sat Apr 02 21:12:27 2011 +0200 +++ b/rhodecode/lib/__init__.py Sat Apr 02 21:19:16 2011 +0200 @@ -48,20 +48,23 @@ return hashlib.sha1(username + salt).hexdigest() -def safe_unicode(str): +def safe_unicode(_str): """ safe unicode function. In case of UnicodeDecode error we try to return unicode with errors replace, if this fails we return unicode with string_escape decoding """ + if isinstance(_str, unicode): + return _str + try: - u_str = unicode(str) + u_str = unicode(_str) except UnicodeDecodeError: try: - u_str = unicode(str, 'utf-8', 'replace') + u_str = _str.decode('utf-8', 'replace') except UnicodeDecodeError: #incase we have a decode error just represent as byte string - u_str = unicode(str(str).encode('string_escape')) + u_str = unicode(_str.encode('string_escape')) return u_str diff -r 02a7f263a849 -r 268fa0b6b2ef rhodecode/model/db.py --- a/rhodecode/model/db.py Sat Apr 02 21:12:27 2011 +0200 +++ b/rhodecode/model/db.py Sat Apr 02 21:19:16 2011 +0200 @@ -24,6 +24,8 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. + +import os import logging import datetime from datetime import date @@ -212,7 +214,7 @@ @property def just_name(self): - return self.repo_name.split('/')[-1] + return self.repo_name.split(os.sep)[-1] @property def groups_with_parents(self):