本文整理汇总了Python中website.profile.utils.add_contributor_json函数的典型用法代码示例。如果您正苦于以下问题:Python add_contributor_json函数的具体用法?Python add_contributor_json怎么用?Python add_contributor_json使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了add_contributor_json函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: get_recently_added_contributors
def get_recently_added_contributors(auth, node, **kwargs):
max_results = request.args.get('max')
if max_results:
try:
max_results = int(max_results)
except (TypeError, ValueError):
raise HTTPError(http.BAD_REQUEST)
if not max_results:
max_results = len(auth.user.recently_added)
# only include active contributors
active_contribs = itertools.ifilter(
lambda c: c.is_active and c._id not in node.contributors,
auth.user.recently_added
)
# Limit to max_results
limited_contribs = itertools.islice(active_contribs, max_results)
contribs = [
utils.add_contributor_json(contrib, auth.user)
for contrib in limited_contribs
]
return {'contributors': contribs}
开发者ID:jinluyuan,项目名称:osf.io,代码行数:25,代码来源:contributor.py
示例2: invite_contributor_post
def invite_contributor_post(node, **kwargs):
"""API view for inviting an unregistered user.
Expects JSON arguments with 'fullname' (required) and email (not required).
"""
fullname = request.json.get('fullname').strip()
email = request.json.get('email')
if email:
email = email.lower().strip()
if not fullname:
return {'status': 400, 'message': 'Must provide fullname'}, 400
# Check if email is in the database
user = get_user(email=email)
if user:
if user.is_registered:
msg = 'User is already in database. Please go back and try your search again.'
return {'status': 400, 'message': msg}, 400
elif node.is_contributor(user):
msg = 'User with this email address is already a contributor to this project.'
return {'status': 400, 'message': msg}, 400
else:
serialized = utils.add_contributor_json(user)
# use correct display name
serialized['fullname'] = fullname
serialized['email'] = email
else:
# Create a placeholder
serialized = utils.serialize_unregistered(fullname, email)
return {'status': 'success', 'contributor': serialized}
开发者ID:jinluyuan,项目名称:osf.io,代码行数:28,代码来源:contributor.py
示例3: get_most_in_common_contributors
def get_most_in_common_contributors(auth, node, **kwargs):
node_contrib_ids = set(node.contributors._to_primary_keys())
try:
n_contribs = int(request.args.get('max', None))
except (TypeError, ValueError):
n_contribs = settings.MAX_MOST_IN_COMMON_LENGTH
contrib_counts = Counter(contrib_id
for node in auth.user.node__contributed
for contrib_id in node.contributors._to_primary_keys()
if contrib_id not in node_contrib_ids)
active_contribs = itertools.ifilter(
lambda c: User.load(c[0]).is_active,
contrib_counts.most_common()
)
limited = itertools.islice(active_contribs, n_contribs)
contrib_objs = [(User.load(_id), count) for _id, count in limited]
contribs = [
utils.add_contributor_json(most_contrib, auth.user)
for most_contrib, count in sorted(contrib_objs, key=lambda t: (-t[1], t[0].fullname))
]
return {'contributors': contribs}
开发者ID:jinluyuan,项目名称:osf.io,代码行数:26,代码来源:contributor.py
示例4: get_contributors_from_parent
def get_contributors_from_parent(auth, node, **kwargs):
parent = node.parent_node
if not parent:
raise HTTPError(http.BAD_REQUEST)
if not node.can_view(auth):
raise HTTPError(http.FORBIDDEN)
contribs = [profile_utils.add_contributor_json(contrib) for contrib in parent.visible_contributors]
return {"contributors": contribs}
开发者ID:cslzchen,项目名称:osf.io,代码行数:13,代码来源:contributor.py
示例5: test_add_contributor_json
def test_add_contributor_json(self):
# User with no employment or education info listed
user_info = utils.add_contributor_json(self.user)
assert_equal(user_info['fullname'], self.fullname)
assert_equal(user_info['email'], self.username)
assert_equal(user_info['id'], self.user_id)
assert_equal(user_info['employment'], None)
assert_equal(user_info['education'], None)
assert_equal(user_info['n_projects_in_common'], 0)
assert_equal(user_info['registered'], True)
assert_equal(user_info['active'], True)
assert_in('secure.gravatar.com', user_info['gravatar_url'])
assert_equal(user_info['profile_url'], self.profile)
开发者ID:arpitar,项目名称:osf.io,代码行数:14,代码来源:test_serializers.py
示例6: test_add_contributor_json_with_job
def test_add_contributor_json_with_job(self):
# Test user with only employment information
self.user.jobs = self.jobs
user_info = utils.add_contributor_json(self.user)
assert_equal(user_info['fullname'], self.fullname)
assert_equal(user_info['email'], self.username)
assert_equal(user_info['id'], self.user_id)
assert_equal(user_info['employment'], self.user.jobs[0]['institution'])
assert_equal(user_info['education'], None)
assert_equal(user_info['n_projects_in_common'], 0)
assert_equal(user_info['registered'], True)
assert_equal(user_info['active'], True)
assert_in('secure.gravatar.com', user_info['gravatar_url'])
assert_equal(user_info['profile_url'], self.profile)
开发者ID:arpitar,项目名称:osf.io,代码行数:15,代码来源:test_serializers.py
示例7: test_add_contributor_json_with_job_and_edu
def test_add_contributor_json_with_job_and_edu(self):
# User with both employment and education information
self.user.jobs = self.jobs
self.user.schools = self.schools
user_info = utils.add_contributor_json(self.user)
assert_equal(user_info['fullname'], self.fullname)
assert_equal(user_info['email'], self.username)
assert_equal(user_info['id'], self.user_id)
assert_equal(user_info['employment'], self.user.jobs[0]['institution'])
assert_equal(user_info['education'], self.user.schools[0]['institution'])
assert_equal(user_info['n_projects_in_common'], 0)
assert_equal(user_info['registered'], True)
assert_equal(user_info['active'], True)
assert_in('secure.gravatar.com', user_info['profile_image_url'])
assert_equal(user_info['profile_url'], self.profile)
开发者ID:leb2dg,项目名称:osf.io,代码行数:16,代码来源:test_serializers.py
示例8: get_contributors_from_parent
def get_contributors_from_parent(auth, **kwargs):
node = kwargs['node'] or kwargs['project']
parent = node.parent_node
if not parent:
raise HTTPError(http.BAD_REQUEST)
if not node.can_view(auth):
raise HTTPError(http.FORBIDDEN)
contribs = [
utils.add_contributor_json(contrib)
for contrib in parent.visible_contributors
if contrib._id not in node.visible_contributor_ids
]
return {'contributors': contribs}
开发者ID:AndrewSallans,项目名称:osf.io,代码行数:18,代码来源:contributor.py
示例9: invite_contributor_post
def invite_contributor_post(node, **kwargs):
"""API view for inviting an unregistered user. Performs validation, but does not actually invite the user.
Expects JSON arguments with 'fullname' (required) and email (not required).
"""
fullname = request.json.get('fullname').strip()
email = request.json.get('email')
# Validate and sanitize inputs as needed. Email will raise error if invalid.
fullname = sanitize.strip_html(fullname)
if email:
email = email.lower().strip()
try:
validate_email(email)
except ValidationError as e:
return {'status': 400, 'message': e.message}, 400
if not fullname:
return {'status': 400, 'message': 'Full name field cannot be empty'}, 400
# Check if email is in the database
user = get_user(email=email)
if user:
if user.is_registered:
msg = 'User is already in database. Please go back and try your search again.'
return {'status': 400, 'message': msg}, 400
elif node.is_contributor(user):
msg = 'User with this email address is already a contributor to this project.'
return {'status': 400, 'message': msg}, 400
elif not user.is_confirmed:
serialized = profile_utils.serialize_unregistered(fullname, email)
else:
serialized = profile_utils.add_contributor_json(user)
# use correct display name
serialized['fullname'] = fullname
serialized['email'] = email
else:
# Create a placeholder
serialized = profile_utils.serialize_unregistered(fullname, email)
return {'status': 'success', 'contributor': serialized}
开发者ID:mfraezz,项目名称:osf.io,代码行数:39,代码来源:contributor.py
注:本文中的website.profile.utils.add_contributor_json函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论