Procházet zdrojové kódy

More useful error messages for getpwnam/getgrnam

Ask Solem před 14 roky
rodič
revize
b4c06b51a2
1 změnil soubory, kde provedl 8 přidání a 2 odebrání
  1. 8 2
      celery/platforms.py

+ 8 - 2
celery/platforms.py

@@ -217,7 +217,10 @@ def parse_uid(uid):
         return int(uid)
     except ValueError:
         if pwd:
-            return pwd.getpwnam(uid).pw_uid
+            try:
+                return pwd.getpwnam(uid).pw_uid
+            except KeyError:
+                raise KeyError("User does not exist: %r" % (uid, ))
         raise
 
 
@@ -232,7 +235,10 @@ def parse_gid(gid):
         return int(gid)
     except ValueError:
         if grp:
-            return grp.getgrnam(gid).gr_gid
+            try:
+                return grp.getgrnam(gid).gr_gid
+            except KeyError:
+                raise KeyError("Group does not exist: %r" % (gid, ))
         raise