changeset 1230:cab21a36286d

ehem ... for create too
author Richard Jones <richard@users.sourceforge.net>
date Thu, 26 Sep 2002 07:41:54 +0000
parents 5c581b120738
children c0a40d7ec47c
files roundup/admin.py
diffstat 1 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/roundup/admin.py	Thu Sep 26 07:39:21 2002 +0000
+++ b/roundup/admin.py	Thu Sep 26 07:41:54 2002 +0000
@@ -16,7 +16,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 # 
-# $Id: admin.py,v 1.33 2002-09-26 07:39:21 richard Exp $
+# $Id: admin.py,v 1.34 2002-09-26 07:41:54 richard Exp $
 
 import sys, os, getpass, getopt, re, UserDict, shlex, shutil
 try:
@@ -579,7 +579,7 @@
             value = cl.get(nodeid, key)
             print _('%(key)s: %(value)s')%locals()
 
-    def do_create(self, args):
+    def do_create(self, args, pwre = re.compile(r'{(\w+)}(.+)')):
         '''Usage: create classname property=value ...
         Create a new entry of a given class.
 
@@ -642,7 +642,15 @@
                 except ValueError, message:
                     raise UsageError, _('"%(value)s": %(message)s')%locals()
             elif isinstance(proptype, hyperdb.Password):
-                props[propname] = password.Password(value)
+                m = pwre.match(value)
+                if m:
+                    # password is being given to us encrypted
+                    p = password.Password()
+                    p.scheme = m.group(1)
+                    p.password = m.group(2)
+                    props[propname] = p
+                else:
+                    props[propname] = password.Password(value)
             elif isinstance(proptype, hyperdb.Multilink):
                 props[propname] = value.split(',')
             elif isinstance(proptype, hyperdb.Boolean):

Roundup Issue Tracker: http://roundup-tracker.org/