Skip to content

Commit 1c78c79

Browse files
authored
Merge pull request #6991 from RasmusWL/flask-blueprints
Python: Support `flask.blueprints.Blueprint`
2 parents 85f00fd + a33a8fd commit 1c78c79

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

python/ql/lib/semmle/python/frameworks/Flask.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ module Flask {
7474
*/
7575
module Blueprint {
7676
/** Gets a reference to the `flask.Blueprint` class. */
77-
API::Node classRef() { result = API::moduleImport("flask").getMember("Blueprint") }
77+
API::Node classRef() {
78+
result = API::moduleImport("flask").getMember("Blueprint")
79+
or
80+
result = API::moduleImport("flask").getMember("blueprints").getMember("Blueprint")
81+
}
7882

7983
/** Gets a reference to an instance of `flask.Blueprint`. */
8084
API::Node instance() { result = classRef().getReturn() }

python/ql/test/library-tests/frameworks/flask/routing_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ def bp1_example(foo): # $ requestHandler routedParameter=foo
105105

106106
app.register_blueprint(bp1) # by default, URLs of blueprints are not prefixed
107107

108-
109-
bp2 = flask.Blueprint("bp2", __name__)
108+
import flask.blueprints
109+
bp2 = flask.blueprints.Blueprint("bp2", __name__)
110110

111111
@bp2.route("/example") # $ routeSetup="/example"
112112
def bp2_example(): # $ requestHandler

0 commit comments

Comments
 (0)