diff options
author | owsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2008-06-27 18:04:07 +0000 |
---|---|---|
committer | owsla <owsla@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2008-06-27 18:04:07 +0000 |
commit | f840ffb6ea47b46d40057feea78dae1dbd30e511 (patch) | |
tree | 1b422f9b1928269c7dabcf5aad80968fac466486 | |
parent | 8312a9446cb7f7220c70f975a08e8c8d55bb6d38 (diff) | |
download | rdiff-backup-f840ffb6ea47b46d40057feea78dae1dbd30e511.tar.gz |
Fix user_group.py to run on native Windows, which lacks grp and pwd Python
modules. (Patch from Fred Gansevles)
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@903 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
-rw-r--r-- | rdiff-backup/CHANGELOG | 3 | ||||
-rw-r--r-- | rdiff-backup/rdiff_backup/user_group.py | 14 |
2 files changed, 12 insertions, 5 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG index ed21e42..f587cde 100644 --- a/rdiff-backup/CHANGELOG +++ b/rdiff-backup/CHANGELOG @@ -1,6 +1,9 @@ New in v1.1.17 (????/??/??) --------------------------- +Fix user_group.py to run on native Windows, which lacks grp and pwd Python +modules. (Patch from Fred Gansevles) + Optimize --check-destination and other functions by determining the increment files server-side instead of client-side. (Patch from Josh Nisly) diff --git a/rdiff-backup/rdiff_backup/user_group.py b/rdiff-backup/rdiff_backup/user_group.py index 39b27e1..e670f75 100644 --- a/rdiff-backup/rdiff_backup/user_group.py +++ b/rdiff-backup/rdiff_backup/user_group.py @@ -30,7 +30,11 @@ objects should only be used on the destination. """ -import grp, pwd +try: + import grp, pwd +except ImportError: + pass + import log, Globals ############ "Private" section - don't use outside user_group ########### @@ -52,7 +56,7 @@ def uname2uid(uname): try: return uname2uid_dict[uname] except KeyError: try: uid = pwd.getpwnam(uname)[2] - except KeyError: uid = None + except (KeyError, NameError): uid = None uname2uid_dict[uname] = uid return uid @@ -62,7 +66,7 @@ def gname2gid(gname): try: return gname2gid_dict[gname] except KeyError: try: gid = grp.getgrnam(gname)[2] - except KeyError: gid = None + except (KeyError, NameError): gid = None gname2gid_dict[gname] = gid return gid @@ -163,7 +167,7 @@ def uid2uname(uid): try: return uid2uname_dict[uid] except KeyError: try: uname = pwd.getpwuid(uid)[0] - except (KeyError, OverflowError), e: uname = None + except (KeyError, OverflowError, NameError), e: uname = None uid2uname_dict[uid] = uname return uname @@ -172,7 +176,7 @@ def gid2gname(gid): try: return gid2gname_dict[gid] except KeyError: try: gname = grp.getgrgid(gid)[0] - except (KeyError, OverflowError), e: gname = None + except (KeyError, OverflowError, NameError), e: gname = None gid2gname_dict[gid] = gname return gname |