当前位置: 首页>>代码示例>>Python>>正文


Python DBSession.commit方法代码示例

本文整理汇总了Python中mediacore.model.meta.DBSession.commit方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.commit方法的具体用法?Python DBSession.commit怎么用?Python DBSession.commit使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在mediacore.model.meta.DBSession的用法示例。


在下文中一共展示了DBSession.commit方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: bulk

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def bulk(self, type=None, ids=None, **kwargs):
        """Perform bulk operations on media items

        :param type: The type of bulk action to perform (delete)
        :param ids: A list of IDs.

        """
        if not ids:
            ids = []
        elif not isinstance(ids, list):
            ids = [ids]


        if type == 'delete':
            Category.query.filter(Category.id.in_(ids)).delete(False)
            DBSession.commit()
            success = True
        else:
            success = False

        return dict(
            success = success,
            ids = ids,
            parent_options = unicode(category_form.c['parent_id'].display()),
        )
开发者ID:BlendedLearningCollaborative,项目名称:mediacore-community,代码行数:27,代码来源:categories.py

示例2: insert_settings

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def insert_settings(defaults):
    """Insert the given setting if they don't exist yet.

    XXX: Does not include any support for MultiSetting. This approach
         won't work for that. We'll need to use sqlalchemy-migrate.

    :type defaults: list
    :param defaults: Key and value pairs
    :rtype: list
    :returns: Any settings that have just been created.
    """
    inserted = []
    existing_settings = set(x[0] for x in DBSession.query(Setting.key) \
                                     .filter(Setting.key \
                                     .in_(key for key, value in defaults)))

    for key, value in defaults:
        if key in existing_settings:
            continue
        transaction = DBSession.begin_nested()
        try:
            s = Setting(key, value)
            DBSession.add(s)
            transaction.commit()
            inserted.append(s)
        except IntegrityError:
            transaction.rollback()
    if inserted:
        DBSession.commit()
    return inserted
开发者ID:dbooth,项目名称:mediacore,代码行数:32,代码来源:settings.py

示例3: _autocommit_commit

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def _autocommit_commit(req):
    try:
        DBSession.commit()
    except:
        _autocommit_rollback(req)
        raise
    else:
        _autocommit_fire_callbacks(req, req.commit_callbacks)
开发者ID:greentv,项目名称:mediacore,代码行数:10,代码来源:decorators.py

示例4: setUp

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
 def setUp(self):
     super(DBTestCase, self).setUp()
     self.env_dir = self._create_environment_folders()
     self.pylons_config = setup_environment_and_database(self.env_dir, 
         enabled_plugins=self.enabled_plugins)
     add_default_data()
     DBSession.commit()
     
     config.push_process_config(self.pylons_config)
开发者ID:Jpoudrier,项目名称:mediacore-community,代码行数:11,代码来源:db_testcase.py

示例5: _autocommit_commit

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def _autocommit_commit(req):
    from mediacore.model.meta import DBSession
    try:
        DBSession.commit()
    except:
        _autocommit_rollback(req)
        raise
    else:
        _autocommit_fire_callbacks(req, req.commit_callbacks)
开发者ID:Jpoudrier,项目名称:mediacore-community,代码行数:11,代码来源:decorators.py

示例6: main

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def main(parser, options, args):
    if not options.uri:
        parser.print_help()
        sys.exit(1)

    d = feedparser.parse(options.uri)

    podcast = podcast_from_feed(d, tags=options.tags, save_files=options.save_files)
    DBSession.commit()
    print "Created podcast:", podcast
    print "Imported %d episodes." % len(podcast.media.all())

    sys.exit(0)
开发者ID:RadioErewan,项目名称:mediacore,代码行数:15,代码来源:rss_import.py

示例7: save

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def save(self,
             id,
             email_address,
             display_name,
             login_details,
             delete=None,
             **kwargs):
        """Save changes or create a new :class:`~mediacore.model.auth.User` instance.

        :param id: User ID. If ``"new"`` a new user is created.
        :type id: ``int`` or ``"new"``
        :returns: Redirect back to :meth:`index` after successful save.

        """
        user = fetch_row(User, id)

        if delete:
            DBSession.delete(user)
            redirect(action='index', id=None)

        user.display_name = display_name
        user.email_address = email_address
        user.user_name = login_details['user_name']

        password = login_details['password']
        if password is not None and password != '':
            user.password = password

        if login_details['group']:
            group = fetch_row(Group, login_details['group'])
            user.groups = [group]
        else:
            user.groups = []

        DBSession.add(user)

        # Check if we're changing the logged in user's own password
        logged_in_user = request.environ['repoze.who.identity']['user']
        if user.user_id == logged_in_user.user_id \
        and password is not None and password != '':
            DBSession.commit()
            # repoze.who sees the Unauthorized response and clears the cookie,
            # forcing a fresh login with the new password
            raise webob.exc.HTTPUnauthorized().exception

        redirect(action='index', id=None)
开发者ID:nsdevaraj,项目名称:mediacore-community,代码行数:48,代码来源:users.py

示例8: main

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def main(parser, options, args):
    if not options.uri:
        parser.print_help()
        sys.exit(1)

    d = feedparser.parse(options.uri)

    # FIXME: This script relies on the v0.8.2 models.
    #        It should be updated for v0.9.0
    print "I'm sorry, but this RSS import script is out of date."
    sys.exit(1)

    podcast = podcast_from_feed(d, tags=options.tags, save_files=options.save_files)
    DBSession.commit()
    print "Created podcast:", podcast
    print "Imported %d episodes." % len(podcast.media.all())

    sys.exit(0)
开发者ID:MechanisM,项目名称:mediacore,代码行数:20,代码来源:rss_import.py

示例9: save

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def save(
        self, id, slug, title, subtitle, author_name, author_email, description, details, feed, delete=None, **kwargs
    ):
        """Save changes or create a new :class:`~mediacore.model.podcasts.Podcast` instance.

        Form handler the :meth:`edit` action and the
        :class:`~mediacore.forms.admin.podcasts.PodcastForm`.

        Redirects back to :meth:`edit` after successful editing
        and :meth:`index` after successful deletion.

        """
        podcast = fetch_row(Podcast, id)

        if delete:
            file_paths = thumb_paths(podcast).values()
            DBSession.delete(podcast)
            DBSession.commit()
            helpers.delete_files(file_paths, Podcast._thumb_dir)
            redirect(action="index", id=None)

        if not slug:
            slug = title
        if slug != podcast.slug:
            podcast.slug = get_available_slug(Podcast, slug, podcast)
        podcast.title = title
        podcast.subtitle = subtitle
        podcast.author = Author(author_name, author_email)
        podcast.description = description
        podcast.copyright = details["copyright"]
        podcast.category = details["category"]
        podcast.itunes_url = feed["itunes_url"]
        podcast.feedburner_url = feed["feedburner_url"]
        podcast.explicit = {"yes": True, "clean": False}.get(details["explicit"], None)

        if id == "new":
            DBSession.add(podcast)
            DBSession.flush()
            create_default_thumbs_for(podcast)

        redirect(action="edit", id=podcast.id)
开发者ID:greentv,项目名称:mediacore,代码行数:43,代码来源:podcasts.py

示例10: main

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def main(parser, options):
    status = 0
    output = []

    if options.dump_to:
        s, o = dump_backup_file(options.dump_to)
        status += s
        output.append(o.strip())
        DBSession.commit() # Commit and start a new transaction

    if options.read_from:
        s, o = restore_backup_file(options.read_from)
        status += s
        output.append(o.strip())
        DBSession.commit() # Commit and start a new transaction

    if options.dump_files_dir:
        s, o = backup_files(options.dump_files_dir)
        status += s
        output.append(o.strip())

    if options.restore_files_dir:
        s, o = restore_files(options.restore_files_dir)
        status += s
        output.append(o.strip())

    if not any((options.dump_to, options.read_from,
                options.dump_files_dir, options.restore_files_dir)):
        parser.print_help()
        print ""
        status, output = 1, ['Incorrect or insufficient arguments provided.\n']

    # print output and exit
    sys.stdout.write("\n---\n".join(output))
    print ""
    if status == 0:
        print "Operation completed successfully."
    else:
        print "Error occurred in operation. You can use the --debug flag for more information."
    print ""
    sys.exit(status)
开发者ID:BlendedLearningCollaborative,项目名称:mediacore-community,代码行数:43,代码来源:backup_restore.py

示例11: setUp

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def setUp(self):
        super(DBTestCase, self).setUp()
        global_config = {
            'plugins': '',
#            'debug': 'true', 
#            'error_email_from': '[email protected]', 
#            '__file__': '.../standalone.ini', 
#            'here': '...', 
#            'smtp_server': 'localhost'
        }
        local_config = {
            'sqlalchemy.url': 'sqlite://', 
#            'full_stack': 'true', 
#            'image_dir': '.../data/images', 
#            'enable_gzip': 'true', 
#            'static_files': 'true', 
#            'external_template': 'false', 
#            'sqlalchemy.echo': 'False', 
#            'file_serve_method': 'default', 
#            'app_instance_uuid': '', str(uuid.uuid4())
#            'media_dir': '.../data/media', 
#            'sqlalchemy.pool_recycle': '3600', 
#            'layout_template': 'layout', 
#            'sa_auth.cookie_secret': 'superdupersecret', 
#            'cache_dir': '.../data', 
#            'external_template_url': 'http://some/valid_genshi_template.html', 
#            'external_template_timeout': '600', 
#            'beaker.session.key': 'mediacore', 
#            'external_template_name': 'external', 
#            'beaker.session.secret': 'superdupersecret'
        }

        self.pylons_config = load_environment(global_config, local_config)
        
        metadata.create_all(bind=DBSession.bind, checkfirst=True)
        add_default_data()
        
        DBSession.commit()
        
        config.push_process_config(self.pylons_config)
开发者ID:kidrane,项目名称:mediacore-community,代码行数:42,代码来源:db_testcase.py

示例12: save

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def save(self, id, slug, title, subtitle, author_name, author_email,
             description, details, feed, delete=None, **kwargs):
        """Save changes or create a new :class:`~mediacore.model.podcasts.Podcast` instance.

        Form handler the :meth:`edit` action and the
        :class:`~mediacore.forms.admin.podcasts.PodcastForm`.

        Redirects back to :meth:`edit` after successful editing
        and :meth:`index` after successful deletion.

        """
        podcast = fetch_row(Podcast, id)

        if delete:
            DBSession.delete(podcast)
            DBSession.commit()
            delete_thumbs(podcast)
            redirect(action='index', id=None)

        if not slug:
            slug = title
        if slug != podcast.slug:
            podcast.slug = get_available_slug(Podcast, slug, podcast)
        podcast.title = title
        podcast.subtitle = subtitle
        podcast.author = Author(author_name, author_email)
        podcast.description = description
        podcast.copyright = details['copyright']
        podcast.category = details['category']
        podcast.itunes_url = feed['itunes_url']
        podcast.feedburner_url = feed['feedburner_url']
        podcast.explicit = {'yes': True, 'clean': False}.get(details['explicit'], None)

        if id == 'new':
            DBSession.add(podcast)
            DBSession.flush()
            create_default_thumbs_for(podcast)

        redirect(action='edit', id=podcast.id)
开发者ID:AshKash,项目名称:mediacore-community,代码行数:41,代码来源:podcasts.py

示例13: insert_settings

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
def insert_settings(defaults):
    """Insert the given setting if they don't exist yet.

    XXX: Does not include any support for MultiSetting. This approach
         won't work for that. We'll need to use sqlalchemy-migrate.

    :type defaults: list
    :param defaults: Key and value pairs
    :rtype: list
    :returns: Any settings that have just been created.
    """
    inserted = []
    try:
        settings_query = DBSession.query(Setting.key)\
            .filter(Setting.key.in_([key for key, value in defaults]))
        existing_settings = set(x[0] for x in settings_query)
    except ProgrammingError:
        # If we are running paster setup-app on a fresh database with a
        # plugin which tries to use this function every time the
        # Environment.loaded event fires, the settings table will not
        # exist and this exception will be thrown, but its safe to ignore.
        # The settings will be created the next time the event fires,
        # which will likely be the first time the app server starts up.
        return inserted
    for key, value in defaults:
        if key in existing_settings:
            continue
        transaction = DBSession.begin_nested()
        try:
            s = Setting(key, value)
            DBSession.add(s)
            transaction.commit()
            inserted.append(s)
        except IntegrityError:
            transaction.rollback()
    if inserted:
        DBSession.commit()
    return inserted
开发者ID:MechanisM,项目名称:mediacore,代码行数:40,代码来源:settings.py

示例14: save

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def save(self, id, email_address, display_name, login_details, delete=None, **kwargs):
        """Save changes or create a new :class:`~mediacore.model.auth.User` instance.

        :param id: User ID. If ``"new"`` a new user is created.
        :type id: ``int`` or ``"new"``
        :returns: Redirect back to :meth:`index` after successful save.

        """
        user = fetch_row(User, id)

        if delete:
            DBSession.delete(user)
            redirect(action="index", id=None)

        user.display_name = display_name
        user.email_address = email_address
        user.user_name = login_details["user_name"]

        password = login_details["password"]
        if password is not None and password != "":
            user.password = password

        if login_details["groups"]:
            query = DBSession.query(Group).filter(Group.group_id.in_(login_details["groups"]))
            user.groups = list(query.all())
        else:
            user.groups = []

        DBSession.add(user)

        # Check if we're changing the logged in user's own password
        if user.id == request.perm.user.id and password is not None and password != "":
            DBSession.commit()
            # repoze.who sees the Unauthorized response and clears the cookie,
            # forcing a fresh login with the new password
            raise webob.exc.HTTPUnauthorized().exception

        redirect(action="index", id=None)
开发者ID:nti1094,项目名称:mediacore-community,代码行数:40,代码来源:users.py

示例15: __call__

# 需要导入模块: from mediacore.model.meta import DBSession [as 别名]
# 或者: from mediacore.model.meta.DBSession import commit [as 别名]
    def __call__(self, environ, start_response):
        """Commit or rollback the DBSession for every request.

        Your controller may override this method and have it call
        :meth:`BareBonesController.__call__` directly to avoid
        this transaction management.

        """
        try:
            app_iter = BareBonesController.__call__(self, environ,
                                                    start_response)
        except:
            # An unexpected error has occurred that the WebError will catch
            DBSession.rollback()
            raise
        else:
            # webob.exc.HTTPException's are caught and turned into a regular
            # responses in WSGIController._inspect_call. Veto error responses:
            if 200 <= response.status_int < 400:
                DBSession.commit()
            else:
                DBSession.rollback()
            return app_iter
开发者ID:kiberpipa,项目名称:mediacore,代码行数:25,代码来源:base.py


注:本文中的mediacore.model.meta.DBSession.commit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。