本文整理汇总了Python中inpho.model.Session类的典型用法代码示例。如果您正苦于以下问题:Python Session类的具体用法?Python Session怎么用?Python Session使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Session类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: list
def list(self, filetype="html"):
c.nodes = Session.query(Node).all()
entity_q = Session.query(Node)
entity_q = entity_q.limit(request.params.get("limit", None))
c.query = request.params.get("q", "")
c.sep = request.params.get("sep", "")
if request.params.get("sep_filter", False):
entity_q = entity_q.filter(Entity.sep_dir != "")
if c.sep:
entity_q = entity_q.filter(Entity.sep_dir == c.sep)
if c.query:
o = or_(Entity.label.like(c.query + "%"), Entity.label.like("% " + c.query + "%"))
entity_q = entity_q.filter(o).order_by(func.length(Entity.label))
if filetype == "json":
response.content_type = "application/json"
response.headers["Access-Control-Allow-Origin"] = "*"
c.entities = entity_q.all()
if request.params.get("redirect", False) and len(c.entities) == 1:
h.redirect(
h.url(controller=self._controller, action="view", filetype=filetype, id=c.entities[0].ID), code=302
)
else:
return render("{type}/{type}-list.".format(type=self._controller) + filetype)
示例2: submit_changes
def submit_changes(self):
'''
This function validates the submitted profile edit form and commits the
changes. Restricted to ``POST`` requests. If successful, redirects to
the result action to prevent resubmission.
'''
if not h.auth.is_logged_in():
abort(401)
c.user = h.get_user(request.environ['REMOTE_USER'])
if self.form_result['password'] != '':
c.user.set_password(self.form_result['password'])
# TODO: Enable area editing
#c.user.first_area_id=self.form_result['first_area'],
#user.first_area_level=self.form_result['first_area_level'],
#if self.form_result['second_area']:
# c.user.second_area_id=self.form_result['second_area'],
# c.user.second_area_level=self.form_result['second_area_level']
c.user.fullname = self.form_result['fullname']
Session.flush()
Session.commit()
h.redirect(h.url(controller='account', action='profile', message='edited'))
示例3: create
def create(self):
if not h.auth.is_logged_in():
abort(401)
if not h.auth.is_admin():
abort(403)
valid_params = ["sep_dir", "wiki"]
params = request.params.mixed()
if '_method' in params:
del params['_method']
if 'label' in params:
label = params['label']
del params['label']
else:
abort(400)
for k in params.keys():
if k not in valid_params:
abort(400)
school_of_thought = SchoolOfThought(name, **params)
Session.add(school_of_thought)
Session.flush()
# Issue an HTTP success
response.status_int = 302
response.headers['location'] = h.url(controller='school_of_thought',
action='view', id=school_of_thought.ID)
return "Moved temporarily"
示例4: _reset
def _reset(self, username=None):
username = username or request.environ.get('REMOTE_USER', False)
if not username:
abort(401)
try:
user = h.get_user(username)
except:
abort(400)
new_password = user.reset_password()
msg = Message("[email protected]", user.email,
"InPhO password reset")
msg.plain = """
%(name)s, your password at the Indiana Philosophy Ontology (InPhO) has been changed to:
Username: %(uname)s
Password: %(passwd)s
The Indiana Philosophy Ontology (InPhO) Team
[email protected]
""" % {'passwd' : new_password,
'uname' : user.username,
'name' : user.fullname or user.username or ''}
msg.send()
Session.commit()
h.redirect(h.url(controller='account', action='reset_result'))
示例5: _delete_evaluation
def _delete_evaluation(self, evaltype, id, id2, uid=None, username=None):
if not h.auth.is_logged_in():
abort(401)
id2 = request.params.get('id2', id2)
uid = request.params.get('uid', uid)
username = request.params.get('username', username)
evaluation = self._get_evaluation(id, id2, uid, username, autoCreate=False)
if not evaluation:
abort(404)
current_uid = h.get_user(request.environ['REMOTE_USER']).ID
if evaluation.uid != current_uid or not h.auth.is_admin():
abort(401)
setattr(evaluation, evaltype, -1)
# Delete evaluation if this eliminates both settings, new db schema
# will eliminate this need
#if evaluation.generality == -1 and evaluation.relatedness == -1:
# h.delete_obj(evaluation)
Session.flush()
Session.commit()
response.status_int = 200
return "OK"
示例6: evaluate
def evaluate(self, id=None):
if not h.auth.is_logged_in():
abort(401)
c.idea = h.fetch_obj(Idea, id, new_id=True)
node_q = Session.query(Node).filter_by(concept_id=id)
c.node = node_q.first()
if request.environ.get('REMOTE_USER', False):
user = h.get_user(request.environ['REMOTE_USER'])
sq = Session.query(IdeaEvaluation.cons_id)
sq = sq.filter(IdeaEvaluation.ante==c.idea)
sq = sq.filter(IdeaEvaluation.uid==user.ID)
sq = sq.subquery()
to_evaluate = c.idea.related.outerjoin((sq, Idea.ID==sq.c.cons_id))
to_evaluate = to_evaluate.filter(sq.c.cons_id==None)
else:
to_evaluate = c.idea.related
c.paginator = paginate.Page(
to_evaluate,
page=int(request.params.get('page', 1)),
items_per_page=10,
controller='idea',
action='edit',
id=id
)
response.headers['Access-Control-Allow-Origin'] = '*'
return render('idea/idea-edit.html')
示例7: update_graph
def update_graph(entity_type, sql_filename):
# Import SQL statements
if entity_type == Idea:
table = "idea_graph_edges"
elif entity_type == Thinker:
table = "thinker_graph_edges"
else:
table = "idea_thinker_graph_edges"
connection = Session.connection()
print "deleting old graph information ..."
connection.execute("""
TRUNCATE TABLE %(table)s;
""" % {'filename' : sql_filename, 'table' : table })
print "inserting new graph information"
connection.execute("""
SET foreign_key_checks=0;
LOCK TABLES %(table)s WRITE;
LOAD DATA INFILE '%(filename)s'
INTO TABLE %(table)s
FIELDS TERMINATED BY '::'
(ante_id, cons_id, confidence, jweight, weight, occurs_in);
UNLOCK TABLES;
SET foreign_key_checks=1;
""" % {'filename' : sql_filename, 'table' : table })
Session.close()
示例8: list
def list(self, filetype="html"):
entity_q = Session.query(self._type)
# TODO: Remove the following line when Nodes are eliminated
entity_q = entity_q.filter(Entity.typeID != 2)
c.missing_entity = 0
# get the list of entities
# c.entities = entity_q.all()
c.nodes = Session.query(Node).filter(Node.parent_id == None)
c.nodes = c.nodes.order_by("name").all()
c.query = request.params.get("q", "")
c.query = c.query.strip()
c.sep = request.params.get("sep", "")
c.wiki = request.params.get("wiki", "")
if request.params.get("sep_filter", False):
entity_q = entity_q.filter(Entity.sep_dir != "")
if c.sep:
entity_q = entity_q.filter(Entity.sep_dir == c.sep)
if c.wiki:
entity_q = entity_q.filter(Entity.wiki == c.wiki)
if c.query:
o = or_(
Entity.label.like(c.query + "%"),
Entity.label.like("% " + c.query + "%"),
Entity.label.like("%-" + c.query + "%"),
)
entity_q = entity_q.filter(o).order_by(func.length(Entity.label))
c.total = entity_q.count()
# limit must be the last thing applied to the query
entity_q = entity_q.limit(request.params.get("limit", None))
c.entities = entity_q.all()
if filetype == "json":
response.content_type = "application/json"
if request.params.get("redirect", False) and len(c.entities) == 1:
h.redirect(
h.url(controller=self._controller, action="view", filetype=filetype, id=c.entities[0].ID), code=302
)
else:
# if there are no results, show the related SEP results
if not c.entities:
c.entities = self.missing_entity_search(c.query)
if c.entities:
c.missing_entity = 1
# raise Exception
# render the page
return render("{type}/{type}-list.".format(type=self._controller) + filetype)
示例9: __call__
def __call__(self, environ, start_response):
"""Invoke the Controller"""
# WSGIController.__call__ dispatches to the Controller method
# the request is routed to. This routing information is
# available in environ['pylons.routes_dict']
try:
return WSGIController.__call__(self, environ, start_response)
finally:
Session.remove()
示例10: graph_all
def graph_all(self, filetype='html', limit=False):
sep_filter = request.params.get('sep_filter', False)
c.sep_filter = sep_filter
idea_q = Session.query(Idea)
c.ideas = idea_q.all()
edge_q =\
Session.query(IdeaGraphEdge).order_by(IdeaGraphEdge.jweight.desc()).limit(3*len(c.ideas))
c.edges = edge_q.all()
return render('idea/graph_all.' + filetype)
示例11: _delete_date
def _delete_date(self, id, id2):
c.entity = h.fetch_obj(Entity, id, new_id=True)
# get the date object
date = self._get_date(id, id2)
if date in c.entity.dates:
idx = c.entity.dates.index(date)
Session.delete(c.entity.dates[idx])
Session.commit()
return "OK"
示例12: _get_anon_evaluation
def _get_anon_evaluation(self, id, id2, ip, autoCreate=True):
idea1 = h.fetch_obj(Idea, id, new_id=True)
idea2 = h.fetch_obj(Idea, id2, new_id=True)
evaluation_q = Session.query(AnonIdeaEvaluation)
evaluation = evaluation_q.filter_by(ante_id=id, cons_id=id2, ip=ip).first()
# if an evaluation does not yet exist, create one
if autoCreate and not evaluation:
evaluation = AnonIdeaEvaluation(id, id2,ip)
Session.add(evaluation)
return evaluation
示例13: _delete_unary
def _delete_unary(self, type, id, id2=None):
thinker = h.fetch_obj(Thinker, id)
id2 = request.params.get('id2', id2)
obj = h.fetch_obj(unary_vars[type]['object'], id2)
if obj in getattr(thinker, unary_vars[type]['property']):
getattr(thinker, unary_vars[type]['property']).remove(obj)
Session.commit()
response.status_int = 200
return "OK"
示例14: update
def update(self, id=None):
terms = ['label', 'sep_dir', 'last_accessed', 'language', 'openAccess', 'active', 'student', 'ISSN']
URL = request.params.get('URL', None)
if URL is not None:
journal = h.fetch_obj(Journal, id)
if URL == 'none' or URL == 'None':
journal.URL = None
else:
journal.URL = unquote(URL)
journal.check_url()
Session.commit()
super(JournalController, self).update(id, terms)
示例15: searchpatterns
def searchpatterns(self, id):
c.entity = h.fetch_obj(Entity, id, new_id=True)
# add a new search pattern
pattern = request.params.get("pattern", None)
if pattern is None:
abort(400)
if pattern not in c.entity.searchpatterns:
c.entity.searchpatterns.append(unicode(pattern))
Session.commit()
return "OK"