Example #1
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        if 'skip_verification' not in kwargs:
            kwargs['skip_verification'] = True

        if not (kwargs.get('dataset_id') or kwargs.get('group_id')
                or kwargs.get('organization_id')):
            kwargs['dataset_id'] = ckan_factories.Dataset()['id']

        subscription_dict = \
            p.toolkit.get_action('subscribe_signup')(context, kwargs)

        # to set the 'created' time we need to edit the object
        subscription = \
            model.Session.query(ckanext.subscribe.model.Subscription) \
            .get(subscription_dict['id'])
        if kwargs.get('created'):
            subscription.created = kwargs['created']
            model.repo.commit()
        subscription_dict = \
            dictization.dictize_subscription(subscription, context)

        if kwargs['return_object']:
            return ckanext.subscribe.model.Subscription.get(
                subscription_dict['id'])
        return subscription_dict
Example #2
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}

        return helpers.call_action('metadata_standard_create', context=context, **kwargs)
Example #3
0
def create_mock_data(organization_name, dataset_name, resource_name,
                     resource_view_title, **kwargs):
    mock_data = {}

    mock_data['organization'] = factories.Organization(name=organization_name)
    mock_data['organization_name'] = organization_name
    mock_data['organization_id'] = mock_data['organization']['id']

    mock_data['dataset'] = factories.Dataset(
        name=dataset_name, owner_org=mock_data['organization_id'])
    mock_data['dataset_name'] = dataset_name
    mock_data['package_id'] = mock_data['dataset']['id']

    mock_data['resource'] = factories.Resource(
        package_id=mock_data['package_id'], name=resource_name)
    mock_data['resource_name'] = resource_name
    mock_data['resource_id'] = mock_data['resource']['id']

    mock_data['resource_view'] = factories.ResourceView(
        resource_id=mock_data['resource_id'], title=resource_view_title)
    mock_data['resource_view_title'] = resource_view_title
    mock_data['resource_view_id'] = mock_data['resource_view']['id']

    mock_data['context'] = {'user': factories._get_action_user_name(kwargs)}

    return mock_data
Example #4
0
    def _create(cls, target_class, **kwargs):
        for key in ('skip_verification', 'dataset_id'):
            assert key not in kwargs, 'wrong syntax - use Subscription instead'

        if not kwargs.get('object_id'):
            kwargs['object_id'] = ckan_factories.Dataset()['id']
            kwargs['object_type'] = 'dataset'

        return_object = kwargs.pop('return_object')

        context = {
            'user': ckan_factories._get_action_user_name(kwargs),
            'model': model,
            'session': model.Session
        }

        if p.toolkit.check_ckan_version(max_version='2.8.99'):
            model.repo.new_revision()
        subscription_obj = dictization.subscription_save(kwargs, context)
        model.repo.commit()

        if return_object:
            return subscription_obj
        subscription_dict = \
            dictization.dictize_subscription(subscription_obj, context)
        return subscription_dict
Example #5
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {
            'user': ckan_factories._get_action_user_name(kwargs),
            'model': model
        }

        if not kwargs.get('user_id'):
            kwargs['user_id'] = ckan_factories.User()['id']

        activity_dict = \
            p.toolkit.get_action('activity_create')(context, kwargs)

        # to set the timestamp we need to edit the object
        activity = model.Session.query(model.Activity).get(activity_dict['id'])
        if kwargs.get('timestamp'):
            activity.timestamp = kwargs['timestamp']
            model.repo.commit()

        if kwargs.get('return_object'):
            return activity

        return model_dictize.activity_dictize(activity, context)
def create_organization(name, parent=''):
    data_dict = {'name': name}
    if parent:
        data_dict['groups'] = [{'name': parent}]
    context = {'user': factories._get_action_user_name(data_dict)}
    data_dict.setdefault('type', 'organization')
    return helpers.call_action('organization_create',
                               context=context,
                               **data_dict)
Example #7
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        metadata_standard_id = kwargs.pop('metadata_standard_id', None) or MetadataStandard()['id']

        return helpers.call_action('metadata_schema_create',
                                   context=context,
                                   metadata_standard_id=metadata_standard_id,
                                   **kwargs)
Example #8
0
    def _create(cls, target_class, *args, **kwargs):
        context = {"user": factories._get_action_user_name(kwargs)}

        thread = kwargs.pop("thread")
        kwargs["subject_id"] = thread["subject_id"]
        kwargs["subject_type"] = thread["subject_type"]

        comment_dict = helpers.call_action("comments_comment_create",
                                           context=context,
                                           **kwargs)
        return comment_dict
 def _create(cls, target_class, *args, **kwargs):
     if args:
         assert False, "Positional args aren't supported, use keyword args."
     context = {"user": _get_action_user_name(kwargs)}
     if "job_id" not in kwargs:
         kwargs["job_id"] = kwargs["job"].id
         kwargs["source_id"] = kwargs["job"].source.id
     job_dict = toolkit.get_action("harvest_object_create")(context, kwargs)
     if cls._return_type == "dict":
         return job_dict
     else:
         return cls.FACTORY_FOR.get(job_dict["id"])
Example #10
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        metadata_standard_id = kwargs.pop('metadata_standard_id', None) or MetadataStandard(
            metadata_template_json='{"a": {"b": "foo"}, "c": {"d": "bar"}}')['id']

        return helpers.call_action('metadata_json_attr_map_create',
                                   context=context,
                                   metadata_standard_id=metadata_standard_id,
                                   **kwargs)
Example #11
0
 def _create(cls, target_class, *args, **kwargs):
     if args:
         assert False, "Positional args aren't supported, use keyword args."
     context = {'user': _get_action_user_name(kwargs)}
     if 'job_id' not in kwargs:
         kwargs['job_id'] = kwargs['job'].id
         kwargs['source_id'] = kwargs['job'].source.id
     job_dict = toolkit.get_action('harvest_object_create')(context, kwargs)
     if cls._return_type == 'dict':
         return job_dict
     else:
         return cls.FACTORY_FOR.get(job_dict['id'])
 def _create(cls, target_class, *args, **kwargs):
     if args:
         assert False, "Positional args aren't supported, use keyword args."
     context = {'user': _get_action_user_name(kwargs)}
     if 'source_id' not in kwargs:
         kwargs['source_id'] = kwargs['source'].id
     job_dict = toolkit.get_action('harvest_job_create')(
         context, kwargs)
     if cls._return_type == 'dict':
         return job_dict
     else:
         return cls.FACTORY_FOR.get(job_dict['id'])
Example #13
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        org_kwargs = {}
        if 'user' in kwargs:
            org_kwargs['user'] = kwargs['user']
        organization_id = kwargs.pop('organization_id', None) or ckan_factories.Organization(**org_kwargs)['id']

        return helpers.call_action('metadata_collection_create',
                                   context=context,
                                   organization_id=organization_id,
                                   **kwargs)
Example #14
0
 def _create(cls, target_class, *args, **kwargs):
     if args:
         assert False, "Positional args aren't supported, use keyword args."
     context = {"user": _get_action_user_name(kwargs)}
     # If there is an existing source for this URL, and we can't create
     # another source with that URL, just return the original one.
     try:
         source_dict = toolkit.get_action("harvest_source_show")(context, dict(url=kwargs["url"]))
     except toolkit.ObjectNotFound:
         source_dict = toolkit.get_action("harvest_source_create")(context, kwargs)
     if cls._return_type == "dict":
         return source_dict
     else:
         return cls.FACTORY_FOR.get(source_dict["id"])
Example #15
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        role_id = kwargs.pop('role_id', None) or Role()['id']
        user_id = kwargs.pop('user_id', None) or ckan_factories.User()['id']
        organization_id = kwargs.pop(
            'organization_id', None) or ckan_factories.Organization()['id']

        return helpers.call_action('user_role_assign',
                                   context=context,
                                   role_id=role_id,
                                   user_id=user_id,
                                   organization_id=organization_id,
                                   **kwargs)
Example #16
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        # don't do shortcut evaluation for from_state_id because it can be ''
        from_state_id = kwargs.pop('from_state_id', None)
        if from_state_id is None:
            from_state_id = WorkflowState()['id']
        to_state_id = kwargs.pop('to_state_id', None) or WorkflowState()['id']

        return helpers.call_action('workflow_transition_create',
                                   context=context,
                                   from_state_id=from_state_id,
                                   to_state_id=to_state_id,
                                   **kwargs)
Example #17
0
 def _create(cls, target_class, *args, **kwargs):
     if args:
         assert False, "Positional args aren't supported, use keyword args."
     context = {'user': _get_action_user_name(kwargs)}
     # If there is an existing source for this URL, and we can't create
     # another source with that URL, just return the original one.
     try:
         source_dict = toolkit.get_action('harvest_source_show')(
             context, dict(url=kwargs['url']))
     except toolkit.ObjectNotFound:
         source_dict = toolkit.get_action('harvest_source_create')(context,
                                                                   kwargs)
     if cls._return_type == 'dict':
         return source_dict
     else:
         return cls.FACTORY_FOR.get(source_dict['id'])
Example #18
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        organization_id = kwargs.pop('owner_org', None) or ckan_factories.Organization()['id']
        metadata_collection_id = kwargs.pop('metadata_collection_id', None) \
                                 or MetadataCollection(organization_id=organization_id)['id']
        metadata_standard_id = kwargs.pop('metadata_standard_id', None) or MetadataStandard()['id']

        package_dict = helpers.call_action('metadata_record_create',
                                           context=context,
                                           owner_org=organization_id,
                                           metadata_collection_id=metadata_collection_id,
                                           metadata_standard_id=metadata_standard_id,
                                           **kwargs)
        return package_dict
Example #19
0
    def _create(cls, target_class, *args, **kwargs):
        if args:
            assert False, "Positional args aren't supported, use keyword args."

        context = {'user': ckan_factories._get_action_user_name(kwargs)}
        role_id = kwargs.pop('role_id', None) or Role()['id']
        content_type = kwargs.pop('content_type', None)
        operation = kwargs.pop('operation', None)
        if not content_type and not operation:
            permission = Permission()
            content_type = permission['content_type']
            operation = permission['operation']

        return helpers.call_action('role_permission_grant',
                                   context=context,
                                   role_id=role_id,
                                   content_type=content_type,
                                   operation=operation,
                                   **kwargs)
Example #20
0
def create_mock_data(organization_name, dataset_name, group_name,
                     resource_name, resource_view_title, **kwargs):
    mock_data = {}

    mock_data['organization'] = factories.Organization(
        name=organization_name, orgportals_copyright='2016')
    mock_data['organization_name'] = organization_name
    mock_data['organization_id'] = mock_data['organization']['id']
    org_image = mock_data['organization']['image_display_url']
    mock_data['organization_image'] = org_image

    mock_data['group'] = factories.Group(name=group_name)
    mock_data['group_name'] = mock_data['group']['name']

    mock_data['dataset'] = factories.Dataset(
        name=dataset_name,
        owner_org=mock_data['organization_id'],
        groups=[{
            'name': mock_data['group_name']
        }])
    mock_data['dataset_name'] = dataset_name
    mock_data['package_id'] = mock_data['dataset']['id']
    mock_data['groups'] = mock_data['dataset']['groups']

    mock_data['resource'] = factories.Resource(
        package_id=mock_data['package_id'], name=resource_name)
    mock_data['resource_name'] = resource_name
    mock_data['resource_id'] = mock_data['resource']['id']

    mock_data['resource_view'] = factories.ResourceView(
        resource_id=mock_data['resource_id'], title=resource_view_title)
    mock_data['resource_view_title'] = resource_view_title
    mock_data['resource_view_id'] = mock_data['resource_view']['id']

    mock_data['context'] = {'user': factories._get_action_user_name(kwargs)}

    return mock_data
Example #21
0
 def _create(cls, target_class, *args, **kwargs):
     context = {"user": factories._get_action_user_name(kwargs)}
     thread_dict = helpers.call_action("comments_thread_create",
                                       context=context,
                                       **kwargs)
     return thread_dict