gitextract_phsp6pke/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── question.md │ ├── dependabot.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── backport.yml │ ├── ci.yml │ ├── pypi.yml │ └── version-branch.yml ├── .gitignore ├── .prettierignore ├── CHANGES.rst ├── CONTRIBUTING.rst ├── LICENSE ├── MANIFEST.in ├── README.rst ├── conftest.py ├── django_loci/ │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── base/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── geocoding_views.py │ │ └── models.py │ ├── channels/ │ │ ├── __init__.py │ │ ├── asgi.py │ │ ├── base.py │ │ ├── consumers.py │ │ └── receivers.py │ ├── fields.py │ ├── migrations/ │ │ ├── 0001_initial.py │ │ └── __init__.py │ ├── models.py │ ├── settings.py │ ├── static/ │ │ └── django-loci/ │ │ ├── css/ │ │ │ ├── floorplan-widget.css │ │ │ └── loci.css │ │ └── js/ │ │ ├── floorplan-inlines.js │ │ ├── floorplan-widget.js │ │ └── loci.js │ ├── storage.py │ ├── templates/ │ │ └── admin/ │ │ ├── django_loci/ │ │ │ ├── foreign_key_raw_id.html │ │ │ ├── location_change_form.html │ │ │ └── location_inline.html │ │ └── widgets/ │ │ ├── floorplan.html │ │ ├── foreign_key_raw_id.html │ │ └── image.html │ ├── tests/ │ │ ├── __init__.py │ │ ├── base/ │ │ │ ├── __init__.py │ │ │ ├── static/ │ │ │ │ ├── test-geocode-invalid-address.json │ │ │ │ ├── test-geocode.json │ │ │ │ ├── test-reverse-geocode.json │ │ │ │ └── test-reverse-location-with-no-address.json │ │ │ ├── test_admin.py │ │ │ ├── test_admin_inline.py │ │ │ ├── test_apps.py │ │ │ ├── test_channels.py │ │ │ ├── test_models.py │ │ │ └── test_selenium.py │ │ ├── pytest_channels.py │ │ ├── test_admin.py │ │ ├── test_admin_inline.py │ │ ├── test_apps.py │ │ ├── test_models.py │ │ ├── test_selenium.py │ │ └── testdeviceapp/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ ├── templates/ │ │ │ └── admin/ │ │ │ ├── location_broadcast_listener.html │ │ │ └── testdeviceapp/ │ │ │ └── change_list.html │ │ └── tests/ │ │ ├── __init__.py │ │ └── test_selenium.py │ └── widgets.py ├── docker-compose.yml ├── pyproject.toml ├── pytest.ini ├── requirements-test.txt ├── requirements.txt ├── run-qa-checks ├── runtests ├── runtests.py ├── setup.cfg ├── setup.py └── tests/ ├── __init__.py ├── manage.py └── openwisp2/ ├── __init__.py ├── local_settings.example.py ├── media/ │ └── .gitignore ├── settings.py └── urls.py