コード例 #1
0
ファイル: role.py プロジェクト: kumaram1/upGrad_CSec_Project
 def delete(self, id):
     session = Session()
     username = oidc.user_getfield('username')
     grant = session.query(RoleGrant).get(id)
     if not grant:
         json_abort(404)
     if not grant.topic.user == username:
         json_abort(403)
     session.delete(grant)
     session.commit()
     logger.debug(grant)
     return jsonify(grant)
コード例 #2
0
ファイル: topic.py プロジェクト: kumaram1/upGrad_CSec_Project
 def delete(self, id):
   session = Session()
   roles = oidc.user_getfield('cognito:groups') if oidc.user_getfield('cognito:groups') else []
   topic = session.query(Topic).get(id)
   if topic:
     now = datetime.datetime.now()
     if now > topic.start_time:
       json_abort(403, "Voting started. Can't delete")
     if 'admin' not in roles:
       json_abort(403)
   topic = session.query(Topic).get(id)
   session.delete(topic)
   session.commit()
   logger.debug(topic.to_dict())
   if not oidc.is_api_request():
     url = url_for('api_topic', id=int(id))
     data = { "url": url, "message": "Success. Redirecting to %s" % url }
   return jsonify(topic)
コード例 #3
0
 def delete(self, topic_id, id):
     session = Session()
     roles = oidc.user_getfield('cognito:groups') if oidc.user_getfield(
         'cognito:groups') else []
     username = oidc.user_getfield('username')
     kargs = request.get_json(silent=True)
     topic = session.query(Topic).get(topic_id)
     if not topic:
         json_abort(404, "Topic doesn't exist")
     now = datetime.datetime.now()
     if topic.start_time <= now and now <= topic.end_time:
         json_abort(403, "Voting already started. No changes allowed")
     grant = session.query(RoleGrant).filter(
         RoleGrant.topic_id == topic_id).filter(
             RoleGrant.role.in_(roles)).all()
     if 'admin' not in roles and not grant and topic.user != username:
         json_abort(403)
     option = session.query(TopicOption).get(id)
     session.delete(option)
     session.commit()
     logger.debug(option)
     return jsonify(option)
コード例 #4
0
ファイル: app.py プロジェクト: zanachka/web-page-annotator
 def post(self):
     session = Session()
     data = json.loads(self.request.body.decode('utf8'))
     ws = session.query(Workspace).get(data['wsId'])
     page = session.query(Page).filter_by(
         workspace=ws.id, url=data['url']).one()
     element_label = session.query(ElementLabel).filter_by(
         page=page.id, selector=data['selector']).one_or_none()
     if data.get('label') is not None:
         label = session.query(Label).filter_by(
             workspace=ws.id, text=data['label']).one()
         if element_label is None:
             element_label = ElementLabel(
                 page=page.id,
                 selector=data['selector'],
                 label=label.id)
         else:
             element_label.label = label.id
         session.add(element_label)
     elif element_label is not None:
         session.delete(element_label)
     session.commit()
     self.write({'ok': True})
コード例 #5
0
ファイル: db_setup.py プロジェクト: grantgustafson/PiLit
from models.module import LightModule
from models.segment import Segment
from models.strip import Strip
from sqlalchemy.orm.exc import NoResultFound

from config import Session

session = Session()

name='main module'

try:
    m = session.query(LightModule).filter(LightModule.name==name).one()
    session.delete(m)
except NoResultFound, e:
    pass
m = LightModule(name="first pi lit", hostname="raspberrypi", location="lab")
s1 = Segment(num_pixels=60, module_startpixel=0, forwards=False)
s1.strip_startpixel=0
s2 = Segment(num_pixels=60, module_startpixel=64, forwards=True)
s2.strip_startpixel=60
m.segments = [s1, s2]
strip = Strip(length=124, name='main1')
strip.segments = [s1, s2]
session.add(m)

m = LightModule(name="second pi lit", hostname="secondpilit", location="lab")
s1 = Segment(num_pixels=64, module_startpixel=0, forwards=False)
s1.strip_startpixel=0
s2 = Segment(num_pixels=64, module_startpixel=64, forwards=True)
s2.strip_startpixel=64