mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
Python: Add Pycurl model
This commit is contained in:
committed by
Rasmus Wriedt Larsen
parent
f1a72311ed
commit
5afead5896
@@ -9,15 +9,18 @@
|
||||
private import python
|
||||
private import semmle.python.Concepts
|
||||
private import semmle.python.ApiGraphs
|
||||
private import semmle.python.frameworks.data.ModelsAsData
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* Provides models for the `pycurl` PyPI package.
|
||||
*
|
||||
* See
|
||||
* - https://pypi.org/project/pycurl/
|
||||
* - https://pycurl.io/docs/latest/
|
||||
*/
|
||||
private module Pycurl {
|
||||
module Pycurl {
|
||||
/**
|
||||
* Provides models for the `pycurl.Curl` class
|
||||
*
|
||||
@@ -25,7 +28,11 @@ private module Pycurl {
|
||||
*/
|
||||
module Curl {
|
||||
/** Gets a reference to the `pycurl.Curl` class. */
|
||||
private API::Node classRef() { result = API::moduleImport("pycurl").getMember("Curl") }
|
||||
API::Node classRef() {
|
||||
result = API::moduleImport("pycurl").getMember("Curl")
|
||||
or
|
||||
result = ModelOutput::getATypeNode("pycurl.Curl~Subclass").getASubclass*()
|
||||
}
|
||||
|
||||
/** Gets a reference to an instance of `pycurl.Curl`. */
|
||||
private API::Node instance() { result = classRef().getReturn() }
|
||||
|
||||
@@ -22,6 +22,7 @@ private import semmle.python.frameworks.Httpx
|
||||
private import semmle.python.frameworks.Invoke
|
||||
private import semmle.python.frameworks.MarkupSafe
|
||||
private import semmle.python.frameworks.Multidict
|
||||
private import semmle.python.frameworks.Pycurl
|
||||
import semmle.python.frameworks.data.internal.ApiGraphModelsExtensions as Extensions
|
||||
|
||||
class FlaskViewClasses extends FindSubclassesSpec {
|
||||
@@ -317,6 +318,12 @@ class Multidict extends FindSubclassesSpec {
|
||||
override API::Node getAlreadyModeledClass() { result = Multidict::MultiDictProxy::classRef() }
|
||||
}
|
||||
|
||||
class PyCurl extends FindSubclassesSpec {
|
||||
PyCurl() { this = "pycurl.Curl~Subclass" }
|
||||
|
||||
override API::Node getAlreadyModeledClass() { result = Pycurl::Curl::classRef() }
|
||||
}
|
||||
|
||||
bindingset[fullyQualified]
|
||||
predicate fullyQualifiedToYamlFormat(string fullyQualified, string type2, string path) {
|
||||
exists(int firstDot | firstDot = fullyQualified.indexOf(".", 0, 0) |
|
||||
|
||||
Reference in New Issue
Block a user