From c3afa110131105ccb55f77e6d1f8e962c9b17950 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Thu, 3 Jun 2010 21:49:34 +0200 Subject: [PATCH] accept extra fields forumsid and wikihomepage --- ddportfolioservice/controllers/ddportfolio.py | 5 +++-- ddportfolioservice/model/form.py | 4 +++- ddportfolioservice/model/urlbuilder.py | 3 ++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ddportfolioservice/controllers/ddportfolio.py b/ddportfolioservice/controllers/ddportfolio.py index 2b613f9..fa126f3 100644 --- a/ddportfolioservice/controllers/ddportfolio.py +++ b/ddportfolioservice/controllers/ddportfolio.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # DDPortfolio service DdportfolioController -# Copyright (c) 2009 Jan Dittberner +# Copyright © 2009, 2010 Jan Dittberner # # This file is part of DDPortfolio service. # @@ -156,7 +156,8 @@ developer name on all bug logs)'), except formencode.validators.Invalid, error: c.messages = { 'errors' : error.unpack_errors() } return render('/showform.mako') - data = build_urls(rp) + data = build_urls(form_result) + log.debug("data %r", data) if 'mode' in rp and rp['mode'] == 'json': response.headers['Content-Type'] = 'text/javascript' return simplejson.dumps( diff --git a/ddportfolioservice/model/form.py b/ddportfolioservice/model/form.py index b88640c..f7b49b0 100644 --- a/ddportfolioservice/model/form.py +++ b/ddportfolioservice/model/form.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # DDPortfolio service form handling model -# Copyright (c) 2009 Jan Dittberner +# Copyright © 2009, 2010 Jan Dittberner # # This file is part of DDPortfolio service. # @@ -35,6 +35,8 @@ class DeveloperData(formencode.Schema): nonddemail = formencode.validators.Email() aliothusername = formencode.validators.PlainText() mode = formencode.validators.OneOf([u'json', u'html'], not_empty=True) + forumsid = formencode.validators.Int(if_missing=None) + wikihomepage = formencode.validators.String(if_missing=None) class DDDataRequest(formencode.Schema): """Validation schema for DDData request.""" diff --git a/ddportfolioservice/model/urlbuilder.py b/ddportfolioservice/model/urlbuilder.py index ee3902b..7b001fd 100644 --- a/ddportfolioservice/model/urlbuilder.py +++ b/ddportfolioservice/model/urlbuilder.py @@ -51,7 +51,8 @@ def build_urls(fields): fields.""" data = [] qfields = dict([(key, quote_plus(fields[key].encode('utf8'))) \ - for key in fields if fields[key] is not None]) + for key in fields \ + if fields[key] is not None and isinstance(fields[key], unicode)]) if 'gpgfp' not in qfields: fpr = keyfinder.getFingerprintByEmail(fields['email'].encode('utf8')) if fpr: