SYMBOL INDEX (237 symbols across 44 files) FILE: hooks/post_gen_project.py function remove_open_source_files (line 28) | def remove_open_source_files(): function remove_gplv3_files (line 34) | def remove_gplv3_files(): function remove_custom_user_manager_files (line 40) | def remove_custom_user_manager_files(): function remove_pycharm_files (line 46) | def remove_pycharm_files(): function remove_docker_files (line 56) | def remove_docker_files(): function remove_nginx_docker_files (line 74) | def remove_nginx_docker_files(): function remove_utility_files (line 78) | def remove_utility_files(): function remove_heroku_files (line 82) | def remove_heroku_files(): function remove_sass_files (line 92) | def remove_sass_files(): function remove_gulp_files (line 96) | def remove_gulp_files(): function remove_webpack_files (line 102) | def remove_webpack_files(): function remove_vendors_js (line 107) | def remove_vendors_js(): function remove_project_css (line 113) | def remove_project_css(): function remove_packagejson_file (line 119) | def remove_packagejson_file(): function update_package_json (line 125) | def update_package_json(remove_dev_deps=None, remove_keys=None, scripts=... function handle_js_runner (line 140) | def handle_js_runner(choice, use_docker, use_async): function remove_prettier_pre_commit (line 200) | def remove_prettier_pre_commit(): function remove_repo_from_pre_commit_config (line 204) | def remove_repo_from_pre_commit_config(repo_to_remove: str): function remove_celery_files (line 221) | def remove_celery_files(): function remove_async_files (line 231) | def remove_async_files(): function remove_dottravisyml_file (line 240) | def remove_dottravisyml_file(): function remove_dotgitlabciyml_file (line 244) | def remove_dotgitlabciyml_file(): function remove_dotgithub_folder (line 248) | def remove_dotgithub_folder(): function remove_dotdrone_file (line 252) | def remove_dotdrone_file(): function generate_random_string (line 256) | def generate_random_string(length, using_digits=False, using_ascii_lette... function set_flag (line 279) | def set_flag(file_path: Path, flag, value=None, formatted=None, *args, *... function set_django_secret_key (line 301) | def set_django_secret_key(file_path: Path): function set_django_admin_url (line 311) | def set_django_admin_url(file_path: Path): function generate_random_user (line 322) | def generate_random_user(): function generate_postgres_user (line 326) | def generate_postgres_user(debug=False): # noqa: FBT002 function set_postgres_user (line 330) | def set_postgres_user(file_path, value): function set_postgres_password (line 334) | def set_postgres_password(file_path, value=None): function set_celery_flower_user (line 345) | def set_celery_flower_user(file_path, value): function set_celery_flower_password (line 349) | def set_celery_flower_password(file_path, value=None): function append_to_gitignore_file (line 360) | def append_to_gitignore_file(ignored_line): function set_flags_in_envs (line 366) | def set_flags_in_envs(postgres_user, celery_flower_user, debug=False): ... function set_flags_in_settings_files (line 386) | def set_flags_in_settings_files(): function remove_envs_and_associated_files (line 391) | def remove_envs_and_associated_files(): function remove_celery_compose_dirs (line 397) | def remove_celery_compose_dirs(): function remove_node_dockerfile (line 402) | def remove_node_dockerfile(): function remove_aws_dockerfile (line 406) | def remove_aws_dockerfile(): function remove_drf_starter_files (line 410) | def remove_drf_starter_files(): function remove_ninja_starter_files (line 415) | def remove_ninja_starter_files(): function remove_rest_api_files (line 420) | def remove_rest_api_files(): function main (line 427) | def main(): # noqa: C901, PLR0912, PLR0915 function setup_dependencies (line 530) | def setup_dependencies(): FILE: scripts/create_django_issue.py class DjVersion (line 35) | class DjVersion(NamedTuple): method __str__ (line 45) | def __str__(self) -> str: method parse (line 50) | def parse(cls, version_str: str) -> DjVersion: method parse_to_tuple (line 56) | def parse_to_tuple(cls, version_str: str): function get_package_info (line 61) | def get_package_info(package: str) -> dict: function get_django_versions (line 71) | def get_django_versions() -> Iterable[DjVersion]: function get_name_and_version (line 81) | def get_name_and_version(requirements_line: str) -> tuple[str, ...]: function get_all_latest_django_versions (line 88) | def get_all_latest_django_versions( class GitHubManager (line 133) | class GitHubManager: method __init__ (line 134) | def __init__(self, base_dj_version: DjVersion, needed_dj_versions: lis... method setup (line 150) | def setup(self) -> None: method load_requirements (line 154) | def load_requirements(self): method load_existing_issues (line 172) | def load_existing_issues(self): method get_compatibility (line 194) | def get_compatibility(self, package_name: str, package_info: dict, nee... method _get_md_home_page_url (line 243) | def _get_md_home_page_url(self, package_info: dict): method generate_markdown (line 250) | def generate_markdown(self, needed_dj_version: DjVersion): method create_or_edit_issue (line 266) | def create_or_edit_issue(self, needed_dj_version: DjVersion, descripti... method close_issue (line 276) | def close_issue(issue: Issue): method generate (line 280) | def generate(self): function main (line 288) | def main(django_max_version=None) -> None: FILE: scripts/node_version.py function main (line 13) | def main() -> None: function get_version_from_dockerfile (line 21) | def get_version_from_dockerfile() -> str: function get_version_from_package_json (line 34) | def get_version_from_package_json() -> str: function update_package_json_version (line 39) | def update_package_json_version(old_version: str, new_version: str) -> N... function update_production_node_version (line 48) | def update_production_node_version(old_version: str, new_version: str) -... FILE: scripts/ruff_version.py function main (line 16) | def main() -> None: function get_requirements_txt_version (line 26) | def get_requirements_txt_version() -> str: function get_pyproject_toml_version (line 34) | def get_pyproject_toml_version() -> str: function update_ruff_version (line 42) | def update_ruff_version(old_version: str, new_version: str) -> None: FILE: scripts/update_changelog.py function main (line 21) | def main() -> None: function iter_pulls (line 71) | def iter_pulls( function group_pulls_by_change_type (line 86) | def group_pulls_by_change_type( function generate_md (line 113) | def generate_md(grouped_pulls: dict[str, list[github.PullRequest.PullReq... function write_changelog (line 120) | def write_changelog(file_path: Path, release: str, content: str) -> None: function update_version (line 131) | def update_version(file_path: Path, release: str) -> None: function update_git_repo (line 142) | def update_git_repo(paths: list[Path], release: str) -> None: FILE: scripts/update_contributors.py function main (line 16) | def main() -> None: function iter_recent_authors (line 39) | def iter_recent_authors(): class ContributorsJSONFile (line 53) | class ContributorsJSONFile: method __init__ (line 59) | def __init__(self) -> None: method __contains__ (line 63) | def __contains__(self, github_login: str): method add_contributor (line 71) | def add_contributor(self, user: NamedUser): method save (line 80) | def save(self): function write_md_file (line 86) | def write_md_file(contributors): FILE: tests/test_cookiecutter_generation.py function context (line 35) | def context(): function _fixture_id (line 148) | def _fixture_id(ctx): function build_files_list (line 153) | def build_files_list(base_path: Path): function check_paths (line 165) | def check_paths(paths: Iterable[Path]): function test_project_generation (line 178) | def test_project_generation(cookies, context, context_override): function test_ruff_check_passes (line 193) | def test_ruff_check_passes(cookies, context_override): function test_ruff_format_passes (line 205) | def test_ruff_format_passes(cookies, context_override): function test_django_upgrade_passes (line 221) | def test_django_upgrade_passes(cookies, context_override): function test_djlint_lint_passes (line 241) | def test_djlint_lint_passes(cookies, context_override): function test_djlint_check_passes (line 262) | def test_djlint_check_passes(cookies, context_override): function test_travis_invokes_pytest (line 279) | def test_travis_invokes_pytest(cookies, context, use_docker, expected_te... function test_gitlab_invokes_precommit_and_pytest (line 304) | def test_gitlab_invokes_precommit_and_pytest(cookies, context, use_docke... function test_github_invokes_linter_and_pytest (line 331) | def test_github_invokes_linter_and_pytest(cookies, context, use_docker, ... function test_invalid_slug (line 359) | def test_invalid_slug(cookies, context, slug): function test_error_if_incompatible (line 370) | def test_error_if_incompatible(cookies, context, invalid_context): function test_pycharm_docs_removed (line 387) | def test_pycharm_docs_removed(cookies, context, editor, pycharm_docs_exi... function test_trim_domain_email (line 396) | def test_trim_domain_email(cookies, context): function test_pyproject_toml (line 416) | def test_pyproject_toml(cookies, context): function test_pre_commit_without_heroku (line 440) | def test_pre_commit_without_heroku(cookies, context): FILE: tests/test_hooks.py function working_directory (line 12) | def working_directory(tmp_path): function test_append_to_gitignore_file (line 21) | def test_append_to_gitignore_file(working_directory): FILE: {{cookiecutter.project_slug}}/config/asgi.py function application (line 32) | async def application(scope, receive, send): FILE: {{cookiecutter.project_slug}}/config/celery_app.py function config_loggers (line 19) | def config_loggers(*args, **kwargs): FILE: {{cookiecutter.project_slug}}/config/websocket.py function websocket_application (line 1) | async def websocket_application(scope, receive, send): FILE: {{cookiecutter.project_slug}}/gulpfile.mjs function pathsConfig (line 30) | function pathsConfig() { function styles (line 56) | function styles() { function scripts (line 82) | function scripts() { function vendorScripts (line 91) | function vendorScripts() { function imgCompression (line 102) | async function imgCompression() { function runServer (line 123) | function runServer(cb) { FILE: {{cookiecutter.project_slug}}/manage.py function main (line 9) | def main(): FILE: {{cookiecutter.project_slug}}/merge_production_dotenvs_in_dotenv.py function merge (line 13) | def merge( FILE: {{cookiecutter.project_slug}}/tests/test_merge_production_dotenvs_in_dotenv.py function test_merge (line 19) | def test_merge( FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/conftest.py function _media_storage (line 8) | def _media_storage(settings, tmpdir) -> None: function user (line 13) | def user(db) -> User: FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0001_initial.py class Migration (line 7) | class Migration(migrations.Migration): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0002_alter_domain_unique.py class Migration (line 6) | class Migration(migrations.Migration): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0003_set_site_domain_and_name.py function _update_or_create_site_with_sequence (line 10) | def _update_or_create_site_with_sequence(site_model, connection, domain,... function update_site_forward (line 37) | def update_site_forward(apps, schema_editor): function update_site_backward (line 48) | def update_site_backward(apps, schema_editor): class Migration (line 59) | class Migration(migrations.Migration): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/contrib/sites/migrations/0004_alter_options_ordering_domain.py class Migration (line 6) | class Migration(migrations.Migration): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/adapters.py class AccountAdapter (line 16) | class AccountAdapter(DefaultAccountAdapter): method is_open_for_signup (line 17) | def is_open_for_signup(self, request: HttpRequest) -> bool: class SocialAccountAdapter (line 21) | class SocialAccountAdapter(DefaultSocialAccountAdapter): method is_open_for_signup (line 22) | def is_open_for_signup( method populate_user (line 29) | def populate_user( FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/admin.py class UserAdmin (line 19) | class UserAdmin(auth_admin.UserAdmin): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/schema.py class UpdateUserSchema (line 7) | class UpdateUserSchema(ModelSchema): class Meta (line 8) | class Meta: class UserSchema (line 17) | class UserSchema(ModelSchema): class Meta (line 20) | class Meta: method resolve_url (line 29) | def resolve_url(obj: User): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/serializers.py class UserSerializer (line 6) | class UserSerializer(serializers.ModelSerializer[User]): class Meta (line 7) | class Meta: FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/api/views.py class UserViewSet (line 15) | class UserViewSet(RetrieveModelMixin, ListModelMixin, UpdateModelMixin, ... method get_queryset (line 24) | def get_queryset(self, *args, **kwargs): method me (line 29) | def me(self, request): function _get_users_queryset (line 44) | def _get_users_queryset(request) -> QuerySet[User]: function list_users (line 49) | def list_users(request): function retrieve_current_user (line 55) | def retrieve_current_user(request): function retrieve_user (line 60) | def retrieve_user(request, pk: int): function retrieve_current_user (line 67) | def retrieve_current_user(request): function retrieve_user (line 72) | def retrieve_user(request, username: str): function update_current_user (line 79) | def update_current_user(request, data: UpdateUserSchema): function update_user (line 91) | def update_user(request, pk: int, data: UpdateUserSchema): function update_user (line 101) | def update_user(request, username: str, data: UpdateUserSchema): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/apps.py class UsersConfig (line 5) | class UsersConfig(AppConfig): method ready (line 9) | def ready(self): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/context_processors.py function allauth_settings (line 4) | def allauth_settings(request): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/forms.py class UserAdminChangeForm (line 12) | class UserAdminChangeForm(admin_forms.UserChangeForm): class Meta (line 13) | class Meta(admin_forms.UserChangeForm.Meta): class UserAdminCreationForm (line 20) | class UserAdminCreationForm(admin_forms.AdminUserCreationForm): class Meta (line 26) | class Meta(admin_forms.UserCreationForm.Meta): class UserSignupForm (line 41) | class UserSignupForm(SignupForm): class UserSocialSignupForm (line 49) | class UserSocialSignupForm(SocialSignupForm): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/managers.py class UserManager (line 10) | class UserManager(DjangoUserManager["User"]): method _create_user (line 13) | def _create_user(self, email: str, password: str | None, **extra_fields): method create_user (line 26) | def create_user(self, email: str, password: str | None = None, **extra... method create_superuser (line 31) | def create_superuser(self, email: str, password: str | None = None, **... FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/migrations/0001_initial.py class Migration (line 10) | class Migration(migrations.Migration): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/models.py class User (line 18) | class User(AbstractUser): method get_absolute_url (line 39) | def get_absolute_url(self) -> str: FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tasks.py function get_users_count (line 7) | def get_users_count(): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/api/test_openapi.py function test_api_docs_accessible_by_admin (line 7) | def test_api_docs_accessible_by_admin(admin_client): function test_api_docs_not_accessible_by_anonymous_users (line 18) | def test_api_docs_not_accessible_by_anonymous_users(client): function test_api_schema_generated_successfully (line 31) | def test_api_schema_generated_successfully(admin_client): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/api/test_urls.py function test_user_detail (line 8) | def test_user_detail(user: User): function test_user_list (line 23) | def test_user_list(): function test_user_me (line 28) | def test_user_me(): function test_user_detail (line 34) | def test_user_detail(user: User): function test_user_list (line 49) | def test_user_list(): function test_current_user (line 54) | def test_current_user(): function test_update_user (line 59) | def test_update_user(): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/api/test_views.py class TestUserViewSet (line 9) | class TestUserViewSet: method api_rf (line 11) | def api_rf(self) -> APIRequestFactory: method test_get_queryset (line 14) | def test_get_queryset(self, user: User, api_rf: APIRequestFactory): method test_me (line 23) | def test_me(self, user: User, api_rf: APIRequestFactory): function user (line 55) | def user(): function test_list_users_as_anonymous_user (line 59) | def test_list_users_as_anonymous_user(client: Client): function test_list_users_as_authenticated_user (line 65) | def test_list_users_as_authenticated_user(client: Client, user: User): function test_retrieve_current_user (line 88) | def test_retrieve_current_user(client: Client, user: User): function test_retrieve_user (line 103) | def test_retrieve_user(client: Client, user: User): function test_retrieve_current_user (line 119) | def test_retrieve_current_user(client: Client, user: User): function test_retrieve_user (line 135) | def test_retrieve_user(client: Client, user: User): function test_retrieve_another_user (line 152) | def test_retrieve_another_user(client: Client, user: User): function test_update_current_user (line 168) | def test_update_current_user(client: Client): function test_update_user (line 198) | def test_update_user(client: Client): function test_update_user (line 217) | def test_update_user(client: Client): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/factories.py class UserFactory (line 10) | class UserFactory(DjangoModelFactory[User]): method password (line 18) | def password(self: User, create: bool, extracted: str | None, **kwargs... class Meta (line 35) | class Meta: FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_admin.py class TestUserAdmin (line 14) | class TestUserAdmin: method test_changelist (line 15) | def test_changelist(self, admin_client): method test_search (line 20) | def test_search(self, admin_client): method test_add (line 25) | def test_add(self, admin_client): function test_view_user (line 49) | def test_view_user(self, admin_client): function _force_allauth (line 60) | def _force_allauth(self, settings): function test_allauth_login (line 70) | def test_allauth_login(self, rf, settings): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_forms.py class TestUserAdminCreationForm (line 9) | class TestUserAdminCreationForm: method test_username_validation_error_msg (line 14) | def test_username_validation_error_msg(self, user: User): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_managers.py class TestUserManager (line 10) | class TestUserManager: method test_create_user (line 11) | def test_create_user(self): method test_create_superuser (line 22) | def test_create_superuser(self): method test_create_superuser_username_ignored (line 32) | def test_create_superuser_username_ignored(self): function test_createsuperuser_command (line 41) | def test_createsuperuser_command(): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_models.py function test_user_get_absolute_url (line 4) | def test_user_get_absolute_url(user: User): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_tasks.py function test_user_count (line 10) | def test_user_count(settings): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_urls.py function test_detail (line 7) | def test_detail(user: User): function test_update (line 20) | def test_update(): function test_redirect (line 25) | def test_redirect(): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py class TestUserUpdateView (line 25) | class TestUserUpdateView: method dummy_get_response (line 34) | def dummy_get_response(self, request: HttpRequest): method test_get_success_url (line 37) | def test_get_success_url(self, user: User, rf: RequestFactory): method test_get_object (line 50) | def test_get_object(self, user: User, rf: RequestFactory): method test_form_valid (line 59) | def test_form_valid(self, user: User, rf: RequestFactory): class TestUserRedirectView (line 80) | class TestUserRedirectView: method test_get_redirect_url (line 81) | def test_get_redirect_url(self, user: User, rf: RequestFactory): class TestUserDetailView (line 95) | class TestUserDetailView: method test_authenticated (line 96) | def test_authenticated(self, user: User, rf: RequestFactory): method test_not_authenticated (line 108) | def test_not_authenticated(self, user: User, rf: RequestFactory): FILE: {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/views.py class UserDetailView (line 13) | class UserDetailView(LoginRequiredMixin, DetailView): class UserUpdateView (line 27) | class UserUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): method get_success_url (line 32) | def get_success_url(self) -> str: method get_object (line 36) | def get_object(self, queryset: QuerySet | None = None) -> User: class UserRedirectView (line 44) | class UserRedirectView(LoginRequiredMixin, RedirectView): method get_redirect_url (line 47) | def get_redirect_url(self) -> str: