debianmemberportfolio/ddportfolioservice/model/dddatabuilder.py
Jan Dittberner 6d9b5b85c8 pre-fill fields if enough necessary information is given
- the email address is enough information for DDs
- default to JSON mode
- use text/javascript content type for JSON response in ddportfolio
  controller
2009-02-17 23:30:03 +01:00

39 lines
1.5 KiB
Python

# -*- python -*-
# -*- coding: utf-8 -*-
#
# DDPortfolio service DD data builder
# Copyright (c) 2009 Jan Dittberner <jan@dittberner.info>
#
# This file is part of DDPortfolio service.
#
# DDPortfolio service is free software: you can redistribute it and/or
# modify it under the terms of the GNU Affero General Public License
# as published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# DDPortfolio service is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public
# License along with this program. If not, see
# <http://www.gnu.org/licenses/>.
#
from ddportfolioservice.model import keyfinder
def build_data(email_address):
"""Build a DD data structure from a given email address."""
fields = dict([(field, func(str(email_address))) \
for (field, func) in \
[('gpgfp', keyfinder.getFingerprintByEmail),
('name', keyfinder.getRealnameByEmail),
('username', keyfinder.getLoginByEmail)]])
fields['email'] = email_address
if fields['username'] and fields['gpgfp'] and fields['name']:
fields['isdd'] = 1
else:
fields['isdd'] = 0
return fields