Rev 2329: (Dmitry Vasiliev) Improvements to osutils functions. in http://bzr.arbash-meinel.com/branches/bzr/jam-integration
John Arbash Meinel
john at arbash-meinel.com
Fri Mar 9 21:10:51 GMT 2007
At http://bzr.arbash-meinel.com/branches/bzr/jam-integration
------------------------------------------------------------
revno: 2329
revision-id: john at arbash-meinel.com-20070309211043-ln4hotho1vm2v5ur
parent: pqm at pqm.ubuntu.com-20070309020838-1dd7e652bc5c30ff
parent: dima at hlabs.spb.ru-20070307153731-2en9aa3ymzx4ltnn
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: jam-integration
timestamp: Fri 2007-03-09 15:10:43 -0600
message:
(Dmitry Vasiliev) Improvements to osutils functions.
modified:
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
------------------------------------------------------------
revno: 2324.2.4
merged: dima at hlabs.spb.ru-20070307153731-2en9aa3ymzx4ltnn
parent: dima at hlabs.spb.ru-20070307151756-ryfruec1tq9g8344
committer: Dmitry Vasiliev <dima at hlabs.spb.ru>
branch nick: Small fixes
timestamp: Wed 2007-03-07 18:37:31 +0300
message:
Fixed test_unicode__walkdirs_utf8 test
------------------------------------------------------------
revno: 2324.2.3
merged: dima at hlabs.spb.ru-20070307151756-ryfruec1tq9g8344
parent: dima at hlabs.spb.ru-20070307144251-ogtxgcax84659wb0
committer: Dmitry Vasiliev <dima at hlabs.spb.ru>
branch nick: Small fixes
timestamp: Wed 2007-03-07 18:17:56 +0300
message:
Fixed is_inside_* methods implementation
------------------------------------------------------------
revno: 2324.2.2
merged: dima at hlabs.spb.ru-20070307144251-ogtxgcax84659wb0
parent: dima at hlabs.spb.ru-20070307143607-na1fu8ut20td0i1u
committer: Dmitry Vasiliev <dima at hlabs.spb.ru>
branch nick: Small fixes
timestamp: Wed 2007-03-07 17:42:51 +0300
message:
Fixed lexists() implementation
------------------------------------------------------------
revno: 2324.2.1
merged: dima at hlabs.spb.ru-20070307143607-na1fu8ut20td0i1u
parent: pqm at pqm.ubuntu.com-20070307121852-b60a661123a5063d
committer: Dmitry Vasiliev <dima at hlabs.spb.ru>
branch nick: Small fixes
timestamp: Wed 2007-03-07 17:36:07 +0300
message:
kind_marker() optimization
-------------- next part --------------
=== modified file 'bzrlib/osutils.py'
--- a/bzrlib/osutils.py 2007-03-07 01:14:11 +0000
+++ b/bzrlib/osutils.py 2007-03-07 15:17:56 +0000
@@ -145,26 +145,26 @@
return umask
+_kind_marker_map = {
+ "file": "",
+ _directory_kind: "/",
+ "symlink": "@",
+}
def kind_marker(kind):
- if kind == 'file':
- return ''
- elif kind == _directory_kind:
- return '/'
- elif kind == 'symlink':
- return '@'
- else:
+ try:
+ return _kind_marker_map[kind]
+ except KeyError:
raise errors.BzrError('invalid file kind %r' % kind)
+
lexists = getattr(os.path, 'lexists', None)
if lexists is None:
def lexists(f):
try:
- if getattr(os, 'lstat') is not None:
- os.lstat(f)
- else:
- os.stat(f)
+ stat = getattr(os, 'lstat', os.stat)
+ stat(f)
return True
- except OSError,e:
+ except OSError, e:
if e.errno == errno.ENOENT:
return False;
else:
@@ -518,8 +518,7 @@
for dirname in dir_list:
if is_inside(dirname, fname):
return True
- else:
- return False
+ return False
def is_inside_or_parent_of_any(dir_list, fname):
@@ -527,8 +526,7 @@
for dirname in dir_list:
if is_inside(dirname, fname) or is_inside(fname, dirname):
return True
- else:
- return False
+ return False
def pumpfile(fromfile, tofile):
=== modified file 'bzrlib/tests/test_osutils.py'
--- a/bzrlib/tests/test_osutils.py 2007-03-07 01:14:11 +0000
+++ b/bzrlib/tests/test_osutils.py 2007-03-07 15:37:31 +0000
@@ -241,6 +241,13 @@
self.assertEqual(baz_path, osutils.dereference_path(foo_baz_path))
+ def test_kind_marker(self):
+ self.assertEqual("", osutils.kind_marker("file"))
+ self.assertEqual("/", osutils.kind_marker(osutils._directory_kind))
+ self.assertEqual("@", osutils.kind_marker("symlink"))
+ self.assertRaises(errors.BzrError, osutils.kind_marker, "unknown")
+
+
class TestSafeUnicode(TestCase):
def test_from_ascii_string(self):
@@ -704,7 +711,8 @@
for dirdetail, dirblock in osutils._walkdirs_utf8('.'):
self.assertIsInstance(dirdetail[0], str)
if isinstance(dirdetail[1], unicode):
- dirdetail[1] = dirdetail[1].encode('utf8')
+ dirdetail = (dirdetail[0], dirdetail[1].encode('utf8'))
+ dirblock = [list(info) for info in dirblock]
for info in dirblock:
self.assertIsInstance(info[4], unicode)
info[4] = info[4].encode('utf8')
More information about the bazaar-commits
mailing list