本文整理匯總了Python中ckan.model.Session方法的典型用法代碼示例。如果您正苦於以下問題:Python model.Session方法的具體用法?Python model.Session怎麽用?Python model.Session使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ckan.model
的用法示例。
在下文中一共展示了model.Session方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: revision_show
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def revision_show(context, data_dict):
'''Return the details of a revision.
:param id: the id of the revision
:type id: string
:rtype: dictionary
'''
model = context['model']
api = context.get('api_version')
id = _get_or_bust(data_dict, 'id')
ref_package_by = 'id' if api == 2 else 'name'
rev = model.Session.query(model.Revision).get(id)
if rev is None:
raise NotFound
rev_dict = model.revision_as_dict(rev, include_packages=True,
ref_package_by=ref_package_by)
return rev_dict
示例2: read
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def read(self, id=None):
context = {'model': model, 'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj,
'for_view': True}
data_dict = {'id': id,
'user_obj': c.userobj,
'include_datasets': True,
'include_num_followers': True}
self._setup_template_variables(context, data_dict)
# The legacy templates have the user's activity stream on the user
# profile page, new templates do not.
if asbool(config.get('ckan.legacy_templates', False)):
c.user_activity_stream = get_action('user_activity_list_html')(
context, {'id': c.user_dict['id']})
return render('user/read.html')
示例3: generate_apikey
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def generate_apikey(self, id):
'''Cycle the API key of a user'''
context = {'model': model,
'session': model.Session,
'user': c.user,
'auth_user_obj': c.userobj,
}
if id is None:
if c.userobj:
id = c.userobj.id
else:
abort(400, _('No user specified'))
data_dict = {'id': id}
try:
result = get_action('user_generate_apikey')(context, data_dict)
except NotAuthorized:
abort(403, _('Unauthorized to edit user %s') % '')
except NotFound:
abort(404, _('User not found'))
h.flash_success(_('Profile updated'))
h.redirect_to(controller='user', action='read', id=result['name'])
示例4: perform_reset
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def perform_reset(self, id):
# FIXME 403 error for invalid key is a non helpful page
context = {'model': model, 'session': model.Session,
'user': id,
'keep_email': True}
try:
check_access('user_reset', context)
except NotAuthorized:
abort(403, _('Unauthorized to reset password.'))
try:
data_dict = {'id': id}
user_dict = get_action('user_show')(context, data_dict)
user_obj = context['user_obj']
except NotFound, e:
abort(404, _('User not found'))
示例5: activity
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def activity(self, id, offset=0):
'''Render this user's public activity stream page.'''
context = {'model': model, 'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj,
'for_view': True}
data_dict = {'id': id, 'user_obj': c.userobj,
'include_num_followers': True}
try:
check_access('user_show', context, data_dict)
except NotAuthorized:
abort(403, _('Not authorized to see this page'))
self._setup_template_variables(context, data_dict)
try:
c.user_activity_stream = get_action('user_activity_list_html')(
context, {'id': c.user_dict['id'], 'offset': offset})
except ValidationError:
base.abort(400)
return render('user/activity_stream.html')
示例6: dashboard
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def dashboard(self, id=None, offset=0):
context = {'model': model, 'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj,
'for_view': True}
data_dict = {'id': id, 'user_obj': c.userobj, 'offset': offset}
self._setup_template_variables(context, data_dict)
q = request.params.get('q', u'')
filter_type = request.params.get('type', u'')
filter_id = request.params.get('name', u'')
c.followee_list = get_action('followee_list')(
context, {'id': c.userobj.id, 'q': q})
c.dashboard_activity_stream_context = self._get_dashboard_context(
filter_type, filter_id, q)
c.dashboard_activity_stream = h.dashboard_activity_stream(
c.userobj.id, filter_type, filter_id, offset
)
# Mark the user's new activities as old whenever they view their
# dashboard page.
get_action('dashboard_mark_activities_old')(context, {})
return render('user/dashboard.html')
示例7: follow
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def follow(self, id):
'''Start following this user.'''
context = {'model': model,
'session': model.Session,
'user': c.user,
'auth_user_obj': c.userobj}
data_dict = {'id': id, 'include_num_followers': True}
try:
get_action('follow_user')(context, data_dict)
user_dict = get_action('user_show')(context, data_dict)
h.flash_success(_("You are now following {0}").format(
user_dict['display_name']))
except ValidationError as e:
error_message = (e.message or e.error_summary
or e.error_dict)
h.flash_error(error_message)
except NotAuthorized as e:
h.flash_error(e.message)
h.redirect_to(controller='user', action='read', id=id)
示例8: unfollow
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def unfollow(self, id):
'''Stop following this user.'''
context = {'model': model,
'session': model.Session,
'user': c.user,
'auth_user_obj': c.userobj}
data_dict = {'id': id, 'include_num_followers': True}
try:
get_action('unfollow_user')(context, data_dict)
user_dict = get_action('user_show')(context, data_dict)
h.flash_success(_("You are no longer following {0}").format(
user_dict['display_name']))
except (NotFound, NotAuthorized) as e:
error_message = e.message
h.flash_error(error_message)
except ValidationError as e:
error_message = (e.error_summary or e.message
or e.error_dict)
h.flash_error(error_message)
h.redirect_to(controller='user', action='read', id=id)
示例9: _package_search
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def _package_search(data_dict):
"""
Helper method that wraps the package_search action.
* unless overridden, sorts results by metadata_modified date
* unless overridden, sets a default item limit
"""
context = {'model': model, 'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj}
if 'sort' not in data_dict or not data_dict['sort']:
data_dict['sort'] = 'metadata_modified desc'
if 'rows' not in data_dict or not data_dict['rows']:
data_dict['rows'] = ITEMS_LIMIT
# package_search action modifies the data_dict, so keep our copy intact.
query = logic.get_action('package_search')(context, data_dict.copy())
return query['count'], query['results']
示例10: resources
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def resources(self, id):
context = {'model': model, 'session': model.Session,
'user': c.user, 'for_view': True,
'auth_user_obj': c.userobj}
data_dict = {'id': id, 'include_tracking': True}
try:
check_access('package_update', context, data_dict)
except NotFound:
abort(404, _('Dataset not found'))
except NotAuthorized:
abort(403, _('User %r not authorized to edit %s') % (c.user, id))
# check if package exists
try:
c.pkg_dict = get_action('package_show')(context, data_dict)
c.pkg = context['package']
except (NotFound, NotAuthorized):
abort(404, _('Dataset not found'))
package_type = c.pkg_dict['type'] or 'dataset'
self._setup_template_variables(context, {'id': id},
package_type=package_type)
return render('package/resources.html',
extra_vars={'dataset_type': package_type})
示例11: read
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def read(self, id):
context = {'model': model, 'session': model.Session,
'user': c.user, 'for_view': True,
'auth_user_obj': c.userobj}
data_dict = {'id': id, 'include_tracking': True}
# interpret @<revision_id> or @<date> suffix
split = id.split('@')
if len(split) == 2:
data_dict['id'], revision_ref = split
if model.is_id(revision_ref):
context['revision_id'] = revision_ref
else:
try:
date = h.date_str_to_datetime(revision_ref)
context['revision_date'] = date
except TypeError, e:
abort(400, _('Invalid revision format: %r') % e.args)
except ValueError, e:
abort(400, _('Invalid revision format: %r') % e.args)
示例12: delete
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def delete(self, id):
if 'cancel' in request.params:
h.redirect_to(controller='package', action='edit', id=id)
context = {'model': model, 'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj}
try:
if request.method == 'POST':
get_action('package_delete')(context, {'id': id})
h.flash_notice(_('Dataset has been deleted.'))
h.redirect_to(controller='package', action='search')
c.pkg_dict = get_action('package_show')(context, {'id': id})
dataset_type = c.pkg_dict['type'] or 'dataset'
except NotAuthorized:
abort(403, _('Unauthorized to delete package %s') % '')
except NotFound:
abort(404, _('Dataset not found'))
return render('package/confirm_delete.html',
extra_vars={'dataset_type': dataset_type})
示例13: follow
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def follow(self, id):
'''Start following this dataset.'''
context = {'model': model,
'session': model.Session,
'user': c.user, 'auth_user_obj': c.userobj}
data_dict = {'id': id}
try:
get_action('follow_dataset')(context, data_dict)
package_dict = get_action('package_show')(context, data_dict)
h.flash_success(_("You are now following {0}").format(
package_dict['title']))
except ValidationError as e:
error_message = (e.message or e.error_summary
or e.error_dict)
h.flash_error(error_message)
except NotAuthorized as e:
h.flash_error(e.message)
h.redirect_to(controller='package', action='read', id=id)
示例14: followers
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def followers(self, id=None):
context = {'model': model, 'session': model.Session,
'user': c.user, 'for_view': True,
'auth_user_obj': c.userobj}
data_dict = {'id': id}
try:
c.pkg_dict = get_action('package_show')(context, data_dict)
c.pkg = context['package']
c.followers = get_action('dataset_follower_list')(
context, {'id': c.pkg_dict['id']})
dataset_type = c.pkg.type or 'dataset'
except NotFound:
abort(404, _('Dataset not found'))
except NotAuthorized:
abort(403, _('Unauthorized to read package %s') % id)
return render('package/followers.html',
{'dataset_type': dataset_type})
示例15: activity
# 需要導入模塊: from ckan import model [as 別名]
# 或者: from ckan.model import Session [as 別名]
def activity(self, id):
'''Render this package's public activity stream page.'''
context = {'model': model, 'session': model.Session,
'user': c.user, 'for_view': True,
'auth_user_obj': c.userobj}
data_dict = {'id': id}
try:
c.pkg_dict = get_action('package_show')(context, data_dict)
c.pkg = context['package']
c.package_activity_stream = get_action(
'package_activity_list_html')(
context, {'id': c.pkg_dict['id']})
dataset_type = c.pkg_dict['type'] or 'dataset'
except NotFound:
abort(404, _('Dataset not found'))
except NotAuthorized:
abort(403, _('Unauthorized to read dataset %s') % id)
return render('package/activity.html',
{'dataset_type': dataset_type})