mirror of
https://github.com/davidhalter/django-stubs.git
synced 2025-12-10 05:51:53 +08:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cb1fa08a82 | ||
|
|
e2f6abe579 | ||
|
|
ffb6551eb4 | ||
|
|
40c8bfa510 | ||
|
|
402b7d563f | ||
|
|
92eb068a04 | ||
|
|
9d4d06f8b3 | ||
|
|
d746e3f5e4 | ||
|
|
8729a74f81 | ||
|
|
56361b353e | ||
|
|
b71c9ad282 | ||
|
|
ce370ea79f | ||
|
|
2a732fd257 | ||
|
|
645ee97e78 | ||
|
|
5bc3759ea2 | ||
|
|
534a028ea2 | ||
|
|
87856754ea | ||
|
|
2f7fac2eaf | ||
|
|
5ff99fd047 | ||
|
|
f77ebcd22c | ||
|
|
34b126e3da | ||
|
|
6e5f5f2cdb | ||
|
|
95252cde60 | ||
|
|
6ef2cf0331 | ||
|
|
9f3b95841b | ||
|
|
e764b1cf4c | ||
|
|
8a64d87917 | ||
|
|
60f3f9dd9f | ||
|
|
ca10ee9242 | ||
|
|
f651f27ddf | ||
|
|
3915aa0639 | ||
|
|
97ec2ee43b | ||
|
|
19c73a106d | ||
|
|
92ef5d9d95 | ||
|
|
f16d1b8cb6 | ||
|
|
c3cdc1c2d5 | ||
|
|
3704d0ab98 | ||
|
|
b1d619edb2 | ||
|
|
e680326c72 | ||
|
|
574a87e68c | ||
|
|
82ae1751ed | ||
|
|
69042783b1 | ||
|
|
391bbc59d5 | ||
|
|
28c76df3b2 | ||
|
|
3d2534ea8d | ||
|
|
54f5f63e71 | ||
|
|
4c5723d368 | ||
|
|
7e0e43135d | ||
|
|
e05b84e32d | ||
|
|
71751d3795 | ||
|
|
25f92e8e56 | ||
|
|
28d47c7e93 | ||
|
|
197cb4058e | ||
|
|
dac2b31fb2 | ||
|
|
8d2600136a | ||
|
|
570772f973 | ||
|
|
d5c1bfb12a | ||
|
|
64cbb0f70e | ||
|
|
6f5a39625e | ||
|
|
bf604a0398 | ||
|
|
92c8dfc93f | ||
|
|
c10c55052c | ||
|
|
96914e466b | ||
|
|
90ed7f332d | ||
|
|
a801501151 | ||
|
|
8ea59985df | ||
|
|
2964ed53d7 | ||
|
|
1b9176f994 | ||
|
|
54d0d018c6 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -11,4 +11,5 @@ pip-wheel-metadata/
|
||||
.pytest_cache/
|
||||
/.envrc
|
||||
/.direnv
|
||||
django-sources/
|
||||
django-sources/
|
||||
.venv/
|
||||
11
.travis.yml
11
.travis.yml
@@ -4,10 +4,19 @@ dist: xenial
|
||||
sudo: required
|
||||
jobs:
|
||||
include:
|
||||
- name: Run plugin test suite with python 3.8
|
||||
python: 3.8
|
||||
script: 'pytest'
|
||||
|
||||
- name: Run plugin test suite with python 3.7
|
||||
python: 3.7
|
||||
script: 'pytest'
|
||||
|
||||
- name: Typecheck Django 3.0 test suite with python 3.8
|
||||
python: 3.8
|
||||
script: |
|
||||
python ./scripts/typecheck_tests.py --django_version=3.0
|
||||
|
||||
- name: Typecheck Django 3.0 test suite with python 3.7
|
||||
python: 3.7
|
||||
script: |
|
||||
@@ -29,7 +38,7 @@ jobs:
|
||||
|
||||
- name: Lint with black
|
||||
python: 3.7
|
||||
script: 'black --check django-stubs/'
|
||||
script: 'black --check django-stubs/ setup.py'
|
||||
|
||||
- name: Lint plugin code with flake8
|
||||
python: 3.7
|
||||
|
||||
28
README.md
28
README.md
@@ -47,7 +47,10 @@ We rely on different `django` and `mypy` versions:
|
||||
|
||||
| django-stubs | mypy version | django version | python version
|
||||
| ------------ | ---- | ---- | ---- |
|
||||
| 1.3.0 | 0.750 | 2.2.x | ^3.6
|
||||
| 1.6.0 | 0.780 | 2.2.x \|\| 3.x | ^3.6
|
||||
| 1.5.0 | 0.770 | 2.2.x \|\| 3.x | ^3.6
|
||||
| 1.4.0 | 0.760 | 2.2.x \|\| 3.x | ^3.6
|
||||
| 1.3.0 | 0.750 | 2.2.x \|\| 3.x | ^3.6
|
||||
| 1.2.0 | 0.730 | 2.2.x | ^3.6
|
||||
| 1.1.0 | 0.720 | 2.2.x | ^3.6
|
||||
| 0.12.x | old semantic analyzer (<0.711), dmypy support | 2.1.x | ^3.6
|
||||
@@ -57,7 +60,7 @@ We rely on different `django` and `mypy` versions:
|
||||
|
||||
### Is this an official Django project?
|
||||
|
||||
No, it is not. We are indendepent from Django at the moment.
|
||||
No, it is not. We are independent from Django at the moment.
|
||||
There's a [proposal](https://github.com/django/deps/pull/65) to merge our project into the Django itself.
|
||||
You show your support by linking the PR.
|
||||
|
||||
@@ -70,11 +73,11 @@ But, it does not make any sense to use this project without `mypy`.
|
||||
|
||||
### mypy crashes when I run it with this plugin installed
|
||||
|
||||
Current implementation uses Django runtime to extract models information, so it will crash, if your installed apps or `models.py` is not correct. For this same reason, you cannot use `reveal_type` inside global scope of any Python file that will be executed for `django.setup()`.
|
||||
The current implementation uses Django runtime to extract models information, so it will crash, if your installed apps or `models.py` is not correct. For this same reason, you cannot use `reveal_type` inside global scope of any Python file that will be executed for `django.setup()`.
|
||||
|
||||
In other words, if your `manage.py runserver` crashes, mypy will crash too.
|
||||
You can also run `mypy` with [`--tb`](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-show-traceback)
|
||||
option to get extra information about the error.
|
||||
You can also run `mypy` with the [`--tb`](https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-show-traceback)
|
||||
option to get extra information about errors.
|
||||
|
||||
### I cannot use QuerySet or Manager with type annotations
|
||||
|
||||
@@ -87,19 +90,24 @@ You can use strings instead: `'QuerySet[MyModel]'` and `'Manager[MyModel]'`, thi
|
||||
|
||||
Currently we [are working](https://github.com/django/django/pull/12405) on providing `__class_getitem__` to the classes where we need them.
|
||||
|
||||
### How can I use HttpRequest with custom user model?
|
||||
### How can I create a HttpRequest that's guaranteed to have an authenticated user?
|
||||
|
||||
You can subclass standard request like so:
|
||||
Django's built in `HttpRequest` has the attribute `user` that resolves to the type
|
||||
```python
|
||||
Union[User, AnonymousUser]
|
||||
```
|
||||
where `User` is the user model specified by the `AUTH_USER_MODEL` setting.
|
||||
|
||||
If you want a `HttpRequest` that you can type-annotate with where you know that the user is authenticated you can subclass the normal `HttpRequest` class like so:
|
||||
```python
|
||||
from django.http import HttpRequest
|
||||
from my_user_app.models import MyUser
|
||||
|
||||
class MyRequest(HttpRequest):
|
||||
class AuthenticatedHttpRequest(HttpRequest):
|
||||
user: MyUser
|
||||
```
|
||||
|
||||
And then use `MyRequest` instead of standard `HttpRequest` inside your project.
|
||||
And then use `AuthenticatedHttpRequest` instead of the standard `HttpRequest` for when you know that the user is authenticated. For example in views using the `@login_required` decorator.
|
||||
|
||||
|
||||
## Related projects
|
||||
@@ -115,4 +123,4 @@ And then use `MyRequest` instead of standard `HttpRequest` inside your project.
|
||||
|
||||
We have Gitter here: <https://gitter.im/mypy-django/Lobby>
|
||||
|
||||
If you think you have more generic typing issue, please refer to <https://github.com/python/mypy> and their Gitter.
|
||||
If you think you have a more generic typing issue, please refer to <https://github.com/python/mypy> and their Gitter.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
black
|
||||
pytest-mypy-plugins==1.2.0
|
||||
psycopg2
|
||||
pytest-mypy-plugins==1.6.1
|
||||
psycopg2-binary
|
||||
flake8==3.7.9
|
||||
flake8-pyi==19.3.0
|
||||
isort==4.3.21
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Any, List, Union, Iterable, Optional
|
||||
|
||||
from django.contrib.admin.options import BaseModelAdmin
|
||||
from django.core.checks.messages import Error
|
||||
from django.core.checks.messages import CheckMessage, Error
|
||||
|
||||
from django.apps.config import AppConfig
|
||||
|
||||
@@ -11,7 +11,7 @@ def check_admin_app(app_configs: Optional[Iterable[AppConfig]], **kwargs: Any) -
|
||||
def check_dependencies(**kwargs: Any) -> List[_CheckError]: ...
|
||||
|
||||
class BaseModelAdminChecks:
|
||||
def check(self, admin_obj: BaseModelAdmin, **kwargs: Any) -> List[_CheckError]: ...
|
||||
def check(self, admin_obj: BaseModelAdmin, **kwargs: Any) -> List[CheckMessage]: ...
|
||||
|
||||
class ModelAdminChecks(BaseModelAdminChecks): ...
|
||||
class InlineModelAdminChecks(BaseModelAdminChecks): ...
|
||||
|
||||
4
django-stubs/contrib/admin/exceptions.pyi
Normal file
4
django-stubs/contrib/admin/exceptions.pyi
Normal file
@@ -0,0 +1,4 @@
|
||||
from django.core.exceptions import SuspiciousOperation as SuspiciousOperation
|
||||
|
||||
class DisallowedModelAdminLookup(SuspiciousOperation): ...
|
||||
class DisallowedModelAdminToField(SuspiciousOperation): ...
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Any, Callable, Dict, Iterator, List, Optional, Tuple, Union, Iterable
|
||||
|
||||
from django.contrib.auth.forms import AdminPasswordChangeForm
|
||||
from django.forms.boundfield import BoundField
|
||||
from django.forms.forms import BaseForm
|
||||
from django.forms.utils import ErrorDict
|
||||
from django.forms.widgets import Media, Widget
|
||||
from django.utils.safestring import SafeText
|
||||
@@ -23,7 +23,7 @@ class AdminForm:
|
||||
readonly_fields: Any = ...
|
||||
def __init__(
|
||||
self,
|
||||
form: AdminPasswordChangeForm,
|
||||
form: BaseForm,
|
||||
fieldsets: List[Tuple[None, Dict[str, List[str]]]],
|
||||
prepopulated_fields: Dict[Any, Any],
|
||||
readonly_fields: Optional[Iterable[Any]] = ...,
|
||||
|
||||
0
django-stubs/contrib/admin/migrations/__init__.pyi
Normal file
0
django-stubs/contrib/admin/migrations/__init__.pyi
Normal file
@@ -1,5 +1,24 @@
|
||||
from collections import OrderedDict
|
||||
from typing import Any, Callable, Dict, Iterator, List, Optional, Sequence, Set, Tuple, Type, Union
|
||||
from typing import (
|
||||
Any,
|
||||
Callable,
|
||||
Dict,
|
||||
Generic,
|
||||
Iterator,
|
||||
List,
|
||||
Optional,
|
||||
Sequence,
|
||||
Set,
|
||||
Tuple,
|
||||
Type,
|
||||
Union,
|
||||
Mapping,
|
||||
TypeVar,
|
||||
)
|
||||
|
||||
from django.forms.forms import BaseForm
|
||||
from django.forms.formsets import BaseFormSet
|
||||
from typing_extensions import Literal, TypedDict
|
||||
|
||||
from django.contrib.admin.filters import ListFilter
|
||||
from django.contrib.admin.models import LogEntry
|
||||
@@ -7,7 +26,7 @@ from django.contrib.admin.sites import AdminSite
|
||||
from django.contrib.admin.views.main import ChangeList
|
||||
from django.contrib.auth.forms import AdminPasswordChangeForm
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.checks.messages import Error
|
||||
from django.core.checks.messages import CheckMessage
|
||||
from django.core.paginator import Paginator
|
||||
from django.db.models.base import Model
|
||||
from django.db.models.fields.related import ForeignKey, ManyToManyField, RelatedField
|
||||
@@ -26,8 +45,10 @@ from django.db.models.fields import Field
|
||||
|
||||
IS_POPUP_VAR: str
|
||||
TO_FIELD_VAR: str
|
||||
HORIZONTAL: Any
|
||||
VERTICAL: Any
|
||||
HORIZONTAL: Literal[1] = ...
|
||||
VERTICAL: Literal[2] = ...
|
||||
|
||||
_Direction = Union[Literal[1], Literal[2]]
|
||||
|
||||
def get_content_type_for_model(obj: Union[Type[Model], Model]) -> ContentType: ...
|
||||
def get_ul_class(radio_style: int) -> str: ...
|
||||
@@ -37,25 +58,43 @@ class IncorrectLookupParameters(Exception): ...
|
||||
FORMFIELD_FOR_DBFIELD_DEFAULTS: Any
|
||||
csrf_protect_m: Any
|
||||
|
||||
class BaseModelAdmin:
|
||||
autocomplete_fields: Any = ...
|
||||
raw_id_fields: Any = ...
|
||||
fields: Any = ...
|
||||
exclude: Any = ...
|
||||
fieldsets: Any = ...
|
||||
form: Any = ...
|
||||
filter_vertical: Any = ...
|
||||
filter_horizontal: Any = ...
|
||||
radio_fields: Any = ...
|
||||
prepopulated_fields: Any = ...
|
||||
formfield_overrides: Any = ...
|
||||
readonly_fields: Any = ...
|
||||
ordering: Any = ...
|
||||
sortable_by: Any = ...
|
||||
class _OptionalFieldOpts(TypedDict, total=False):
|
||||
classes: Sequence[str]
|
||||
description: str
|
||||
|
||||
class _FieldOpts(_OptionalFieldOpts, total=True):
|
||||
fields: Sequence[Union[str, Sequence[str]]]
|
||||
|
||||
# Workaround for mypy issue, a Sequence type should be preferred here.
|
||||
# https://github.com/python/mypy/issues/8921
|
||||
# _FieldsetSpec = Sequence[Tuple[Optional[str], _FieldOpts]]
|
||||
_T = TypeVar("_T")
|
||||
_ListOrTuple = Union[Tuple[_T, ...], List[_T]]
|
||||
_FieldsetSpec = _ListOrTuple[Tuple[Optional[str], _FieldOpts]]
|
||||
|
||||
# Generic type specifically for models, for use in BaseModelAdmin and subclasses
|
||||
# https://github.com/typeddjango/django-stubs/issues/482
|
||||
_ModelT = TypeVar("_ModelT", bound=Model)
|
||||
|
||||
class BaseModelAdmin(Generic[_ModelT]):
|
||||
autocomplete_fields: Sequence[str] = ...
|
||||
raw_id_fields: Sequence[str] = ...
|
||||
fields: Sequence[Union[str, Sequence[str]]] = ...
|
||||
exclude: Sequence[str] = ...
|
||||
fieldsets: _FieldsetSpec = ...
|
||||
form: Type[BaseForm] = ...
|
||||
filter_vertical: Sequence[str] = ...
|
||||
filter_horizontal: Sequence[str] = ...
|
||||
radio_fields: Mapping[str, _Direction] = ...
|
||||
prepopulated_fields: Mapping[str, Sequence[str]] = ...
|
||||
formfield_overrides: Mapping[Type[Field], Mapping[str, Any]] = ...
|
||||
readonly_fields: Sequence[Union[str, Callable[[_ModelT], Any]]] = ...
|
||||
ordering: Sequence[str] = ...
|
||||
sortable_by: Sequence[str] = ...
|
||||
view_on_site: bool = ...
|
||||
show_full_result_count: bool = ...
|
||||
checks_class: Any = ...
|
||||
def check(self, **kwargs: Any) -> List[Union[str, Error]]: ...
|
||||
def check(self, **kwargs: Any) -> List[CheckMessage]: ...
|
||||
def formfield_for_dbfield(
|
||||
self, db_field: Field, request: Optional[HttpRequest], **kwargs: Any
|
||||
) -> Optional[Field]: ...
|
||||
@@ -72,28 +111,28 @@ class BaseModelAdmin:
|
||||
self, db_field: ManyToManyField, request: Optional[HttpRequest], **kwargs: Any
|
||||
) -> ModelMultipleChoiceField: ...
|
||||
def get_autocomplete_fields(self, request: HttpRequest) -> Tuple: ...
|
||||
def get_view_on_site_url(self, obj: Optional[Model] = ...) -> Optional[str]: ...
|
||||
def get_view_on_site_url(self, obj: Optional[_ModelT] = ...) -> Optional[str]: ...
|
||||
def get_empty_value_display(self) -> SafeText: ...
|
||||
def get_exclude(self, request: HttpRequest, obj: Optional[Model] = ...) -> Any: ...
|
||||
def get_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Sequence[Union[Callable, str]]: ...
|
||||
def get_exclude(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Any: ...
|
||||
def get_fields(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Sequence[Union[Callable, str]]: ...
|
||||
def get_fieldsets(
|
||||
self, request: HttpRequest, obj: Optional[Model] = ...
|
||||
self, request: HttpRequest, obj: Optional[_ModelT] = ...
|
||||
) -> List[Tuple[Optional[str], Dict[str, Any]]]: ...
|
||||
def get_ordering(self, request: HttpRequest) -> Union[List[str], Tuple]: ...
|
||||
def get_readonly_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Union[List[str], Tuple]: ...
|
||||
def get_prepopulated_fields(self, request: HttpRequest, obj: Optional[Model] = ...) -> Dict[str, Tuple[str]]: ...
|
||||
def get_readonly_fields(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Union[List[str], Tuple]: ...
|
||||
def get_prepopulated_fields(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Dict[str, Tuple[str]]: ...
|
||||
def get_queryset(self, request: HttpRequest) -> QuerySet: ...
|
||||
def get_sortable_by(self, request: HttpRequest) -> Union[List[Callable], List[str], Tuple]: ...
|
||||
def lookup_allowed(self, lookup: str, value: str) -> bool: ...
|
||||
def to_field_allowed(self, request: HttpRequest, to_field: str) -> bool: ...
|
||||
def has_add_permission(self, request: HttpRequest) -> bool: ...
|
||||
def has_change_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||
def has_delete_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||
def has_view_permission(self, request: HttpRequest, obj: Optional[Model] = ...) -> bool: ...
|
||||
def has_change_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ...
|
||||
def has_delete_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ...
|
||||
def has_view_permission(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> bool: ...
|
||||
def has_module_permission(self, request: HttpRequest) -> bool: ...
|
||||
|
||||
class ModelAdmin(BaseModelAdmin):
|
||||
list_display: Sequence[Union[str, Callable]] = ...
|
||||
class ModelAdmin(BaseModelAdmin[_ModelT]):
|
||||
list_display: Sequence[Union[str, Callable[[_ModelT], Any]]] = ...
|
||||
list_display_links: Optional[Sequence[Union[str, Callable]]] = ...
|
||||
list_filter: Sequence[Union[str, Type[ListFilter], Tuple[str, Type[ListFilter]]]] = ...
|
||||
list_select_related: Union[bool, Sequence[str]] = ...
|
||||
@@ -101,43 +140,43 @@ class ModelAdmin(BaseModelAdmin):
|
||||
list_max_show_all: int = ...
|
||||
list_editable: Sequence[str] = ...
|
||||
search_fields: Sequence[str] = ...
|
||||
date_hierarchy: Optional[Any] = ...
|
||||
date_hierarchy: Optional[str] = ...
|
||||
save_as: bool = ...
|
||||
save_as_continue: bool = ...
|
||||
save_on_top: bool = ...
|
||||
paginator: Any = ...
|
||||
paginator: Type = ...
|
||||
preserve_filters: bool = ...
|
||||
inlines: Sequence[Type[InlineModelAdmin]] = ...
|
||||
add_form_template: Any = ...
|
||||
change_form_template: Any = ...
|
||||
change_list_template: Any = ...
|
||||
delete_confirmation_template: Any = ...
|
||||
delete_selected_confirmation_template: Any = ...
|
||||
object_history_template: Any = ...
|
||||
popup_response_template: Any = ...
|
||||
actions: Any = ...
|
||||
add_form_template: str = ...
|
||||
change_form_template: str = ...
|
||||
change_list_template: str = ...
|
||||
delete_confirmation_template: str = ...
|
||||
delete_selected_confirmation_template: str = ...
|
||||
object_history_template: str = ...
|
||||
popup_response_template: str = ...
|
||||
actions: Sequence[Union[Callable[[ModelAdmin, HttpRequest, QuerySet], None], str]] = ...
|
||||
action_form: Any = ...
|
||||
actions_on_top: bool = ...
|
||||
actions_on_bottom: bool = ...
|
||||
actions_selection_counter: bool = ...
|
||||
model: Type[Model] = ...
|
||||
model: Type[_ModelT] = ...
|
||||
opts: Options = ...
|
||||
admin_site: AdminSite = ...
|
||||
def __init__(self, model: Type[Model], admin_site: Optional[AdminSite]) -> None: ...
|
||||
def get_inline_instances(self, request: HttpRequest, obj: Optional[Model] = ...) -> List[InlineModelAdmin]: ...
|
||||
def __init__(self, model: Type[_ModelT], admin_site: Optional[AdminSite]) -> None: ...
|
||||
def get_inline_instances(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> List[InlineModelAdmin]: ...
|
||||
def get_urls(self) -> List[URLPattern]: ...
|
||||
@property
|
||||
def urls(self) -> List[URLPattern]: ...
|
||||
@property
|
||||
def media(self) -> Media: ...
|
||||
def get_model_perms(self, request: HttpRequest) -> Dict[str, bool]: ...
|
||||
def get_form(self, request: Any, obj: Optional[Any] = ..., change: bool = ..., **kwargs: Any): ...
|
||||
def get_form(self, request: Any, obj: Optional[_ModelT] = ..., change: bool = ..., **kwargs: Any): ...
|
||||
def get_changelist(self, request: HttpRequest, **kwargs: Any) -> Type[ChangeList]: ...
|
||||
def get_changelist_instance(self, request: HttpRequest) -> ChangeList: ...
|
||||
def get_object(self, request: HttpRequest, object_id: str, from_field: None = ...) -> Optional[Model]: ...
|
||||
def get_object(self, request: HttpRequest, object_id: str, from_field: None = ...) -> Optional[_ModelT]: ...
|
||||
def get_changelist_form(self, request: Any, **kwargs: Any): ...
|
||||
def get_changelist_formset(self, request: Any, **kwargs: Any): ...
|
||||
def get_formsets_with_inlines(self, request: HttpRequest, obj: Optional[Model] = ...) -> Iterator[Any]: ...
|
||||
def get_formsets_with_inlines(self, request: HttpRequest, obj: Optional[_ModelT] = ...) -> Iterator[Any]: ...
|
||||
def get_paginator(
|
||||
self,
|
||||
request: HttpRequest,
|
||||
@@ -146,10 +185,10 @@ class ModelAdmin(BaseModelAdmin):
|
||||
orphans: int = ...,
|
||||
allow_empty_first_page: bool = ...,
|
||||
) -> Paginator: ...
|
||||
def log_addition(self, request: HttpRequest, object: Model, message: Any) -> LogEntry: ...
|
||||
def log_change(self, request: HttpRequest, object: Model, message: Any) -> LogEntry: ...
|
||||
def log_deletion(self, request: HttpRequest, object: Model, object_repr: str) -> LogEntry: ...
|
||||
def action_checkbox(self, obj: Model) -> SafeText: ...
|
||||
def log_addition(self, request: HttpRequest, object: _ModelT, message: Any) -> LogEntry: ...
|
||||
def log_change(self, request: HttpRequest, object: _ModelT, message: Any) -> LogEntry: ...
|
||||
def log_deletion(self, request: HttpRequest, object: _ModelT, object_repr: str) -> LogEntry: ...
|
||||
def action_checkbox(self, obj: _ModelT) -> SafeText: ...
|
||||
def get_actions(self, request: HttpRequest) -> OrderedDict: ...
|
||||
def get_action_choices(
|
||||
self, request: HttpRequest, default_choices: List[Tuple[str, str]] = ...
|
||||
@@ -178,8 +217,8 @@ class ModelAdmin(BaseModelAdmin):
|
||||
fail_silently: bool = ...,
|
||||
) -> None: ...
|
||||
def save_form(self, request: Any, form: Any, change: Any): ...
|
||||
def save_model(self, request: Any, obj: Any, form: Any, change: Any) -> None: ...
|
||||
def delete_model(self, request: HttpRequest, obj: Model) -> None: ...
|
||||
def save_model(self, request: Any, obj: _ModelT, form: Any, change: Any) -> None: ...
|
||||
def delete_model(self, request: HttpRequest, obj: _ModelT) -> None: ...
|
||||
def delete_queryset(self, request: HttpRequest, queryset: QuerySet) -> None: ...
|
||||
def save_formset(self, request: Any, form: Any, formset: Any, change: Any) -> None: ...
|
||||
def save_related(self, request: Any, form: Any, formsets: Any, change: Any) -> None: ...
|
||||
@@ -190,19 +229,19 @@ class ModelAdmin(BaseModelAdmin):
|
||||
add: bool = ...,
|
||||
change: bool = ...,
|
||||
form_url: str = ...,
|
||||
obj: Optional[Any] = ...,
|
||||
obj: Optional[_ModelT] = ...,
|
||||
): ...
|
||||
def response_add(
|
||||
self, request: HttpRequest, obj: Model, post_url_continue: Optional[str] = ...
|
||||
self, request: HttpRequest, obj: _ModelT, post_url_continue: Optional[str] = ...
|
||||
) -> HttpResponse: ...
|
||||
def response_change(self, request: HttpRequest, obj: Model) -> HttpResponse: ...
|
||||
def response_post_save_add(self, request: HttpRequest, obj: Model) -> HttpResponseRedirect: ...
|
||||
def response_post_save_change(self, request: HttpRequest, obj: Model) -> HttpResponseRedirect: ...
|
||||
def response_change(self, request: HttpRequest, obj: _ModelT) -> HttpResponse: ...
|
||||
def response_post_save_add(self, request: HttpRequest, obj: _ModelT) -> HttpResponseRedirect: ...
|
||||
def response_post_save_change(self, request: HttpRequest, obj: _ModelT) -> HttpResponseRedirect: ...
|
||||
def response_action(self, request: HttpRequest, queryset: QuerySet) -> Optional[HttpResponseBase]: ...
|
||||
def response_delete(self, request: HttpRequest, obj_display: str, obj_id: int) -> HttpResponse: ...
|
||||
def render_delete_form(self, request: Any, context: Any): ...
|
||||
def get_inline_formsets(
|
||||
self, request: HttpRequest, formsets: List[Any], inline_instances: List[Any], obj: Optional[Model] = ...
|
||||
self, request: HttpRequest, formsets: List[Any], inline_instances: List[Any], obj: Optional[_ModelT] = ...
|
||||
) -> List[Any]: ...
|
||||
def get_changeform_initial_data(self, request: HttpRequest) -> Dict[str, str]: ...
|
||||
def changeform_view(
|
||||
@@ -226,10 +265,10 @@ class ModelAdmin(BaseModelAdmin):
|
||||
def delete_view(self, request: HttpRequest, object_id: str, extra_context: None = ...) -> Any: ...
|
||||
def history_view(self, request: HttpRequest, object_id: str, extra_context: None = ...) -> HttpResponse: ...
|
||||
|
||||
class InlineModelAdmin(BaseModelAdmin):
|
||||
model: Any = ...
|
||||
fk_name: Any = ...
|
||||
formset: Any = ...
|
||||
class InlineModelAdmin(BaseModelAdmin[_ModelT]):
|
||||
model: Type[_ModelT] = ...
|
||||
fk_name: str = ...
|
||||
formset: BaseFormSet = ...
|
||||
extra: int = ...
|
||||
min_num: Optional[int] = ...
|
||||
max_num: Optional[int] = ...
|
||||
@@ -238,18 +277,18 @@ class InlineModelAdmin(BaseModelAdmin):
|
||||
verbose_name_plural: Optional[str] = ...
|
||||
can_delete: bool = ...
|
||||
show_change_link: bool = ...
|
||||
classes: Any = ...
|
||||
admin_site: Any = ...
|
||||
classes: Optional[Sequence[str]] = ...
|
||||
admin_site: AdminSite = ...
|
||||
parent_model: Any = ...
|
||||
opts: Any = ...
|
||||
has_registered_model: Any = ...
|
||||
def __init__(self, parent_model: Union[Type[Model], Model], admin_site: AdminSite) -> None: ...
|
||||
def __init__(self, parent_model: Union[Type[_ModelT], _ModelT], admin_site: AdminSite) -> None: ...
|
||||
@property
|
||||
def media(self) -> Media: ...
|
||||
def get_extra(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> int: ...
|
||||
def get_min_num(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||
def get_max_num(self, request: HttpRequest, obj: Optional[Model] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||
def get_formset(self, request: Any, obj: Optional[Any] = ..., **kwargs: Any): ...
|
||||
def get_extra(self, request: HttpRequest, obj: Optional[_ModelT] = ..., **kwargs: Any) -> int: ...
|
||||
def get_min_num(self, request: HttpRequest, obj: Optional[_ModelT] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||
def get_max_num(self, request: HttpRequest, obj: Optional[_ModelT] = ..., **kwargs: Any) -> Optional[int]: ...
|
||||
def get_formset(self, request: Any, obj: Optional[_ModelT] = ..., **kwargs: Any): ...
|
||||
|
||||
class StackedInline(InlineModelAdmin): ...
|
||||
class TabularInline(InlineModelAdmin): ...
|
||||
class StackedInline(InlineModelAdmin[_ModelT]): ...
|
||||
class TabularInline(InlineModelAdmin[_ModelT]): ...
|
||||
|
||||
@@ -63,6 +63,7 @@ class AdminSite:
|
||||
def i18n_javascript(self, request: WSGIRequest, extra_context: Optional[Dict[Any, Any]] = ...) -> HttpResponse: ...
|
||||
def logout(self, request: WSGIRequest, extra_context: Optional[Dict[str, Any]] = ...) -> TemplateResponse: ...
|
||||
def login(self, request: WSGIRequest, extra_context: Optional[Dict[str, Any]] = ...) -> HttpResponse: ...
|
||||
def _build_app_dict(self, request: WSGIRequest, label: Optional[str] = ...) -> Dict[str, Any]: ...
|
||||
def get_app_list(self, request: WSGIRequest) -> List[Any]: ...
|
||||
def index(self, request: WSGIRequest, extra_context: Optional[Dict[str, Any]] = ...) -> TemplateResponse: ...
|
||||
def app_index(
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
from typing import Callable, TypeVar, overload
|
||||
from typing import Callable, Optional, TypeVar, overload
|
||||
|
||||
_C = TypeVar("_C", bound=Callable)
|
||||
@overload
|
||||
def staff_member_required(view_func: _C = ..., redirect_field_name: str = ..., login_url: str = ...) -> _C: ...
|
||||
def staff_member_required(
|
||||
view_func: _C = ..., redirect_field_name: Optional[str] = ..., login_url: str = ...
|
||||
) -> _C: ...
|
||||
@overload
|
||||
def staff_member_required(view_func: None = ..., redirect_field_name: str = ..., login_url: str = ...) -> Callable: ...
|
||||
def staff_member_required(
|
||||
view_func: None = ..., redirect_field_name: Optional[str] = ..., login_url: str = ...
|
||||
) -> Callable: ...
|
||||
|
||||
6
django-stubs/contrib/admindocs/apps.pyi
Normal file
6
django-stubs/contrib/admindocs/apps.pyi
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig as AppConfig
|
||||
from typing import Any
|
||||
|
||||
class AdminDocsConfig(AppConfig):
|
||||
name: str = ...
|
||||
verbose_name: Any = ...
|
||||
@@ -2,7 +2,7 @@ from typing import Any, List, Optional, Type, Union
|
||||
|
||||
from django.contrib.auth.backends import ModelBackend
|
||||
from django.contrib.auth.base_user import AbstractBaseUser
|
||||
from django.contrib.auth.models import AbstractUser, AnonymousUser
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.core.handlers.wsgi import WSGIRequest
|
||||
from django.db.models.base import Model
|
||||
from django.db.models.options import Options
|
||||
@@ -23,12 +23,12 @@ def load_backend(path: str) -> ModelBackend: ...
|
||||
def get_backends() -> List[ModelBackend]: ...
|
||||
def authenticate(request: Any = ..., **credentials: Any) -> Optional[AbstractBaseUser]: ...
|
||||
def login(
|
||||
request: HttpRequest, user: AbstractBaseUser, backend: Optional[Union[Type[ModelBackend], str]] = ...
|
||||
request: HttpRequest, user: Optional[AbstractBaseUser], backend: Optional[Union[Type[ModelBackend], str]] = ...
|
||||
) -> None: ...
|
||||
def logout(request: HttpRequest) -> None: ...
|
||||
def get_user_model() -> Type[Model]: ...
|
||||
def get_user(request: HttpRequest) -> Union[AbstractBaseUser, AnonymousUser]: ...
|
||||
def get_permission_codename(action: str, opts: Options) -> str: ...
|
||||
def update_session_auth_hash(request: WSGIRequest, user: AbstractUser) -> None: ...
|
||||
def update_session_auth_hash(request: HttpRequest, user: AbstractBaseUser) -> None: ...
|
||||
|
||||
default_app_config: str
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
import sys
|
||||
from typing import Any, Optional, Tuple, List, overload, TypeVar
|
||||
|
||||
from django.db.models.base import Model
|
||||
|
||||
from django.db import models
|
||||
|
||||
if sys.version_info < (3, 8):
|
||||
from typing_extensions import Literal
|
||||
else:
|
||||
from typing import Literal
|
||||
|
||||
_T = TypeVar("_T", bound=Model)
|
||||
|
||||
class BaseUserManager(models.Manager[_T]):
|
||||
@@ -20,10 +26,10 @@ class AbstractBaseUser(models.Model):
|
||||
def get_username(self) -> str: ...
|
||||
def natural_key(self) -> Tuple[str]: ...
|
||||
@property
|
||||
def is_anonymous(self) -> bool: ...
|
||||
def is_anonymous(self) -> Literal[False]: ...
|
||||
@property
|
||||
def is_authenticated(self) -> bool: ...
|
||||
def set_password(self, raw_password: Optional[str]) -> None: ...
|
||||
def is_authenticated(self) -> Literal[True]: ...
|
||||
def set_password(self, raw_password: str) -> None: ...
|
||||
def check_password(self, raw_password: str) -> bool: ...
|
||||
def set_unusable_password(self) -> None: ...
|
||||
def has_usable_password(self) -> bool: ...
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Any, Dict, Iterator, Optional
|
||||
|
||||
from django.contrib.auth.base_user import AbstractBaseUser
|
||||
from django.contrib.auth.models import AbstractUser, User
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.tokens import PasswordResetTokenGenerator
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.core.handlers.wsgi import WSGIRequest
|
||||
@@ -86,6 +86,6 @@ class AdminPasswordChangeForm(forms.Form):
|
||||
password1: Any = ...
|
||||
password2: Any = ...
|
||||
user: User = ...
|
||||
def __init__(self, user: AbstractUser, *args: Any, **kwargs: Any) -> None: ...
|
||||
def __init__(self, user: AbstractBaseUser, *args: Any, **kwargs: Any) -> None: ...
|
||||
def clean_password2(self) -> str: ...
|
||||
def save(self, commit: bool = ...) -> AbstractUser: ...
|
||||
def save(self, commit: bool = ...) -> AbstractBaseUser: ...
|
||||
|
||||
0
django-stubs/contrib/auth/migrations/__init__.pyi
Normal file
0
django-stubs/contrib/auth/migrations/__init__.pyi
Normal file
@@ -1,3 +1,4 @@
|
||||
import sys
|
||||
from typing import Any, Collection, Optional, Set, Tuple, Type, TypeVar, Union
|
||||
|
||||
from django.contrib.auth.backends import ModelBackend
|
||||
@@ -9,6 +10,11 @@ from django.db.models.manager import EmptyManager
|
||||
|
||||
from django.db import models
|
||||
|
||||
if sys.version_info < (3, 8):
|
||||
from typing_extensions import Literal
|
||||
else:
|
||||
from typing import Literal
|
||||
|
||||
_AnyUser = Union[Model, "AnonymousUser"]
|
||||
|
||||
def update_last_login(sender: Type[AbstractBaseUser], user: AbstractBaseUser, **kwargs: Any) -> None: ...
|
||||
@@ -105,7 +111,7 @@ class AnonymousUser:
|
||||
def has_perms(self, perm_list: Collection[str], obj: Optional[_AnyUser] = ...) -> bool: ...
|
||||
def has_module_perms(self, module: str) -> bool: ...
|
||||
@property
|
||||
def is_anonymous(self) -> bool: ...
|
||||
def is_anonymous(self) -> Literal[True]: ...
|
||||
@property
|
||||
def is_authenticated(self) -> bool: ...
|
||||
def is_authenticated(self) -> Literal[False]: ...
|
||||
def get_username(self) -> str: ...
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union
|
||||
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.checks.messages import Error
|
||||
from django.core.checks.messages import CheckMessage
|
||||
from django.db.models.base import Model
|
||||
from django.db.models.expressions import Combinable
|
||||
from django.db.models.fields.mixins import FieldCacheMixin
|
||||
@@ -41,7 +41,7 @@ class GenericForeignKey(FieldCacheMixin):
|
||||
def contribute_to_class(self, cls: Type[Model], name: str, **kwargs: Any) -> None: ...
|
||||
def get_filter_kwargs_for_object(self, obj: Model) -> Dict[str, Optional[ContentType]]: ...
|
||||
def get_forward_related_filter(self, obj: Model) -> Dict[str, int]: ...
|
||||
def check(self, **kwargs: Any) -> List[Error]: ...
|
||||
def check(self, **kwargs: Any) -> List[CheckMessage]: ...
|
||||
def get_cache_name(self) -> str: ...
|
||||
def get_content_type(
|
||||
self, obj: Optional[Model] = ..., id: Optional[int] = ..., using: Optional[str] = ...
|
||||
|
||||
9
django-stubs/contrib/flatpages/admin.pyi
Normal file
9
django-stubs/contrib/flatpages/admin.pyi
Normal file
@@ -0,0 +1,9 @@
|
||||
from django.contrib import admin as admin
|
||||
from typing import Any
|
||||
|
||||
class FlatPageAdmin(admin.ModelAdmin):
|
||||
form: Any = ...
|
||||
fieldsets: Any = ...
|
||||
list_display: Any = ...
|
||||
list_filter: Any = ...
|
||||
search_fields: Any = ...
|
||||
6
django-stubs/contrib/flatpages/apps.pyi
Normal file
6
django-stubs/contrib/flatpages/apps.pyi
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.apps import AppConfig as AppConfig
|
||||
from typing import Any
|
||||
|
||||
class FlatPagesConfig(AppConfig):
|
||||
name: str = ...
|
||||
verbose_name: Any = ...
|
||||
@@ -0,0 +1 @@
|
||||
default_app_config: str
|
||||
|
||||
12
django-stubs/contrib/gis/admin/__init__.pyi
Normal file
12
django-stubs/contrib/gis/admin/__init__.pyi
Normal file
@@ -0,0 +1,12 @@
|
||||
from django.contrib.admin import (
|
||||
AdminSite as AdminSite,
|
||||
HORIZONTAL as HORIZONTAL,
|
||||
ModelAdmin as ModelAdmin,
|
||||
StackedInline as StackedInline,
|
||||
TabularInline as TabularInline,
|
||||
VERTICAL as VERTICAL,
|
||||
autodiscover as autodiscover,
|
||||
register as register,
|
||||
site as site,
|
||||
)
|
||||
from django.contrib.gis.admin.options import GeoModelAdmin as GeoModelAdmin, OSMGeoAdmin as OSMGeoAdmin
|
||||
45
django-stubs/contrib/gis/admin/options.pyi
Normal file
45
django-stubs/contrib/gis/admin/options.pyi
Normal file
@@ -0,0 +1,45 @@
|
||||
from django.contrib.admin import ModelAdmin as ModelAdmin
|
||||
from typing import Any
|
||||
|
||||
spherical_mercator_srid: int
|
||||
|
||||
class GeoModelAdmin(ModelAdmin):
|
||||
default_lon: int = ...
|
||||
default_lat: int = ...
|
||||
default_zoom: int = ...
|
||||
display_wkt: bool = ...
|
||||
display_srid: bool = ...
|
||||
extra_js: Any = ...
|
||||
num_zoom: int = ...
|
||||
max_zoom: bool = ...
|
||||
min_zoom: bool = ...
|
||||
units: bool = ...
|
||||
max_resolution: bool = ...
|
||||
max_extent: bool = ...
|
||||
modifiable: bool = ...
|
||||
mouse_position: bool = ...
|
||||
scale_text: bool = ...
|
||||
layerswitcher: bool = ...
|
||||
scrollable: bool = ...
|
||||
map_width: int = ...
|
||||
map_height: int = ...
|
||||
map_srid: int = ...
|
||||
map_template: str = ...
|
||||
openlayers_url: str = ...
|
||||
point_zoom: Any = ...
|
||||
wms_url: str = ...
|
||||
wms_layer: str = ...
|
||||
wms_name: str = ...
|
||||
wms_options: Any = ...
|
||||
debug: bool = ...
|
||||
widget: Any = ...
|
||||
@property
|
||||
def media(self): ...
|
||||
def formfield_for_dbfield(self, db_field: Any, request: Any, **kwargs: Any): ...
|
||||
def get_map_widget(self, db_field: Any): ...
|
||||
|
||||
class OSMGeoAdmin(GeoModelAdmin):
|
||||
map_template: str = ...
|
||||
num_zoom: int = ...
|
||||
map_srid: Any = ...
|
||||
point_zoom: Any = ...
|
||||
9
django-stubs/contrib/gis/admin/widgets.pyi
Normal file
9
django-stubs/contrib/gis/admin/widgets.pyi
Normal file
@@ -0,0 +1,9 @@
|
||||
from django.forms.widgets import Textarea as Textarea
|
||||
from typing import Any
|
||||
|
||||
geo_context: Any
|
||||
logger: Any
|
||||
|
||||
class OpenLayersWidget(Textarea):
|
||||
def get_context(self, name: Any, value: Any, attrs: Any): ...
|
||||
def map_options(self): ...
|
||||
7
django-stubs/contrib/gis/apps.pyi
Normal file
7
django-stubs/contrib/gis/apps.pyi
Normal file
@@ -0,0 +1,7 @@
|
||||
from django.apps import AppConfig as AppConfig
|
||||
from typing import Any
|
||||
|
||||
class GISConfig(AppConfig):
|
||||
name: str = ...
|
||||
verbose_name: Any = ...
|
||||
def ready(self) -> None: ...
|
||||
0
django-stubs/contrib/gis/db/backends/__init__.pyi
Normal file
0
django-stubs/contrib/gis/db/backends/__init__.pyi
Normal file
8
django-stubs/contrib/gis/db/backends/base/adapter.pyi
Normal file
8
django-stubs/contrib/gis/db/backends/base/adapter.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
from typing import Any
|
||||
|
||||
class WKTAdapter:
|
||||
wkt: Any = ...
|
||||
srid: Any = ...
|
||||
def __init__(self, geom: Any) -> None: ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
def __hash__(self) -> Any: ...
|
||||
44
django-stubs/contrib/gis/db/backends/base/features.pyi
Normal file
44
django-stubs/contrib/gis/db/backends/base/features.pyi
Normal file
@@ -0,0 +1,44 @@
|
||||
from typing import Any
|
||||
|
||||
class BaseSpatialFeatures:
|
||||
gis_enabled: bool = ...
|
||||
has_spatialrefsys_table: bool = ...
|
||||
supports_add_srs_entry: bool = ...
|
||||
supports_geometry_field_introspection: bool = ...
|
||||
supports_3d_storage: bool = ...
|
||||
supports_3d_functions: bool = ...
|
||||
supports_transform: bool = ...
|
||||
supports_null_geometries: bool = ...
|
||||
supports_empty_geometries: bool = ...
|
||||
supports_distance_geodetic: bool = ...
|
||||
supports_length_geodetic: bool = ...
|
||||
supports_perimeter_geodetic: bool = ...
|
||||
supports_area_geodetic: bool = ...
|
||||
supports_num_points_poly: bool = ...
|
||||
supports_left_right_lookups: bool = ...
|
||||
supports_dwithin_distance_expr: bool = ...
|
||||
supports_raster: bool = ...
|
||||
supports_geometry_field_unique_index: bool = ...
|
||||
@property
|
||||
def supports_bbcontains_lookup(self): ...
|
||||
@property
|
||||
def supports_contained_lookup(self): ...
|
||||
@property
|
||||
def supports_crosses_lookup(self): ...
|
||||
@property
|
||||
def supports_distances_lookups(self): ...
|
||||
@property
|
||||
def supports_dwithin_lookup(self): ...
|
||||
@property
|
||||
def supports_relate_lookup(self): ...
|
||||
@property
|
||||
def supports_isvalid_lookup(self): ...
|
||||
@property
|
||||
def supports_collect_aggr(self): ...
|
||||
@property
|
||||
def supports_extent_aggr(self): ...
|
||||
@property
|
||||
def supports_make_line_aggr(self): ...
|
||||
@property
|
||||
def supports_union_aggr(self): ...
|
||||
def __getattr__(self, name: Any): ...
|
||||
33
django-stubs/contrib/gis/db/backends/base/models.pyi
Normal file
33
django-stubs/contrib/gis/db/backends/base/models.pyi
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Any
|
||||
|
||||
class SpatialRefSysMixin:
|
||||
@property
|
||||
def srs(self): ...
|
||||
@property
|
||||
def ellipsoid(self): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
@property
|
||||
def spheroid(self): ...
|
||||
@property
|
||||
def datum(self): ...
|
||||
@property
|
||||
def projected(self): ...
|
||||
@property
|
||||
def local(self): ...
|
||||
@property
|
||||
def geographic(self): ...
|
||||
@property
|
||||
def linear_name(self): ...
|
||||
@property
|
||||
def linear_units(self): ...
|
||||
@property
|
||||
def angular_name(self): ...
|
||||
@property
|
||||
def angular_units(self): ...
|
||||
@property
|
||||
def units(self): ...
|
||||
@classmethod
|
||||
def get_units(cls, wkt: Any): ...
|
||||
@classmethod
|
||||
def get_spheroid(cls, wkt: Any, string: bool = ...): ...
|
||||
33
django-stubs/contrib/gis/db/backends/base/operations.pyi
Normal file
33
django-stubs/contrib/gis/db/backends/base/operations.pyi
Normal file
@@ -0,0 +1,33 @@
|
||||
from typing import Any
|
||||
|
||||
class BaseSpatialOperations:
|
||||
postgis: bool = ...
|
||||
spatialite: bool = ...
|
||||
mysql: bool = ...
|
||||
oracle: bool = ...
|
||||
spatial_version: Any = ...
|
||||
select: str = ...
|
||||
def select_extent(self): ...
|
||||
geography: bool = ...
|
||||
geometry: bool = ...
|
||||
disallowed_aggregates: Any = ...
|
||||
geom_func_prefix: str = ...
|
||||
function_names: Any = ...
|
||||
unsupported_functions: Any = ...
|
||||
from_text: bool = ...
|
||||
def convert_extent(self, box: Any, srid: Any) -> None: ...
|
||||
def convert_extent3d(self, box: Any, srid: Any) -> None: ...
|
||||
def geo_quote_name(self, name: Any): ...
|
||||
def geo_db_type(self, f: Any) -> None: ...
|
||||
def get_distance(self, f: Any, value: Any, lookup_type: Any) -> None: ...
|
||||
def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ...
|
||||
def check_expression_support(self, expression: Any) -> None: ...
|
||||
def spatial_aggregate_name(self, agg_name: Any) -> None: ...
|
||||
def spatial_function_name(self, func_name: Any): ...
|
||||
def geometry_columns(self) -> None: ...
|
||||
def spatial_ref_sys(self) -> None: ...
|
||||
distance_expr_for_lookup: Any = ...
|
||||
def get_db_converters(self, expression: Any): ...
|
||||
def get_geometry_converter(self, expression: Any) -> None: ...
|
||||
def get_area_att_for_field(self, field: Any): ...
|
||||
def get_distance_att_for_field(self, field: Any): ...
|
||||
8
django-stubs/contrib/gis/db/backends/mysql/base.pyi
Normal file
8
django-stubs/contrib/gis/db/backends/mysql/base.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.db.backends.mysql.base import DatabaseWrapper as MySQLDatabaseWrapper
|
||||
from typing import Any
|
||||
|
||||
class DatabaseWrapper(MySQLDatabaseWrapper):
|
||||
SchemaEditorClass: Any = ...
|
||||
features_class: Any = ...
|
||||
introspection_class: Any = ...
|
||||
ops_class: Any = ...
|
||||
14
django-stubs/contrib/gis/db/backends/mysql/features.pyi
Normal file
14
django-stubs/contrib/gis/db/backends/mysql/features.pyi
Normal file
@@ -0,0 +1,14 @@
|
||||
from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures
|
||||
from django.db.backends.mysql.features import DatabaseFeatures as MySQLDatabaseFeatures
|
||||
|
||||
class DatabaseFeatures(BaseSpatialFeatures, MySQLDatabaseFeatures):
|
||||
has_spatialrefsys_table: bool = ...
|
||||
supports_add_srs_entry: bool = ...
|
||||
supports_distance_geodetic: bool = ...
|
||||
supports_length_geodetic: bool = ...
|
||||
supports_area_geodetic: bool = ...
|
||||
supports_transform: bool = ...
|
||||
supports_null_geometries: bool = ...
|
||||
supports_num_points_poly: bool = ...
|
||||
def supports_empty_geometry_collection(self): ...
|
||||
def supports_geometry_field_unique_index(self): ...
|
||||
@@ -0,0 +1,7 @@
|
||||
from django.db.backends.mysql.introspection import DatabaseIntrospection as DatabaseIntrospection
|
||||
from typing import Any
|
||||
|
||||
class MySQLIntrospection(DatabaseIntrospection):
|
||||
data_types_reverse: Any = ...
|
||||
def get_geometry_type(self, table_name: Any, description: Any): ...
|
||||
def supports_spatial_index(self, cursor: Any, table_name: Any): ...
|
||||
17
django-stubs/contrib/gis/db/backends/mysql/operations.pyi
Normal file
17
django-stubs/contrib/gis/db/backends/mysql/operations.pyi
Normal file
@@ -0,0 +1,17 @@
|
||||
from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations as BaseSpatialOperations
|
||||
from django.db.backends.mysql.operations import DatabaseOperations as DatabaseOperations
|
||||
from typing import Any
|
||||
|
||||
class MySQLOperations(BaseSpatialOperations, DatabaseOperations):
|
||||
mysql: bool = ...
|
||||
name: str = ...
|
||||
geom_func_prefix: str = ...
|
||||
Adapter: Any = ...
|
||||
def select(self): ...
|
||||
def from_text(self): ...
|
||||
def gis_operators(self): ...
|
||||
disallowed_aggregates: Any = ...
|
||||
def unsupported_functions(self): ...
|
||||
def geo_db_type(self, f: Any): ...
|
||||
def get_distance(self, f: Any, value: Any, lookup_type: Any): ...
|
||||
def get_geometry_converter(self, expression: Any): ...
|
||||
16
django-stubs/contrib/gis/db/backends/mysql/schema.pyi
Normal file
16
django-stubs/contrib/gis/db/backends/mysql/schema.pyi
Normal file
@@ -0,0 +1,16 @@
|
||||
from django.db.backends.mysql.schema import DatabaseSchemaEditor as DatabaseSchemaEditor
|
||||
from typing import Any
|
||||
|
||||
logger: Any
|
||||
|
||||
class MySQLGISSchemaEditor(DatabaseSchemaEditor):
|
||||
sql_add_spatial_index: str = ...
|
||||
sql_drop_spatial_index: str = ...
|
||||
geometry_sql: Any = ...
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def skip_default(self, field: Any): ...
|
||||
def column_sql(self, model: Any, field: Any, include_default: bool = ...): ...
|
||||
def create_model(self, model: Any) -> None: ...
|
||||
def add_field(self, model: Any, field: Any) -> None: ...
|
||||
def remove_field(self, model: Any, field: Any) -> None: ...
|
||||
def create_spatial_indexes(self) -> None: ...
|
||||
8
django-stubs/contrib/gis/db/backends/oracle/adapter.pyi
Normal file
8
django-stubs/contrib/gis/db/backends/oracle/adapter.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.contrib.gis.db.backends.base.adapter import WKTAdapter
|
||||
from typing import Any
|
||||
|
||||
class OracleSpatialAdapter(WKTAdapter):
|
||||
input_size: Any = ...
|
||||
wkt: Any = ...
|
||||
srid: Any = ...
|
||||
def __init__(self, geom: Any) -> None: ...
|
||||
8
django-stubs/contrib/gis/db/backends/oracle/base.pyi
Normal file
8
django-stubs/contrib/gis/db/backends/oracle/base.pyi
Normal file
@@ -0,0 +1,8 @@
|
||||
from django.db.backends.oracle.base import DatabaseWrapper as OracleDatabaseWrapper
|
||||
from typing import Any
|
||||
|
||||
class DatabaseWrapper(OracleDatabaseWrapper):
|
||||
SchemaEditorClass: Any = ...
|
||||
features_class: Any = ...
|
||||
introspection_class: Any = ...
|
||||
ops_class: Any = ...
|
||||
9
django-stubs/contrib/gis/db/backends/oracle/features.pyi
Normal file
9
django-stubs/contrib/gis/db/backends/oracle/features.pyi
Normal file
@@ -0,0 +1,9 @@
|
||||
from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures
|
||||
from django.db.backends.oracle.features import DatabaseFeatures as OracleDatabaseFeatures
|
||||
|
||||
class DatabaseFeatures(BaseSpatialFeatures, OracleDatabaseFeatures):
|
||||
supports_add_srs_entry: bool = ...
|
||||
supports_geometry_field_introspection: bool = ...
|
||||
supports_geometry_field_unique_index: bool = ...
|
||||
supports_perimeter_geodetic: bool = ...
|
||||
supports_dwithin_distance_expr: bool = ...
|
||||
@@ -0,0 +1,6 @@
|
||||
from django.db.backends.oracle.introspection import DatabaseIntrospection as DatabaseIntrospection
|
||||
from typing import Any
|
||||
|
||||
class OracleIntrospection(DatabaseIntrospection):
|
||||
def data_types_reverse(self): ...
|
||||
def get_geometry_type(self, table_name: Any, description: Any): ...
|
||||
30
django-stubs/contrib/gis/db/backends/oracle/models.pyi
Normal file
30
django-stubs/contrib/gis/db/backends/oracle/models.pyi
Normal file
@@ -0,0 +1,30 @@
|
||||
from django.contrib.gis.db import models as models
|
||||
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin
|
||||
from typing import Any
|
||||
|
||||
class OracleGeometryColumns(models.Model):
|
||||
table_name: Any = ...
|
||||
column_name: Any = ...
|
||||
srid: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@classmethod
|
||||
def table_name_col(cls): ...
|
||||
@classmethod
|
||||
def geom_col_name(cls): ...
|
||||
|
||||
class OracleSpatialRefSys(models.Model, SpatialRefSysMixin):
|
||||
cs_name: Any = ...
|
||||
srid: Any = ...
|
||||
auth_srid: Any = ...
|
||||
auth_name: Any = ...
|
||||
wktext: Any = ...
|
||||
cs_bounds: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@property
|
||||
def wkt(self): ...
|
||||
42
django-stubs/contrib/gis/db/backends/oracle/operations.pyi
Normal file
42
django-stubs/contrib/gis/db/backends/oracle/operations.pyi
Normal file
@@ -0,0 +1,42 @@
|
||||
from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations as BaseSpatialOperations
|
||||
from django.contrib.gis.db.backends.utils import SpatialOperator as SpatialOperator
|
||||
from django.db.backends.oracle.operations import DatabaseOperations as DatabaseOperations
|
||||
from typing import Any
|
||||
|
||||
DEFAULT_TOLERANCE: str
|
||||
|
||||
class SDOOperator(SpatialOperator):
|
||||
sql_template: str = ...
|
||||
|
||||
class SDODWithin(SpatialOperator):
|
||||
sql_template: str = ...
|
||||
|
||||
class SDODisjoint(SpatialOperator):
|
||||
sql_template: Any = ...
|
||||
|
||||
class SDORelate(SpatialOperator):
|
||||
sql_template: str = ...
|
||||
def check_relate_argument(self, arg: Any) -> None: ...
|
||||
def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ...
|
||||
|
||||
class OracleOperations(BaseSpatialOperations, DatabaseOperations):
|
||||
name: str = ...
|
||||
oracle: bool = ...
|
||||
disallowed_aggregates: Any = ...
|
||||
Adapter: Any = ...
|
||||
extent: str = ...
|
||||
unionagg: str = ...
|
||||
function_names: Any = ...
|
||||
select: str = ...
|
||||
gis_operators: Any = ...
|
||||
unsupported_functions: Any = ...
|
||||
def geo_quote_name(self, name: Any): ...
|
||||
def geo_db_type(self, f: Any): ...
|
||||
def get_distance(self, f: Any, value: Any, lookup_type: Any): ...
|
||||
def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ...
|
||||
def spatial_aggregate_name(self, agg_name: Any): ...
|
||||
def geometry_columns(self): ...
|
||||
def spatial_ref_sys(self): ...
|
||||
def modify_insert_params(self, placeholder: Any, params: Any): ...
|
||||
def get_geometry_converter(self, expression: Any): ...
|
||||
def get_area_att_for_field(self, field: Any): ...
|
||||
18
django-stubs/contrib/gis/db/backends/oracle/schema.pyi
Normal file
18
django-stubs/contrib/gis/db/backends/oracle/schema.pyi
Normal file
@@ -0,0 +1,18 @@
|
||||
from django.db.backends.oracle.schema import DatabaseSchemaEditor
|
||||
from typing import Any
|
||||
|
||||
class OracleGISSchemaEditor(DatabaseSchemaEditor):
|
||||
sql_add_geometry_metadata: str = ...
|
||||
sql_add_spatial_index: str = ...
|
||||
sql_drop_spatial_index: str = ...
|
||||
sql_clear_geometry_table_metadata: str = ...
|
||||
sql_clear_geometry_field_metadata: str = ...
|
||||
geometry_sql: Any = ...
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def geo_quote_name(self, name: Any): ...
|
||||
def column_sql(self, model: Any, field: Any, include_default: bool = ...): ...
|
||||
def create_model(self, model: Any) -> None: ...
|
||||
def delete_model(self, model: Any) -> None: ...
|
||||
def add_field(self, model: Any, field: Any) -> None: ...
|
||||
def remove_field(self, model: Any, field: Any) -> None: ...
|
||||
def run_geometry_sql(self) -> None: ...
|
||||
13
django-stubs/contrib/gis/db/backends/postgis/adapter.pyi
Normal file
13
django-stubs/contrib/gis/db/backends/postgis/adapter.pyi
Normal file
@@ -0,0 +1,13 @@
|
||||
from typing import Any
|
||||
|
||||
class PostGISAdapter:
|
||||
is_geometry: Any = ...
|
||||
ewkb: Any = ...
|
||||
srid: Any = ...
|
||||
geography: Any = ...
|
||||
def __init__(self, obj: Any, geography: bool = ...) -> None: ...
|
||||
def __conform__(self, proto: Any): ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
def __hash__(self) -> Any: ...
|
||||
def prepare(self, conn: Any) -> None: ...
|
||||
def getquoted(self): ...
|
||||
10
django-stubs/contrib/gis/db/backends/postgis/base.pyi
Normal file
10
django-stubs/contrib/gis/db/backends/postgis/base.pyi
Normal file
@@ -0,0 +1,10 @@
|
||||
from django.db.backends.postgresql.base import DatabaseWrapper as Psycopg2DatabaseWrapper
|
||||
from typing import Any
|
||||
|
||||
class DatabaseWrapper(Psycopg2DatabaseWrapper):
|
||||
SchemaEditorClass: Any = ...
|
||||
features: Any = ...
|
||||
ops: Any = ...
|
||||
introspection: Any = ...
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def prepare_database(self) -> None: ...
|
||||
9
django-stubs/contrib/gis/db/backends/postgis/const.pyi
Normal file
9
django-stubs/contrib/gis/db/backends/postgis/const.pyi
Normal file
@@ -0,0 +1,9 @@
|
||||
from typing import Any
|
||||
|
||||
GDAL_TO_POSTGIS: Any
|
||||
POSTGIS_TO_GDAL: Any
|
||||
POSTGIS_HEADER_STRUCTURE: str
|
||||
GDAL_TO_STRUCT: Any
|
||||
STRUCT_SIZE: Any
|
||||
BANDTYPE_PIXTYPE_MASK: int
|
||||
BANDTYPE_FLAG_HASNODATA: Any
|
||||
@@ -0,0 +1,9 @@
|
||||
from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures
|
||||
from django.db.backends.postgresql.features import DatabaseFeatures as Psycopg2DatabaseFeatures
|
||||
|
||||
class DatabaseFeatures(BaseSpatialFeatures, Psycopg2DatabaseFeatures):
|
||||
supports_3d_storage: bool = ...
|
||||
supports_3d_functions: bool = ...
|
||||
supports_left_right_lookups: bool = ...
|
||||
supports_raster: bool = ...
|
||||
supports_empty_geometries: bool = ...
|
||||
@@ -0,0 +1,8 @@
|
||||
from django.db.backends.postgresql.introspection import DatabaseIntrospection as DatabaseIntrospection
|
||||
from typing import Any
|
||||
|
||||
class PostGISIntrospection(DatabaseIntrospection):
|
||||
postgis_oid_lookup: Any = ...
|
||||
ignored_tables: Any = ...
|
||||
def get_field_type(self, data_type: Any, description: Any): ...
|
||||
def get_geometry_type(self, table_name: Any, description: Any): ...
|
||||
33
django-stubs/contrib/gis/db/backends/postgis/models.pyi
Normal file
33
django-stubs/contrib/gis/db/backends/postgis/models.pyi
Normal file
@@ -0,0 +1,33 @@
|
||||
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin
|
||||
from django.db import models as models
|
||||
from typing import Any
|
||||
|
||||
class PostGISGeometryColumns(models.Model):
|
||||
f_table_catalog: Any = ...
|
||||
f_table_schema: Any = ...
|
||||
f_table_name: Any = ...
|
||||
f_geometry_column: Any = ...
|
||||
coord_dimension: Any = ...
|
||||
srid: Any = ...
|
||||
type: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@classmethod
|
||||
def table_name_col(cls): ...
|
||||
@classmethod
|
||||
def geom_col_name(cls): ...
|
||||
|
||||
class PostGISSpatialRefSys(models.Model, SpatialRefSysMixin):
|
||||
srid: Any = ...
|
||||
auth_name: Any = ...
|
||||
auth_srid: Any = ...
|
||||
srtext: Any = ...
|
||||
proj4text: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@property
|
||||
def wkt(self): ...
|
||||
56
django-stubs/contrib/gis/db/backends/postgis/operations.pyi
Normal file
56
django-stubs/contrib/gis/db/backends/postgis/operations.pyi
Normal file
@@ -0,0 +1,56 @@
|
||||
from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations
|
||||
from django.contrib.gis.db.backends.utils import SpatialOperator
|
||||
from django.db.backends.postgresql.operations import DatabaseOperations
|
||||
from django.db.models import Func
|
||||
from typing import Any
|
||||
|
||||
BILATERAL: str
|
||||
|
||||
class PostGISOperator(SpatialOperator):
|
||||
geography: Any = ...
|
||||
raster: Any = ...
|
||||
def __init__(self, geography: bool = ..., raster: bool = ..., **kwargs: Any) -> None: ...
|
||||
def as_sql(self, connection: Any, lookup: Any, template_params: Any, *args: Any): ...
|
||||
def check_raster(self, lookup: Any, template_params: Any): ...
|
||||
|
||||
class ST_Polygon(Func):
|
||||
function: str = ...
|
||||
def __init__(self, expr: Any) -> None: ...
|
||||
def output_field(self): ...
|
||||
|
||||
class PostGISOperations(BaseSpatialOperations, DatabaseOperations):
|
||||
name: str = ...
|
||||
postgis: bool = ...
|
||||
geography: bool = ...
|
||||
geom_func_prefix: str = ...
|
||||
Adapter: Any = ...
|
||||
collect: Any = ...
|
||||
extent: Any = ...
|
||||
extent3d: Any = ...
|
||||
length3d: Any = ...
|
||||
makeline: Any = ...
|
||||
perimeter3d: Any = ...
|
||||
unionagg: Any = ...
|
||||
gis_operators: Any = ...
|
||||
unsupported_functions: Any = ...
|
||||
select: str = ...
|
||||
select_extent: Any = ...
|
||||
def function_names(self): ...
|
||||
def spatial_version(self): ...
|
||||
def geo_db_type(self, f: Any): ...
|
||||
def get_distance(self, f: Any, dist_val: Any, lookup_type: Any): ...
|
||||
def get_geom_placeholder(self, f: Any, value: Any, compiler: Any): ...
|
||||
def postgis_geos_version(self): ...
|
||||
def postgis_lib_version(self): ...
|
||||
def postgis_proj_version(self): ...
|
||||
def postgis_version(self): ...
|
||||
def postgis_full_version(self): ...
|
||||
def postgis_version_tuple(self): ...
|
||||
def proj_version_tuple(self): ...
|
||||
def spatial_aggregate_name(self, agg_name: Any): ...
|
||||
def geometry_columns(self): ...
|
||||
def spatial_ref_sys(self): ...
|
||||
def parse_raster(self, value: Any): ...
|
||||
def distance_expr_for_lookup(self, lhs: Any, rhs: Any, **kwargs: Any): ...
|
||||
def get_geometry_converter(self, expression: Any): ...
|
||||
def get_area_att_for_field(self, field: Any): ...
|
||||
@@ -0,0 +1,7 @@
|
||||
from typing import Any
|
||||
|
||||
def pack(structure: Any, data: Any): ...
|
||||
def unpack(structure: Any, data: Any): ...
|
||||
def chunk(data: Any, index: Any): ...
|
||||
def from_pgraster(data: Any): ...
|
||||
def to_pgraster(rast: Any): ...
|
||||
10
django-stubs/contrib/gis/db/backends/postgis/schema.pyi
Normal file
10
django-stubs/contrib/gis/db/backends/postgis/schema.pyi
Normal file
@@ -0,0 +1,10 @@
|
||||
from django.db.backends.postgresql.schema import DatabaseSchemaEditor
|
||||
from typing import Any
|
||||
|
||||
class PostGISSchemaEditor(DatabaseSchemaEditor):
|
||||
geom_index_type: str = ...
|
||||
geom_index_ops_nd: str = ...
|
||||
rast_index_wrapper: str = ...
|
||||
sql_alter_column_to_3d: str = ...
|
||||
sql_alter_column_to_2d: str = ...
|
||||
def geo_quote_name(self, name: Any): ...
|
||||
@@ -0,0 +1,5 @@
|
||||
from django.contrib.gis.db.backends.base.adapter import WKTAdapter as WKTAdapter
|
||||
from typing import Any
|
||||
|
||||
class SpatiaLiteAdapter(WKTAdapter):
|
||||
def __conform__(self, protocol: Any): ...
|
||||
13
django-stubs/contrib/gis/db/backends/spatialite/base.pyi
Normal file
13
django-stubs/contrib/gis/db/backends/spatialite/base.pyi
Normal file
@@ -0,0 +1,13 @@
|
||||
from django.db.backends.sqlite3.base import DatabaseWrapper as SQLiteDatabaseWrapper
|
||||
from typing import Any
|
||||
|
||||
class DatabaseWrapper(SQLiteDatabaseWrapper):
|
||||
SchemaEditorClass: Any = ...
|
||||
client_class: Any = ...
|
||||
features_class: Any = ...
|
||||
introspection_class: Any = ...
|
||||
ops_class: Any = ...
|
||||
lib_spatialite_paths: Any = ...
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def get_new_connection(self, conn_params: Any): ...
|
||||
def prepare_database(self) -> None: ...
|
||||
@@ -0,0 +1,4 @@
|
||||
from django.db.backends.sqlite3.client import DatabaseClient as DatabaseClient
|
||||
|
||||
class SpatiaLiteClient(DatabaseClient):
|
||||
executable_name: str = ...
|
||||
@@ -0,0 +1,6 @@
|
||||
from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures as BaseSpatialFeatures
|
||||
from django.db.backends.sqlite3.features import DatabaseFeatures as SQLiteDatabaseFeatures
|
||||
|
||||
class DatabaseFeatures(BaseSpatialFeatures, SQLiteDatabaseFeatures):
|
||||
supports_3d_storage: bool = ...
|
||||
def supports_area_geodetic(self): ...
|
||||
@@ -0,0 +1,13 @@
|
||||
from django.db.backends.sqlite3.introspection import (
|
||||
DatabaseIntrospection as DatabaseIntrospection,
|
||||
FlexibleFieldLookupDict as FlexibleFieldLookupDict,
|
||||
)
|
||||
from typing import Any
|
||||
|
||||
class GeoFlexibleFieldLookupDict(FlexibleFieldLookupDict):
|
||||
base_data_types_reverse: Any = ...
|
||||
|
||||
class SpatiaLiteIntrospection(DatabaseIntrospection):
|
||||
data_types_reverse: Any = ...
|
||||
def get_geometry_type(self, table_name: Any, description: Any): ...
|
||||
def get_constraints(self, cursor: Any, table_name: Any): ...
|
||||
33
django-stubs/contrib/gis/db/backends/spatialite/models.pyi
Normal file
33
django-stubs/contrib/gis/db/backends/spatialite/models.pyi
Normal file
@@ -0,0 +1,33 @@
|
||||
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin as SpatialRefSysMixin
|
||||
from django.db import models as models
|
||||
from typing import Any
|
||||
|
||||
class SpatialiteGeometryColumns(models.Model):
|
||||
f_table_name: Any = ...
|
||||
f_geometry_column: Any = ...
|
||||
coord_dimension: Any = ...
|
||||
srid: Any = ...
|
||||
spatial_index_enabled: Any = ...
|
||||
type: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@classmethod
|
||||
def table_name_col(cls): ...
|
||||
@classmethod
|
||||
def geom_col_name(cls): ...
|
||||
|
||||
class SpatialiteSpatialRefSys(models.Model, SpatialRefSysMixin):
|
||||
srid: Any = ...
|
||||
auth_name: Any = ...
|
||||
auth_srid: Any = ...
|
||||
ref_sys_name: Any = ...
|
||||
proj4text: Any = ...
|
||||
srtext: Any = ...
|
||||
class Meta:
|
||||
app_label: str = ...
|
||||
db_table: str = ...
|
||||
managed: bool = ...
|
||||
@property
|
||||
def wkt(self): ...
|
||||
@@ -0,0 +1,33 @@
|
||||
from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations
|
||||
from django.contrib.gis.db.backends.utils import SpatialOperator as SpatialOperator
|
||||
from django.db.backends.sqlite3.operations import DatabaseOperations
|
||||
from typing import Any
|
||||
|
||||
class SpatialiteNullCheckOperator(SpatialOperator):
|
||||
def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ...
|
||||
|
||||
class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
|
||||
name: str = ...
|
||||
spatialite: bool = ...
|
||||
Adapter: Any = ...
|
||||
collect: str = ...
|
||||
extent: str = ...
|
||||
makeline: str = ...
|
||||
unionagg: str = ...
|
||||
gis_operators: Any = ...
|
||||
disallowed_aggregates: Any = ...
|
||||
select: str = ...
|
||||
function_names: Any = ...
|
||||
def unsupported_functions(self): ...
|
||||
def spatial_version(self): ...
|
||||
def geo_db_type(self, f: Any) -> None: ...
|
||||
def get_distance(self, f: Any, value: Any, lookup_type: Any): ...
|
||||
def geos_version(self): ...
|
||||
def proj4_version(self): ...
|
||||
def lwgeom_version(self): ...
|
||||
def spatialite_version(self): ...
|
||||
def spatialite_version_tuple(self): ...
|
||||
def spatial_aggregate_name(self, agg_name: Any): ...
|
||||
def geometry_columns(self): ...
|
||||
def spatial_ref_sys(self): ...
|
||||
def get_geometry_converter(self, expression: Any): ...
|
||||
24
django-stubs/contrib/gis/db/backends/spatialite/schema.pyi
Normal file
24
django-stubs/contrib/gis/db/backends/spatialite/schema.pyi
Normal file
@@ -0,0 +1,24 @@
|
||||
from django.db.backends.sqlite3.schema import DatabaseSchemaEditor as DatabaseSchemaEditor
|
||||
from typing import Any
|
||||
|
||||
class SpatialiteSchemaEditor(DatabaseSchemaEditor):
|
||||
sql_add_geometry_column: str = ...
|
||||
sql_add_spatial_index: str = ...
|
||||
sql_drop_spatial_index: str = ...
|
||||
sql_recover_geometry_metadata: str = ...
|
||||
sql_remove_geometry_metadata: str = ...
|
||||
sql_discard_geometry_columns: str = ...
|
||||
sql_update_geometry_columns: str = ...
|
||||
geometry_tables: Any = ...
|
||||
geometry_sql: Any = ...
|
||||
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
||||
def geo_quote_name(self, name: Any): ...
|
||||
def column_sql(self, model: Any, field: Any, include_default: bool = ...): ...
|
||||
def remove_geometry_metadata(self, model: Any, field: Any) -> None: ...
|
||||
def create_model(self, model: Any) -> None: ...
|
||||
def delete_model(self, model: Any, **kwargs: Any) -> None: ...
|
||||
def add_field(self, model: Any, field: Any) -> None: ...
|
||||
def remove_field(self, model: Any, field: Any) -> None: ...
|
||||
def alter_db_table(
|
||||
self, model: Any, old_db_table: Any, new_db_table: Any, disable_constraints: bool = ...
|
||||
) -> None: ...
|
||||
10
django-stubs/contrib/gis/db/backends/utils.pyi
Normal file
10
django-stubs/contrib/gis/db/backends/utils.pyi
Normal file
@@ -0,0 +1,10 @@
|
||||
from typing import Any, Optional
|
||||
|
||||
class SpatialOperator:
|
||||
sql_template: Any = ...
|
||||
op: Any = ...
|
||||
func: Any = ...
|
||||
def __init__(self, op: Optional[Any] = ..., func: Optional[Any] = ...) -> None: ...
|
||||
@property
|
||||
def default_template(self): ...
|
||||
def as_sql(self, connection: Any, lookup: Any, template_params: Any, sql_params: Any): ...
|
||||
@@ -1,6 +1,8 @@
|
||||
# noqa: F401
|
||||
from django.db.models import *
|
||||
|
||||
from .fields import (
|
||||
from django.contrib.gis.db.models.aggregates import *
|
||||
from django.contrib.gis.db.models.fields import (
|
||||
GeometryCollectionField as GeometryCollectionField,
|
||||
GeometryField as GeometryField,
|
||||
LineStringField as LineStringField,
|
||||
MultiLineStringField as MultiLineStringField,
|
||||
@@ -8,6 +10,5 @@ from .fields import (
|
||||
MultiPolygonField as MultiPolygonField,
|
||||
PointField as PointField,
|
||||
PolygonField as PolygonField,
|
||||
GeometryCollectionField as GeometryCollectionField,
|
||||
RasterField as RasterField,
|
||||
)
|
||||
|
||||
37
django-stubs/contrib/gis/db/models/aggregates.pyi
Normal file
37
django-stubs/contrib/gis/db/models/aggregates.pyi
Normal file
@@ -0,0 +1,37 @@
|
||||
from django.db.models import Aggregate
|
||||
from typing import Any, Optional
|
||||
|
||||
class GeoAggregate(Aggregate):
|
||||
function: Any = ...
|
||||
is_extent: bool = ...
|
||||
def output_field(self): ...
|
||||
def as_sql(self, compiler: Any, connection: Any, function: Optional[Any] = ..., **extra_context: Any): ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
def resolve_expression(
|
||||
self,
|
||||
query: Optional[Any] = ...,
|
||||
allow_joins: bool = ...,
|
||||
reuse: Optional[Any] = ...,
|
||||
summarize: bool = ...,
|
||||
for_save: bool = ...,
|
||||
): ...
|
||||
|
||||
class Collect(GeoAggregate):
|
||||
name: str = ...
|
||||
output_field_class: Any = ...
|
||||
|
||||
class Extent(GeoAggregate):
|
||||
name: str = ...
|
||||
def __init__(self, expression: Any, **extra: Any) -> None: ...
|
||||
|
||||
class Extent3D(GeoAggregate):
|
||||
name: str = ...
|
||||
def __init__(self, expression: Any, **extra: Any) -> None: ...
|
||||
|
||||
class MakeLine(GeoAggregate):
|
||||
name: str = ...
|
||||
output_field_class: Any = ...
|
||||
|
||||
class Union(GeoAggregate):
|
||||
name: str = ...
|
||||
output_field_class: Any = ...
|
||||
@@ -1,9 +1,6 @@
|
||||
from typing import Any, Iterable, NamedTuple, Optional, TypeVar, Union, Tuple
|
||||
|
||||
from django.db.models.fields import Field, _ErrorMessagesToOverride, _FieldChoices, _ValidatorCallable
|
||||
|
||||
_Connection = Any
|
||||
|
||||
# __set__ value type
|
||||
_ST = TypeVar("_ST")
|
||||
# __get__ return type
|
||||
@@ -15,7 +12,7 @@ class SRIDCacheEntry(NamedTuple):
|
||||
geodetic: bool
|
||||
spheroid: str
|
||||
|
||||
def get_srid_info(srid: int, connection: _Connection) -> SRIDCacheEntry: ...
|
||||
def get_srid_info(srid: int, connection: Any) -> SRIDCacheEntry: ...
|
||||
|
||||
class BaseSpatialField(Field[_ST, _GT]):
|
||||
def __init__(
|
||||
@@ -44,12 +41,25 @@ class BaseSpatialField(Field[_ST, _GT]):
|
||||
validators: Iterable[_ValidatorCallable] = ...,
|
||||
error_messages: Optional[_ErrorMessagesToOverride] = ...,
|
||||
): ...
|
||||
def spheroid(self, connection: _Connection) -> str: ...
|
||||
def units(self, connection: _Connection) -> Any: ...
|
||||
def units_name(self, connection: _Connection) -> str: ...
|
||||
def geodetic(self, connection: _Connection) -> bool: ...
|
||||
def deconstruct(self): ...
|
||||
def db_type(self, connection: Any): ...
|
||||
def spheroid(self, connection: Any): ...
|
||||
def units(self, connection: Any): ...
|
||||
def units_name(self, connection: Any): ...
|
||||
def geodetic(self, connection: Any): ...
|
||||
def get_placeholder(self, value: Any, compiler: Any, connection: Any): ...
|
||||
def get_srid(self, obj: Any): ...
|
||||
def get_db_prep_value(self, value: Any, connection: Any, *args: Any, **kwargs: Any): ...
|
||||
def get_raster_prep_value(self, value: Any, is_candidate: Any): ...
|
||||
def get_prep_value(self, value: Any): ...
|
||||
|
||||
class GeometryField(BaseSpatialField):
|
||||
description: Any = ...
|
||||
form_class: Any = ...
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
dim: Any = ...
|
||||
geography: Any = ...
|
||||
def __init__(
|
||||
self,
|
||||
verbose_name: Optional[Union[str, bytes]] = ...,
|
||||
@@ -80,12 +90,61 @@ class GeometryField(BaseSpatialField):
|
||||
validators: Iterable[_ValidatorCallable] = ...,
|
||||
error_messages: Optional[_ErrorMessagesToOverride] = ...,
|
||||
): ...
|
||||
def deconstruct(self): ...
|
||||
def formfield(self, **kwargs: Any): ...
|
||||
def select_format(self, compiler: Any, sql: Any, params: Any): ...
|
||||
|
||||
class PointField(GeometryField): ...
|
||||
class LineStringField(GeometryField): ...
|
||||
class PolygonField(GeometryField): ...
|
||||
class MultiPointField(GeometryField): ...
|
||||
class MultiLineStringField(GeometryField): ...
|
||||
class MultiPolygonField(GeometryField): ...
|
||||
class GeometryCollectionField(GeometryField): ...
|
||||
class RasterField(BaseSpatialField): ...
|
||||
class PointField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class LineStringField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class PolygonField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class MultiPointField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class MultiLineStringField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class MultiPolygonField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class GeometryCollectionField(GeometryField):
|
||||
geom_type: str = ...
|
||||
geom_class: Any = ...
|
||||
form_class: Any = ...
|
||||
description: Any = ...
|
||||
|
||||
class ExtentField(Field):
|
||||
description: Any = ...
|
||||
def get_internal_type(self): ...
|
||||
def select_format(self, compiler: Any, sql: Any, params: Any): ...
|
||||
|
||||
class RasterField(BaseSpatialField):
|
||||
description: Any = ...
|
||||
geom_type: str = ...
|
||||
geography: bool = ...
|
||||
def db_type(self, connection: Any): ...
|
||||
def from_db_value(self, value: Any, expression: Any, connection: Any): ...
|
||||
def get_transform(self, name: Any): ...
|
||||
|
||||
168
django-stubs/contrib/gis/db/models/functions.pyi
Normal file
168
django-stubs/contrib/gis/db/models/functions.pyi
Normal file
@@ -0,0 +1,168 @@
|
||||
from django.db.models import Func, Transform as StandardTransform
|
||||
from typing import Any, Optional
|
||||
|
||||
NUMERIC_TYPES: Any
|
||||
|
||||
class GeoFuncMixin:
|
||||
function: Any = ...
|
||||
geom_param_pos: Any = ...
|
||||
def __init__(self, *expressions: Any, **extra: Any) -> None: ...
|
||||
def geo_field(self): ...
|
||||
def as_sql(self, compiler: Any, connection: Any, function: Optional[Any] = ..., **extra_context: Any): ...
|
||||
def resolve_expression(self, *args: Any, **kwargs: Any): ...
|
||||
|
||||
class GeoFunc(GeoFuncMixin, Func): ...
|
||||
|
||||
class GeomOutputGeoFunc(GeoFunc):
|
||||
def output_field(self): ...
|
||||
|
||||
class SQLiteDecimalToFloatMixin:
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class OracleToleranceMixin:
|
||||
tolerance: float = ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Area(OracleToleranceMixin, GeoFunc):
|
||||
arity: int = ...
|
||||
def output_field(self): ...
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Azimuth(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class AsGeoJSON(GeoFunc):
|
||||
output_field: Any = ...
|
||||
def __init__(
|
||||
self, expression: Any, bbox: bool = ..., crs: bool = ..., precision: int = ..., **extra: Any
|
||||
) -> None: ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class AsGML(GeoFunc):
|
||||
geom_param_pos: Any = ...
|
||||
output_field: Any = ...
|
||||
def __init__(self, expression: Any, version: int = ..., precision: int = ..., **extra: Any) -> None: ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class AsKML(GeoFunc):
|
||||
output_field: Any = ...
|
||||
def __init__(self, expression: Any, precision: int = ..., **extra: Any) -> None: ...
|
||||
|
||||
class AsSVG(GeoFunc):
|
||||
output_field: Any = ...
|
||||
def __init__(self, expression: Any, relative: bool = ..., precision: int = ..., **extra: Any) -> None: ...
|
||||
|
||||
class AsWKB(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
|
||||
class AsWKT(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
|
||||
class BoundingCircle(OracleToleranceMixin, GeoFunc):
|
||||
def __init__(self, expression: Any, num_seg: int = ..., **extra: Any) -> None: ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Centroid(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
|
||||
class Difference(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class DistanceResultMixin:
|
||||
def output_field(self): ...
|
||||
def source_is_geography(self): ...
|
||||
|
||||
class Distance(DistanceResultMixin, OracleToleranceMixin, GeoFunc):
|
||||
geom_param_pos: Any = ...
|
||||
spheroid: Any = ...
|
||||
def __init__(self, expr1: Any, expr2: Any, spheroid: Optional[Any] = ..., **extra: Any) -> None: ...
|
||||
def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Envelope(GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
|
||||
class ForcePolygonCW(GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
|
||||
class GeoHash(GeoFunc):
|
||||
output_field: Any = ...
|
||||
def __init__(self, expression: Any, precision: Optional[Any] = ..., **extra: Any) -> None: ...
|
||||
def as_mysql(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class GeometryDistance(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
function: str = ...
|
||||
arg_joiner: str = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class Intersection(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class IsValid(OracleToleranceMixin, GeoFuncMixin, StandardTransform):
|
||||
lookup_name: str = ...
|
||||
output_field: Any = ...
|
||||
def as_oracle(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Length(DistanceResultMixin, OracleToleranceMixin, GeoFunc):
|
||||
spheroid: Any = ...
|
||||
def __init__(self, expr1: Any, spheroid: bool = ..., **extra: Any) -> None: ...
|
||||
def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class LineLocatePoint(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class MakeValid(GeomOutputGeoFunc): ...
|
||||
|
||||
class MemSize(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
|
||||
class NumGeometries(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
|
||||
class NumPoints(GeoFunc):
|
||||
output_field: Any = ...
|
||||
arity: int = ...
|
||||
|
||||
class Perimeter(DistanceResultMixin, OracleToleranceMixin, GeoFunc):
|
||||
arity: int = ...
|
||||
def as_postgresql(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class PointOnSurface(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
|
||||
class Reverse(GeoFunc):
|
||||
arity: int = ...
|
||||
|
||||
class Scale(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc):
|
||||
def __init__(self, expression: Any, x: Any, y: Any, z: float = ..., **extra: Any) -> None: ...
|
||||
|
||||
class SnapToGrid(SQLiteDecimalToFloatMixin, GeomOutputGeoFunc):
|
||||
def __init__(self, expression: Any, *args: Any, **extra: Any) -> None: ...
|
||||
|
||||
class SymDifference(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
|
||||
class Transform(GeomOutputGeoFunc):
|
||||
def __init__(self, expression: Any, srid: Any, **extra: Any) -> None: ...
|
||||
|
||||
class Translate(Scale):
|
||||
def as_sqlite(self, compiler: Any, connection: Any, **extra_context: Any): ...
|
||||
|
||||
class Union(OracleToleranceMixin, GeomOutputGeoFunc):
|
||||
arity: int = ...
|
||||
geom_param_pos: Any = ...
|
||||
126
django-stubs/contrib/gis/db/models/lookups.pyi
Normal file
126
django-stubs/contrib/gis/db/models/lookups.pyi
Normal file
@@ -0,0 +1,126 @@
|
||||
from django.db.models import Lookup, Transform
|
||||
from typing import Any
|
||||
|
||||
class RasterBandTransform(Transform): ...
|
||||
|
||||
class GISLookup(Lookup):
|
||||
sql_template: Any = ...
|
||||
transform_func: Any = ...
|
||||
distance: bool = ...
|
||||
band_rhs: Any = ...
|
||||
band_lhs: Any = ...
|
||||
template_params: Any = ...
|
||||
def __init__(self, lhs: Any, rhs: Any) -> None: ...
|
||||
def process_rhs_params(self) -> None: ...
|
||||
def process_band_indices(self, only_lhs: bool = ...) -> None: ...
|
||||
def get_db_prep_lookup(self, value: Any, connection: Any): ...
|
||||
rhs: Any = ...
|
||||
def process_rhs(self, compiler: Any, connection: Any): ...
|
||||
def get_rhs_op(self, connection: Any, rhs: Any): ...
|
||||
def as_sql(self, compiler: Any, connection: Any): ...
|
||||
|
||||
class OverlapsLeftLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class OverlapsRightLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class OverlapsBelowLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class OverlapsAboveLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class LeftLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class RightLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class StrictlyBelowLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class StrictlyAboveLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class SameAsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class BBContainsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class BBOverlapsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class ContainedLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class ContainsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class ContainsProperlyLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class CoveredByLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class CoversLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class CrossesLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class DisjointLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class EqualsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class IntersectsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class OverlapsLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class RelateLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
sql_template: str = ...
|
||||
pattern_regex: Any = ...
|
||||
def process_rhs(self, compiler: Any, connection: Any): ...
|
||||
|
||||
class TouchesLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class WithinLookup(GISLookup):
|
||||
lookup_name: str = ...
|
||||
|
||||
class DistanceLookupBase(GISLookup):
|
||||
distance: bool = ...
|
||||
sql_template: str = ...
|
||||
def process_rhs_params(self) -> None: ...
|
||||
def process_distance(self, compiler: Any, connection: Any): ...
|
||||
|
||||
class DWithinLookup(DistanceLookupBase):
|
||||
lookup_name: str = ...
|
||||
sql_template: str = ...
|
||||
def process_distance(self, compiler: Any, connection: Any): ...
|
||||
def process_rhs(self, compiler: Any, connection: Any): ...
|
||||
|
||||
class DistanceLookupFromFunction(DistanceLookupBase):
|
||||
def as_sql(self, compiler: Any, connection: Any): ...
|
||||
|
||||
class DistanceGTLookup(DistanceLookupFromFunction):
|
||||
lookup_name: str = ...
|
||||
op: str = ...
|
||||
|
||||
class DistanceGTELookup(DistanceLookupFromFunction):
|
||||
lookup_name: str = ...
|
||||
op: str = ...
|
||||
|
||||
class DistanceLTLookup(DistanceLookupFromFunction):
|
||||
lookup_name: str = ...
|
||||
op: str = ...
|
||||
|
||||
class DistanceLTELookup(DistanceLookupFromFunction):
|
||||
lookup_name: str = ...
|
||||
op: str = ...
|
||||
7
django-stubs/contrib/gis/db/models/proxy.pyi
Normal file
7
django-stubs/contrib/gis/db/models/proxy.pyi
Normal file
@@ -0,0 +1,7 @@
|
||||
from django.db.models.query_utils import DeferredAttribute
|
||||
from typing import Any, Optional
|
||||
|
||||
class SpatialProxy(DeferredAttribute):
|
||||
def __init__(self, klass: Any, field: Any, load_func: Optional[Any] = ...) -> None: ...
|
||||
def __get__(self, instance: Any, cls: Optional[Any] = ...): ...
|
||||
def __set__(self, instance: Any, value: Any): ...
|
||||
0
django-stubs/contrib/gis/db/models/sql/__init__.pyi
Normal file
0
django-stubs/contrib/gis/db/models/sql/__init__.pyi
Normal file
18
django-stubs/contrib/gis/db/models/sql/conversion.pyi
Normal file
18
django-stubs/contrib/gis/db/models/sql/conversion.pyi
Normal file
@@ -0,0 +1,18 @@
|
||||
from django.db import models as models
|
||||
from typing import Any
|
||||
|
||||
class AreaField(models.FloatField):
|
||||
geo_field: Any = ...
|
||||
def __init__(self, geo_field: Any) -> None: ...
|
||||
def get_prep_value(self, value: Any): ...
|
||||
def get_db_prep_value(self, value: Any, connection: Any, prepared: bool = ...): ...
|
||||
def from_db_value(self, value: Any, expression: Any, connection: Any): ...
|
||||
def get_internal_type(self): ...
|
||||
|
||||
class DistanceField(models.FloatField):
|
||||
geo_field: Any = ...
|
||||
def __init__(self, geo_field: Any) -> None: ...
|
||||
def get_prep_value(self, value: Any): ...
|
||||
def get_db_prep_value(self, value: Any, connection: Any, prepared: bool = ...): ...
|
||||
def from_db_value(self, value: Any, expression: Any, connection: Any): ...
|
||||
def get_internal_type(self): ...
|
||||
28
django-stubs/contrib/gis/feeds.pyi
Normal file
28
django-stubs/contrib/gis/feeds.pyi
Normal file
@@ -0,0 +1,28 @@
|
||||
from django.contrib.syndication.views import Feed as BaseFeed
|
||||
from django.utils.feedgenerator import Atom1Feed, Rss201rev2Feed
|
||||
from typing import Any
|
||||
|
||||
class GeoFeedMixin:
|
||||
def georss_coords(self, coords: Any): ...
|
||||
def add_georss_point(self, handler: Any, coords: Any, w3c_geo: bool = ...) -> None: ...
|
||||
def add_georss_element(self, handler: Any, item: Any, w3c_geo: bool = ...) -> None: ...
|
||||
|
||||
class GeoRSSFeed(Rss201rev2Feed, GeoFeedMixin):
|
||||
def rss_attributes(self): ...
|
||||
def add_item_elements(self, handler: Any, item: Any) -> None: ...
|
||||
def add_root_elements(self, handler: Any) -> None: ...
|
||||
|
||||
class GeoAtom1Feed(Atom1Feed, GeoFeedMixin):
|
||||
def root_attributes(self): ...
|
||||
def add_item_elements(self, handler: Any, item: Any) -> None: ...
|
||||
def add_root_elements(self, handler: Any) -> None: ...
|
||||
|
||||
class W3CGeoFeed(Rss201rev2Feed, GeoFeedMixin):
|
||||
def rss_attributes(self): ...
|
||||
def add_item_elements(self, handler: Any, item: Any) -> None: ...
|
||||
def add_root_elements(self, handler: Any) -> None: ...
|
||||
|
||||
class Feed(BaseFeed):
|
||||
feed_type: Any = ...
|
||||
def feed_extra_kwargs(self, obj: Any): ...
|
||||
def item_extra_kwargs(self, item: Any): ...
|
||||
0
django-stubs/contrib/gis/forms/__init__.pyi
Normal file
0
django-stubs/contrib/gis/forms/__init__.pyi
Normal file
33
django-stubs/contrib/gis/forms/fields.pyi
Normal file
33
django-stubs/contrib/gis/forms/fields.pyi
Normal file
@@ -0,0 +1,33 @@
|
||||
from django import forms as forms
|
||||
from typing import Any, Optional
|
||||
|
||||
class GeometryField(forms.Field):
|
||||
widget: Any = ...
|
||||
geom_type: str = ...
|
||||
default_error_messages: Any = ...
|
||||
srid: Any = ...
|
||||
def __init__(self, *, srid: Optional[Any] = ..., geom_type: Optional[Any] = ..., **kwargs: Any) -> None: ...
|
||||
def to_python(self, value: Any): ...
|
||||
def clean(self, value: Any): ...
|
||||
def has_changed(self, initial: Any, data: Any): ...
|
||||
|
||||
class GeometryCollectionField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class PointField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class MultiPointField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class LineStringField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class MultiLineStringField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class PolygonField(GeometryField):
|
||||
geom_type: str = ...
|
||||
|
||||
class MultiPolygonField(GeometryField):
|
||||
geom_type: str = ...
|
||||
34
django-stubs/contrib/gis/forms/widgets.pyi
Normal file
34
django-stubs/contrib/gis/forms/widgets.pyi
Normal file
@@ -0,0 +1,34 @@
|
||||
from django.forms.widgets import Widget as Widget
|
||||
from typing import Any, Optional
|
||||
|
||||
logger: Any
|
||||
|
||||
class BaseGeometryWidget(Widget):
|
||||
geom_type: str = ...
|
||||
map_srid: int = ...
|
||||
map_width: int = ...
|
||||
map_height: int = ...
|
||||
display_raw: bool = ...
|
||||
supports_3d: bool = ...
|
||||
template_name: str = ...
|
||||
attrs: Any = ...
|
||||
def __init__(self, attrs: Optional[Any] = ...) -> None: ...
|
||||
def serialize(self, value: Any): ...
|
||||
def deserialize(self, value: Any): ...
|
||||
def get_context(self, name: Any, value: Any, attrs: Any): ...
|
||||
|
||||
class OpenLayersWidget(BaseGeometryWidget):
|
||||
template_name: str = ...
|
||||
map_srid: int = ...
|
||||
class Media:
|
||||
css: Any = ...
|
||||
js: Any = ...
|
||||
def serialize(self, value: Any): ...
|
||||
def deserialize(self, value: Any): ...
|
||||
|
||||
class OSMWidget(OpenLayersWidget):
|
||||
template_name: str = ...
|
||||
default_lon: int = ...
|
||||
default_lat: int = ...
|
||||
default_zoom: int = ...
|
||||
def __init__(self, attrs: Optional[Any] = ...) -> None: ...
|
||||
15
django-stubs/contrib/gis/gdal/__init__.pyi
Normal file
15
django-stubs/contrib/gis/gdal/__init__.pyi
Normal file
@@ -0,0 +1,15 @@
|
||||
from django.contrib.gis.gdal.error import (
|
||||
GDALException as GDALException,
|
||||
SRSException as SRSException,
|
||||
check_err as check_err,
|
||||
)
|
||||
from django.contrib.gis.gdal.libgdal import (
|
||||
GDAL_VERSION as GDAL_VERSION,
|
||||
gdal_full_version as gdal_full_version,
|
||||
gdal_version as gdal_version,
|
||||
)
|
||||
from django.contrib.gis.gdal.srs import (
|
||||
AxisOrder as AxisOrder,
|
||||
CoordTransform as CoordTransform,
|
||||
SpatialReference as SpatialReference,
|
||||
)
|
||||
5
django-stubs/contrib/gis/gdal/base.pyi
Normal file
5
django-stubs/contrib/gis/gdal/base.pyi
Normal file
@@ -0,0 +1,5 @@
|
||||
from django.contrib.gis.ptr import CPointerBase as CPointerBase
|
||||
from typing import Any
|
||||
|
||||
class GDALBase(CPointerBase):
|
||||
null_ptr_exception_class: Any = ...
|
||||
15
django-stubs/contrib/gis/gdal/datasource.pyi
Normal file
15
django-stubs/contrib/gis/gdal/datasource.pyi
Normal file
@@ -0,0 +1,15 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any
|
||||
|
||||
class DataSource(GDALBase):
|
||||
destructor: Any = ...
|
||||
encoding: Any = ...
|
||||
ptr: Any = ...
|
||||
driver: Any = ...
|
||||
def __init__(self, ds_input: Any, ds_driver: bool = ..., write: bool = ..., encoding: str = ...) -> None: ...
|
||||
def __getitem__(self, index: Any): ...
|
||||
def __len__(self): ...
|
||||
@property
|
||||
def layer_count(self): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
12
django-stubs/contrib/gis/gdal/driver.pyi
Normal file
12
django-stubs/contrib/gis/gdal/driver.pyi
Normal file
@@ -0,0 +1,12 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any
|
||||
|
||||
class Driver(GDALBase):
|
||||
ptr: Any = ...
|
||||
def __init__(self, dr_input: Any) -> None: ...
|
||||
@classmethod
|
||||
def ensure_registered(cls) -> None: ...
|
||||
@classmethod
|
||||
def driver_count(cls): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
25
django-stubs/contrib/gis/gdal/envelope.pyi
Normal file
25
django-stubs/contrib/gis/gdal/envelope.pyi
Normal file
@@ -0,0 +1,25 @@
|
||||
from ctypes import Structure
|
||||
from typing import Any
|
||||
|
||||
class OGREnvelope(Structure): ...
|
||||
|
||||
class Envelope:
|
||||
def __init__(self, *args: Any) -> None: ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
def expand_to_include(self, *args: Any): ...
|
||||
@property
|
||||
def min_x(self): ...
|
||||
@property
|
||||
def min_y(self): ...
|
||||
@property
|
||||
def max_x(self): ...
|
||||
@property
|
||||
def max_y(self): ...
|
||||
@property
|
||||
def ur(self): ...
|
||||
@property
|
||||
def ll(self): ...
|
||||
@property
|
||||
def tuple(self): ...
|
||||
@property
|
||||
def wkt(self): ...
|
||||
10
django-stubs/contrib/gis/gdal/error.pyi
Normal file
10
django-stubs/contrib/gis/gdal/error.pyi
Normal file
@@ -0,0 +1,10 @@
|
||||
from typing import Any
|
||||
|
||||
class GDALException(Exception): ...
|
||||
class SRSException(Exception): ...
|
||||
|
||||
OGRERR_DICT: Any
|
||||
CPLERR_DICT: Any
|
||||
ERR_NONE: int
|
||||
|
||||
def check_err(code: Any, cpl: bool = ...) -> None: ...
|
||||
26
django-stubs/contrib/gis/gdal/feature.pyi
Normal file
26
django-stubs/contrib/gis/gdal/feature.pyi
Normal file
@@ -0,0 +1,26 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any
|
||||
|
||||
class Feature(GDALBase):
|
||||
destructor: Any = ...
|
||||
ptr: Any = ...
|
||||
def __init__(self, feat: Any, layer: Any) -> None: ...
|
||||
def __getitem__(self, index: Any): ...
|
||||
def __len__(self): ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
@property
|
||||
def encoding(self): ...
|
||||
@property
|
||||
def fid(self): ...
|
||||
@property
|
||||
def layer_name(self): ...
|
||||
@property
|
||||
def num_fields(self): ...
|
||||
@property
|
||||
def fields(self): ...
|
||||
@property
|
||||
def geom(self): ...
|
||||
@property
|
||||
def geom_type(self): ...
|
||||
def get(self, field: Any): ...
|
||||
def index(self, field_name: Any): ...
|
||||
61
django-stubs/contrib/gis/gdal/field.pyi
Normal file
61
django-stubs/contrib/gis/gdal/field.pyi
Normal file
@@ -0,0 +1,61 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any
|
||||
|
||||
class Field(GDALBase):
|
||||
ptr: Any = ...
|
||||
__class__: Any = ...
|
||||
def __init__(self, feat: Any, index: Any) -> None: ...
|
||||
def as_double(self): ...
|
||||
def as_int(self, is_64: bool = ...): ...
|
||||
def as_string(self): ...
|
||||
def as_datetime(self): ...
|
||||
@property
|
||||
def is_set(self): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
@property
|
||||
def precision(self): ...
|
||||
@property
|
||||
def type(self): ...
|
||||
@property
|
||||
def type_name(self): ...
|
||||
@property
|
||||
def value(self): ...
|
||||
@property
|
||||
def width(self): ...
|
||||
|
||||
class OFTInteger(Field):
|
||||
@property
|
||||
def value(self): ...
|
||||
@property
|
||||
def type(self): ...
|
||||
|
||||
class OFTReal(Field):
|
||||
@property
|
||||
def value(self): ...
|
||||
|
||||
class OFTString(Field): ...
|
||||
class OFTWideString(Field): ...
|
||||
class OFTBinary(Field): ...
|
||||
|
||||
class OFTDate(Field):
|
||||
@property
|
||||
def value(self): ...
|
||||
|
||||
class OFTDateTime(Field):
|
||||
@property
|
||||
def value(self): ...
|
||||
|
||||
class OFTTime(Field):
|
||||
@property
|
||||
def value(self): ...
|
||||
|
||||
class OFTInteger64(OFTInteger): ...
|
||||
class OFTIntegerList(Field): ...
|
||||
class OFTRealList(Field): ...
|
||||
class OFTStringList(Field): ...
|
||||
class OFTWideStringList(Field): ...
|
||||
class OFTInteger64List(Field): ...
|
||||
|
||||
OGRFieldTypes: Any
|
||||
ROGRFieldTypes: Any
|
||||
138
django-stubs/contrib/gis/gdal/geometries.pyi
Normal file
138
django-stubs/contrib/gis/gdal/geometries.pyi
Normal file
@@ -0,0 +1,138 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any, Optional
|
||||
|
||||
class OGRGeometry(GDALBase):
|
||||
destructor: Any = ...
|
||||
ptr: Any = ...
|
||||
srs: Any = ...
|
||||
__class__: Any = ...
|
||||
def __init__(self, geom_input: Any, srs: Optional[Any] = ...) -> None: ...
|
||||
@classmethod
|
||||
def from_bbox(cls, bbox: Any): ...
|
||||
@staticmethod
|
||||
def from_json(geom_input: Any): ...
|
||||
@classmethod
|
||||
def from_gml(cls, gml_string: Any): ...
|
||||
def __or__(self, other: Any): ...
|
||||
def __and__(self, other: Any): ...
|
||||
def __sub__(self, other: Any): ...
|
||||
def __xor__(self, other: Any): ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
@property
|
||||
def dimension(self): ...
|
||||
coord_dim: Any = ...
|
||||
@property
|
||||
def geom_count(self): ...
|
||||
@property
|
||||
def point_count(self): ...
|
||||
@property
|
||||
def num_points(self): ...
|
||||
@property
|
||||
def num_coords(self): ...
|
||||
@property
|
||||
def geom_type(self): ...
|
||||
@property
|
||||
def geom_name(self): ...
|
||||
@property
|
||||
def area(self): ...
|
||||
@property
|
||||
def envelope(self): ...
|
||||
@property
|
||||
def empty(self): ...
|
||||
@property
|
||||
def extent(self): ...
|
||||
srid: Any = ...
|
||||
@property
|
||||
def geos(self): ...
|
||||
@property
|
||||
def gml(self): ...
|
||||
@property
|
||||
def hex(self): ...
|
||||
@property
|
||||
def json(self): ...
|
||||
geojson: Any = ...
|
||||
@property
|
||||
def kml(self): ...
|
||||
@property
|
||||
def wkb_size(self): ...
|
||||
@property
|
||||
def wkb(self): ...
|
||||
@property
|
||||
def wkt(self): ...
|
||||
@property
|
||||
def ewkt(self): ...
|
||||
def clone(self): ...
|
||||
def close_rings(self) -> None: ...
|
||||
def transform(self, coord_trans: Any, clone: bool = ...): ...
|
||||
def intersects(self, other: Any): ...
|
||||
def equals(self, other: Any): ...
|
||||
def disjoint(self, other: Any): ...
|
||||
def touches(self, other: Any): ...
|
||||
def crosses(self, other: Any): ...
|
||||
def within(self, other: Any): ...
|
||||
def contains(self, other: Any): ...
|
||||
def overlaps(self, other: Any): ...
|
||||
@property
|
||||
def boundary(self): ...
|
||||
@property
|
||||
def convex_hull(self): ...
|
||||
def difference(self, other: Any): ...
|
||||
def intersection(self, other: Any): ...
|
||||
def sym_difference(self, other: Any): ...
|
||||
def union(self, other: Any): ...
|
||||
|
||||
class Point(OGRGeometry):
|
||||
@property
|
||||
def x(self): ...
|
||||
@property
|
||||
def y(self): ...
|
||||
@property
|
||||
def z(self): ...
|
||||
@property
|
||||
def tuple(self): ...
|
||||
coords: Any = ...
|
||||
|
||||
class LineString(OGRGeometry):
|
||||
def __getitem__(self, index: Any): ...
|
||||
def __len__(self): ...
|
||||
@property
|
||||
def tuple(self): ...
|
||||
coords: Any = ...
|
||||
@property
|
||||
def x(self): ...
|
||||
@property
|
||||
def y(self): ...
|
||||
@property
|
||||
def z(self): ...
|
||||
|
||||
class LinearRing(LineString): ...
|
||||
|
||||
class Polygon(OGRGeometry):
|
||||
def __len__(self): ...
|
||||
def __getitem__(self, index: Any): ...
|
||||
@property
|
||||
def shell(self): ...
|
||||
exterior_ring: Any = ...
|
||||
@property
|
||||
def tuple(self): ...
|
||||
coords: Any = ...
|
||||
@property
|
||||
def point_count(self): ...
|
||||
@property
|
||||
def centroid(self): ...
|
||||
|
||||
class GeometryCollection(OGRGeometry):
|
||||
def __getitem__(self, index: Any): ...
|
||||
def __len__(self): ...
|
||||
def add(self, geom: Any) -> None: ...
|
||||
@property
|
||||
def point_count(self): ...
|
||||
@property
|
||||
def tuple(self): ...
|
||||
coords: Any = ...
|
||||
|
||||
class MultiPoint(GeometryCollection): ...
|
||||
class MultiLineString(GeometryCollection): ...
|
||||
class MultiPolygon(GeometryCollection): ...
|
||||
|
||||
GEO_CLASSES: Any
|
||||
12
django-stubs/contrib/gis/gdal/geomtype.pyi
Normal file
12
django-stubs/contrib/gis/gdal/geomtype.pyi
Normal file
@@ -0,0 +1,12 @@
|
||||
from typing import Any
|
||||
|
||||
class OGRGeomType:
|
||||
wkb25bit: int = ...
|
||||
num: Any = ...
|
||||
def __init__(self, type_input: Any) -> None: ...
|
||||
def __eq__(self, other: Any) -> Any: ...
|
||||
@property
|
||||
def name(self): ...
|
||||
@property
|
||||
def django(self): ...
|
||||
def to_multi(self) -> None: ...
|
||||
31
django-stubs/contrib/gis/gdal/layer.pyi
Normal file
31
django-stubs/contrib/gis/gdal/layer.pyi
Normal file
@@ -0,0 +1,31 @@
|
||||
from django.contrib.gis.gdal.base import GDALBase as GDALBase
|
||||
from typing import Any
|
||||
|
||||
class Layer(GDALBase):
|
||||
ptr: Any = ...
|
||||
def __init__(self, layer_ptr: Any, ds: Any) -> None: ...
|
||||
def __getitem__(self, index: Any): ...
|
||||
def __iter__(self) -> Any: ...
|
||||
def __len__(self): ...
|
||||
@property
|
||||
def extent(self): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
@property
|
||||
def num_fields(self): ...
|
||||
@property
|
||||
def geom_type(self): ...
|
||||
@property
|
||||
def srs(self): ...
|
||||
@property
|
||||
def fields(self): ...
|
||||
@property
|
||||
def field_types(self): ...
|
||||
@property
|
||||
def field_widths(self): ...
|
||||
@property
|
||||
def field_precisions(self): ...
|
||||
spatial_filter: Any = ...
|
||||
def get_fields(self, field_name: Any): ...
|
||||
def get_geoms(self, geos: bool = ...): ...
|
||||
def test_capability(self, capability: Any): ...
|
||||
20
django-stubs/contrib/gis/gdal/libgdal.pyi
Normal file
20
django-stubs/contrib/gis/gdal/libgdal.pyi
Normal file
@@ -0,0 +1,20 @@
|
||||
from typing import Any
|
||||
|
||||
logger: Any
|
||||
lib_path: Any
|
||||
lib_names: Any
|
||||
lgdal: Any
|
||||
lwingdal: Any
|
||||
|
||||
def std_call(func: Any): ...
|
||||
def gdal_version(): ...
|
||||
def gdal_full_version(): ...
|
||||
def gdal_version_info(): ...
|
||||
|
||||
GDAL_VERSION: Any
|
||||
CPLErrorHandler: Any
|
||||
|
||||
def err_handler(error_class: Any, error_number: Any, message: Any) -> None: ...
|
||||
def function(name: Any, args: Any, restype: Any): ...
|
||||
|
||||
set_error_handler: Any
|
||||
51
django-stubs/contrib/gis/gdal/prototypes/ds.pyi
Normal file
51
django-stubs/contrib/gis/gdal/prototypes/ds.pyi
Normal file
@@ -0,0 +1,51 @@
|
||||
from typing import Any
|
||||
|
||||
c_int_p: Any
|
||||
register_all: Any
|
||||
cleanup_all: Any
|
||||
get_driver: Any
|
||||
get_driver_by_name: Any
|
||||
get_driver_count: Any
|
||||
get_driver_name: Any
|
||||
open_ds: Any
|
||||
destroy_ds: Any
|
||||
release_ds: Any
|
||||
get_ds_name: Any
|
||||
get_layer: Any
|
||||
get_layer_by_name: Any
|
||||
get_layer_count: Any
|
||||
get_extent: Any
|
||||
get_feature: Any
|
||||
get_feature_count: Any
|
||||
get_layer_defn: Any
|
||||
get_layer_srs: Any
|
||||
get_next_feature: Any
|
||||
reset_reading: Any
|
||||
test_capability: Any
|
||||
get_spatial_filter: Any
|
||||
set_spatial_filter: Any
|
||||
set_spatial_filter_rect: Any
|
||||
get_fd_geom_type: Any
|
||||
get_fd_name: Any
|
||||
get_feat_name: Any
|
||||
get_field_count: Any
|
||||
get_field_defn: Any
|
||||
clone_feature: Any
|
||||
destroy_feature: Any
|
||||
feature_equal: Any
|
||||
get_feat_geom_ref: Any
|
||||
get_feat_field_count: Any
|
||||
get_feat_field_defn: Any
|
||||
get_fid: Any
|
||||
get_field_as_datetime: Any
|
||||
get_field_as_double: Any
|
||||
get_field_as_integer: Any
|
||||
get_field_as_integer64: Any
|
||||
is_field_set: Any
|
||||
get_field_as_string: Any
|
||||
get_field_index: Any
|
||||
get_field_name: Any
|
||||
get_field_precision: Any
|
||||
get_field_type: Any
|
||||
get_field_type_name: Any
|
||||
get_field_width: Any
|
||||
14
django-stubs/contrib/gis/gdal/prototypes/errcheck.pyi
Normal file
14
django-stubs/contrib/gis/gdal/prototypes/errcheck.pyi
Normal file
@@ -0,0 +1,14 @@
|
||||
from typing import Any, Optional
|
||||
|
||||
def arg_byref(args: Any, offset: int = ...): ...
|
||||
def ptr_byref(args: Any, offset: int = ...): ...
|
||||
def check_const_string(result: Any, func: Any, cargs: Any, offset: Optional[Any] = ..., cpl: bool = ...): ...
|
||||
def check_string(result: Any, func: Any, cargs: Any, offset: int = ..., str_result: bool = ...): ...
|
||||
def check_envelope(result: Any, func: Any, cargs: Any, offset: int = ...): ...
|
||||
def check_geom(result: Any, func: Any, cargs: Any): ...
|
||||
def check_geom_offset(result: Any, func: Any, cargs: Any, offset: int = ...): ...
|
||||
def check_srs(result: Any, func: Any, cargs: Any): ...
|
||||
def check_arg_errcode(result: Any, func: Any, cargs: Any, cpl: bool = ...): ...
|
||||
def check_errcode(result: Any, func: Any, cargs: Any, cpl: bool = ...) -> None: ...
|
||||
def check_pointer(result: Any, func: Any, cargs: Any): ...
|
||||
def check_str_arg(result: Any, func: Any, cargs: Any): ...
|
||||
20
django-stubs/contrib/gis/gdal/prototypes/generation.pyi
Normal file
20
django-stubs/contrib/gis/gdal/prototypes/generation.pyi
Normal file
@@ -0,0 +1,20 @@
|
||||
from ctypes import c_char_p
|
||||
from typing import Any, Optional
|
||||
|
||||
class gdal_char_p(c_char_p): ...
|
||||
|
||||
def bool_output(func: Any, argtypes: Any, errcheck: Optional[Any] = ...): ...
|
||||
def double_output(func: Any, argtypes: Any, errcheck: bool = ..., strarg: bool = ..., cpl: bool = ...): ...
|
||||
def geom_output(func: Any, argtypes: Any, offset: Optional[Any] = ...): ...
|
||||
def int_output(func: Any, argtypes: Any, errcheck: Optional[Any] = ...): ...
|
||||
def int64_output(func: Any, argtypes: Any): ...
|
||||
def srs_output(func: Any, argtypes: Any): ...
|
||||
def const_string_output(
|
||||
func: Any, argtypes: Any, offset: Optional[Any] = ..., decoding: Optional[Any] = ..., cpl: bool = ...
|
||||
): ...
|
||||
def string_output(
|
||||
func: Any, argtypes: Any, offset: int = ..., str_result: bool = ..., decoding: Optional[Any] = ...
|
||||
): ...
|
||||
def void_output(func: Any, argtypes: Any, errcheck: bool = ..., cpl: bool = ...): ...
|
||||
def voidptr_output(func: Any, argtypes: Any, errcheck: bool = ...): ...
|
||||
def chararray_output(func: Any, argtypes: Any, errcheck: bool = ...): ...
|
||||
56
django-stubs/contrib/gis/gdal/prototypes/geom.pyi
Normal file
56
django-stubs/contrib/gis/gdal/prototypes/geom.pyi
Normal file
@@ -0,0 +1,56 @@
|
||||
from typing import Any
|
||||
|
||||
def env_func(f: Any, argtypes: Any): ...
|
||||
def pnt_func(f: Any): ...
|
||||
def topology_func(f: Any): ...
|
||||
|
||||
from_json: Any
|
||||
to_json: Any
|
||||
to_kml: Any
|
||||
getx: Any
|
||||
gety: Any
|
||||
getz: Any
|
||||
from_wkb: Any
|
||||
from_wkt: Any
|
||||
from_gml: Any
|
||||
create_geom: Any
|
||||
clone_geom: Any
|
||||
get_geom_ref: Any
|
||||
get_boundary: Any
|
||||
geom_convex_hull: Any
|
||||
geom_diff: Any
|
||||
geom_intersection: Any
|
||||
geom_sym_diff: Any
|
||||
geom_union: Any
|
||||
add_geom: Any
|
||||
import_wkt: Any
|
||||
destroy_geom: Any
|
||||
to_wkb: Any
|
||||
to_wkt: Any
|
||||
to_gml: Any
|
||||
get_wkbsize: Any
|
||||
assign_srs: Any
|
||||
get_geom_srs: Any
|
||||
get_area: Any
|
||||
get_centroid: Any
|
||||
get_dims: Any
|
||||
get_coord_dim: Any
|
||||
set_coord_dim: Any
|
||||
is_empty: Any
|
||||
get_geom_count: Any
|
||||
get_geom_name: Any
|
||||
get_geom_type: Any
|
||||
get_point_count: Any
|
||||
get_point: Any
|
||||
geom_close_rings: Any
|
||||
ogr_contains: Any
|
||||
ogr_crosses: Any
|
||||
ogr_disjoint: Any
|
||||
ogr_equals: Any
|
||||
ogr_intersects: Any
|
||||
ogr_overlaps: Any
|
||||
ogr_touches: Any
|
||||
ogr_within: Any
|
||||
geom_transform: Any
|
||||
geom_transform_to: Any
|
||||
get_envelope: Any
|
||||
48
django-stubs/contrib/gis/gdal/prototypes/raster.pyi
Normal file
48
django-stubs/contrib/gis/gdal/prototypes/raster.pyi
Normal file
@@ -0,0 +1,48 @@
|
||||
from typing import Any
|
||||
|
||||
register_all: Any
|
||||
get_driver: Any
|
||||
get_driver_by_name: Any
|
||||
get_driver_count: Any
|
||||
get_driver_description: Any
|
||||
create_ds: Any
|
||||
open_ds: Any
|
||||
close_ds: Any
|
||||
flush_ds: Any
|
||||
copy_ds: Any
|
||||
add_band_ds: Any
|
||||
get_ds_description: Any
|
||||
get_ds_driver: Any
|
||||
get_ds_xsize: Any
|
||||
get_ds_ysize: Any
|
||||
get_ds_raster_count: Any
|
||||
get_ds_raster_band: Any
|
||||
get_ds_projection_ref: Any
|
||||
set_ds_projection_ref: Any
|
||||
get_ds_geotransform: Any
|
||||
set_ds_geotransform: Any
|
||||
get_ds_metadata: Any
|
||||
set_ds_metadata: Any
|
||||
get_ds_metadata_domain_list: Any
|
||||
get_ds_metadata_item: Any
|
||||
set_ds_metadata_item: Any
|
||||
free_dsl: Any
|
||||
get_ds_info: Any
|
||||
band_io: Any
|
||||
get_band_xsize: Any
|
||||
get_band_ysize: Any
|
||||
get_band_index: Any
|
||||
get_band_description: Any
|
||||
get_band_ds: Any
|
||||
get_band_datatype: Any
|
||||
get_band_color_interp: Any
|
||||
get_band_nodata_value: Any
|
||||
set_band_nodata_value: Any
|
||||
delete_band_nodata_value: Any
|
||||
get_band_statistics: Any
|
||||
compute_band_statistics: Any
|
||||
reproject_image: Any
|
||||
auto_create_warped_vrt: Any
|
||||
create_vsi_file_from_mem_buffer: Any
|
||||
get_mem_buffer_from_vsi_file: Any
|
||||
unlink_vsi_file: Any
|
||||
36
django-stubs/contrib/gis/gdal/prototypes/srs.pyi
Normal file
36
django-stubs/contrib/gis/gdal/prototypes/srs.pyi
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Any
|
||||
|
||||
def srs_double(f: Any): ...
|
||||
def units_func(f: Any): ...
|
||||
|
||||
clone_srs: Any
|
||||
new_srs: Any
|
||||
release_srs: Any
|
||||
destroy_srs: Any
|
||||
srs_validate: Any
|
||||
set_axis_strategy: Any
|
||||
semi_major: Any
|
||||
semi_minor: Any
|
||||
invflattening: Any
|
||||
from_wkt: Any
|
||||
from_proj: Any
|
||||
from_epsg: Any
|
||||
from_xml: Any
|
||||
from_user_input: Any
|
||||
morph_to_esri: Any
|
||||
morph_from_esri: Any
|
||||
identify_epsg: Any
|
||||
linear_units: Any
|
||||
angular_units: Any
|
||||
to_wkt: Any
|
||||
to_proj: Any
|
||||
to_pretty_wkt: Any
|
||||
to_xml: Any
|
||||
get_attr_value: Any
|
||||
get_auth_name: Any
|
||||
get_auth_code: Any
|
||||
isgeographic: Any
|
||||
islocal: Any
|
||||
isprojected: Any
|
||||
new_ct: Any
|
||||
destroy_ct: Any
|
||||
0
django-stubs/contrib/gis/gdal/raster/__init__.pyi
Normal file
0
django-stubs/contrib/gis/gdal/raster/__init__.pyi
Normal file
44
django-stubs/contrib/gis/gdal/raster/band.pyi
Normal file
44
django-stubs/contrib/gis/gdal/raster/band.pyi
Normal file
@@ -0,0 +1,44 @@
|
||||
from django.contrib.gis.gdal.raster.base import GDALRasterBase as GDALRasterBase
|
||||
from typing import Any, Optional
|
||||
|
||||
class GDALBand(GDALRasterBase):
|
||||
source: Any = ...
|
||||
def __init__(self, source: Any, index: Any) -> None: ...
|
||||
@property
|
||||
def description(self): ...
|
||||
@property
|
||||
def width(self): ...
|
||||
@property
|
||||
def height(self): ...
|
||||
@property
|
||||
def pixel_count(self): ...
|
||||
def statistics(self, refresh: bool = ..., approximate: bool = ...): ...
|
||||
@property
|
||||
def min(self): ...
|
||||
@property
|
||||
def max(self): ...
|
||||
@property
|
||||
def mean(self): ...
|
||||
@property
|
||||
def std(self): ...
|
||||
@property
|
||||
def nodata_value(self): ...
|
||||
@nodata_value.setter
|
||||
def nodata_value(self, value: Any) -> None: ...
|
||||
def datatype(self, as_string: bool = ...): ...
|
||||
def color_interp(self, as_string: bool = ...): ...
|
||||
def data(
|
||||
self,
|
||||
data: Optional[Any] = ...,
|
||||
offset: Optional[Any] = ...,
|
||||
size: Optional[Any] = ...,
|
||||
shape: Optional[Any] = ...,
|
||||
as_memoryview: bool = ...,
|
||||
): ...
|
||||
|
||||
class BandList(list):
|
||||
source: Any = ...
|
||||
def __init__(self, source: Any) -> None: ...
|
||||
def __iter__(self) -> Any: ...
|
||||
def __len__(self): ...
|
||||
def __getitem__(self, index: Any): ...
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user