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


Python DBSession.delete方法代码示例

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


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

示例1: license_delete

# 需要导入模块: from OSMTM.models import DBSession [as 别名]
# 或者: from OSMTM.models.DBSession import delete [as 别名]
def license_delete(request):
    session = DBSession()
    id = request.matchdict['license']
    license = session.query(License).get(id)

    session.delete(license)
    session.flush()
    request.session.flash('License removed!')
    return HTTPFound(location = route_url('licenses', request))
开发者ID:Bulathge,项目名称:osm-tasking-manager,代码行数:11,代码来源:license.py

示例2: split_tile

# 需要导入模块: from OSMTM.models import DBSession [as 别名]
# 或者: from OSMTM.models.DBSession import delete [as 别名]
def split_tile(request):
    job_id = request.matchdict['job']
    x = request.matchdict['x']
    y = request.matchdict['y']
    zoom = request.matchdict['zoom']
    session = DBSession()
    job = session.query(Job).get(job_id)
    tile = session.query(Tile).get((x, y, zoom, job_id))
    session.delete(tile)

    new_tiles = []
    t = []
    for i in range(0, 2):
        for j in range(0, 2):
            tile = Tile(int(x)*2 + i, int(y)*2 + j, int(zoom)+1)
            tile.job = job
            t.append(tile)
    for tile in t:
        new_tiles.append(Feature(geometry=tile.to_polygon(),
            id=str(tile.x) + '-' + str(tile.y) + '-' + str(tile.zoom)))
    return dict(success=True, split_id="-".join([x, y, zoom]),
            new_tiles=FeatureCollection(new_tiles))
开发者ID:pgiraud,项目名称:osm-tasking-manager,代码行数:24,代码来源:tasks.py

示例3: job_delete

# 需要导入模块: from OSMTM.models import DBSession [as 别名]
# 或者: from OSMTM.models.DBSession import delete [as 别名]
def job_delete(request):
    id = request.matchdict['job']
    session = DBSession()

    # prevent integrity errors
    tiles_history = session.query(TileHistory).filter(TileHistory.job_id==id)
    for tile in tiles_history:
        session.delete(tile)

    job = session.query(Job).get(id)
    title = job.title
    session.delete(job)

    # remove the tiles history twice because removing records from main table
    # adds records in the history table
    tiles_history = session.query(TileHistory).filter(TileHistory.job_id==id)
    for tile in tiles_history:
        session.delete(tile)
    request.session.flash('Job "%s" removed!' % title)
    return HTTPFound(location = route_url('home', request))
开发者ID:monkz,项目名称:osm-tasking-manager,代码行数:22,代码来源:jobs.py

示例4: split_tile

# 需要导入模块: from OSMTM.models import DBSession [as 别名]
# 或者: from OSMTM.models.DBSession import delete [as 别名]
def split_tile(request):
    """
    Split the tile and copy history of the parent tile
    """
    job_id = request.matchdict['job']
    x = request.matchdict['x']
    y = request.matchdict['y']
    zoom = request.matchdict['zoom']
    session = DBSession()
    job = session.query(Job).get(job_id)
    tile = session.query(Tile).get((x, y, zoom, job_id))
    session.delete(tile)

    # reference tile history
    tileHistory = (
        session.query(TileHistory)
        .filter_by(x=x, y=y, zoom=zoom, job_id=job_id)
        .order_by(TileHistory.update)
        .all()
    )

    new_tiles = []
    t = []
    for i in range(0, 2):
        for j in range(0, 2):
            # add new tile
            X = int(x) * 2 + i
            Y = int(y) * 2 + j
            Zoom = int(zoom) + 1
            newTile = Tile(X, Y, Zoom)
            newTile.job = job

            for idx, historyRecord in enumerate(tileHistory):
                # copy tileHistory... use negative versions to prevent unique
                # key conflicts, and enable filtering (exclusion) when
                # generating stats
                newTileHistory = TileHistory(
                    x=newTile.x,
                    y=newTile.y,
                    zoom=newTile.zoom,
                    username=historyRecord.username,
                    update=historyRecord.update,
                    checkout=historyRecord.checkout,
                    checkin=historyRecord.checkin,
                    change=historyRecord.change,
                    comment=historyRecord.comment,
                    job_id=job.id,
                    version=-idx
                )
                session.add(newTileHistory)

            t.append(newTile)
    for tile in t:
        new_tiles.append(
            Feature(
                geometry=tile.to_polygon(),
                id=str(tile.x) + '-' + str(tile.y) + '-' + str(tile.zoom)))
    return dict(
        success=True, split_id="-".join([x, y, zoom]),
        new_tiles=FeatureCollection(new_tiles)
    )
开发者ID:FlavioFalcao,项目名称:osm-tasking-manager,代码行数:63,代码来源:tasks.py

示例5: create_engine

# 需要导入模块: from OSMTM.models import DBSession [as 别名]
# 或者: from OSMTM.models.DBSession import delete [as 别名]
#!env/bin/python
__requires__ = "OSMTM"

import os
import sys
import transaction

from sqlalchemy import create_engine

from pyramid.paster import get_appsettings, setup_logging

from OSMTM.models import DBSession, Job, Tile, TileHistory, Base

from OSMTM.utils import *

id = sys.argv[1]

engine = create_engine("sqlite:///OSMTM.db")
DBSession.configure(bind=engine)
with transaction.manager:
    job = DBSession.query(Job).filter(Job.id == id).one()
    DBSession.delete(job)
开发者ID:hotosm,项目名称:osm-tasking-manager,代码行数:24,代码来源:delete.py


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