Login
Forgot your password? Click here to reset it.
Forgot your password? Click here to reset it.
Installation paths relative to:
/usr/local/lib/python3.11/site-packages
| Package | Version | Installed Path |
|---|---|---|
| 2captcha-python | 1.1.2 | |
| aiohappyeyeballs | 2.6.1 | |
| aiohttp | 3.13.3 | |
| aiosignal | 1.4.0 | |
| alabaster | 0.7.12 | |
| alembic | 1.7.7 | |
| amqp | 5.3.1 | |
| attrs | 25.4.0 | |
| autocommand | 2.2.2 | setuptools/_vendor |
| babel | 2.17.0 | |
| backports.tarfile | 1.2.0 | |
| bcrypt | 5.0.0 | |
| Bcrypt-Flask | 1.0.2 | |
| beautifulsoup4 | 4.9.3 | |
| billiard | 4.2.4 | |
| black | 22.6.0 | |
| blinker | 1.9.0 | |
| bs4 | 0.0.1 | |
| bumpver | 2023.1121 | |
| cachelib | 0.13.0 | |
| celery | 5.4.0 | |
| certifi | 2026.1.4 | |
| cffi | 2.0.0 | |
| charset-normalizer | 3.4.4 | |
| click | 8.1.7 | |
| click-didyoumean | 0.3.1 | |
| click-plugins | 1.1.1.2 | |
| click-repl | 0.3.0 | |
| cloudpickle | 3.1.2 | |
| colorama | 0.4.6 | |
| coverage | 7.13.2 | |
| cryptography | 46.0.4 | |
| daap-gcp-commons | 0.0.50 | |
| daap-python-commons | 0.0.44 | |
| dask | 2023.2.0 | |
| decorator | 5.2.1 | |
| dnspython | 2.8.0 | |
| docutils | 0.20.1 | |
| email-validator | 1.1.3 | |
| et-xmlfile | 2.0.0 | |
| Fabric3 | 1.14.post1 | |
| factory-boy | 3.2.0 | |
| Faker | 13.12.0 | |
| flake8 | 3.9.2 | |
| flake8-docstrings | 1.6.0 | |
| flake8-polyfill | 1.0.2 | |
| Flask | 2.0.2 | |
| flask-admin | 1.6.0 | |
| Flask-Caching | 2.0.1 | |
| Flask-DebugToolbar | 0.13.1 | |
| Flask-Login | 0.5.0 | |
| flask-mail | 0.9.1 | |
| Flask-Migrate | 3.1.0 | |
| Flask-Moment | 1.0.2 | |
| Flask-SQLAlchemy | 2.5.1 | |
| Flask-WTF | 0.15.1 | |
| frozenlist | 1.8.0 | |
| fsspec | 2021.4.0 | |
| future | 1.0.0 | |
| gcsfs | 2021.4.0 | |
| google-api-core | 2.29.0 | |
| google-auth | 2.48.0 | |
| google-auth-oauthlib | 1.2.4 | |
| google-cloud-bigquery | 3.24.0 | |
| google-cloud-bigquery-storage | 2.13.1 | |
| google-cloud-core | 2.5.0 | |
| google-cloud-orchestration-airflow | 1.19.0 | |
| google-cloud-storage | 2.1.0 | |
| google-crc32c | 1.8.0 | |
| google-resumable-media | 2.8.0 | |
| googleapis-common-protos | 1.72.0 | |
| greenlet | 3.3.1 | |
| grpcio | 1.76.0 | |
| grpcio-status | 1.76.0 | |
| gunicorn | 20.0.4 | |
| h11 | 0.16.0 | |
| idna | 3.11 | |
| imagesize | 1.4.1 | |
| imap-tools | 1.0.0 | |
| importlib-metadata | 8.7.1 | |
| infinity | 1.5 | |
| inflect | 7.3.1 | setuptools/_vendor |
| iniconfig | 2.3.0 | |
| intervals | 0.9.2 | |
| isort | 5.9.3 | |
| itsdangerous | 2.2.0 | |
| jaraco-context | 6.1.0 | |
| jaraco-functools | 4.4.0 | |
| jaraco.classes | 3.4.0 | |
| jaraco.collections | 5.1.0 | setuptools/_vendor |
| jaraco.context | 5.3.0 | setuptools/_vendor |
| jaraco.functools | 4.0.1 | setuptools/_vendor |
| jaraco.text | 3.12.1 | setuptools/_vendor |
| jeepney | 0.9.0 | |
| jinja2 | 3.1.6 | |
| jinjasql-poklet | 0.1.9 | |
| jmespath | 0.10.0 | |
| keyring | 25.7.0 | |
| keyrings.google-artifactregistry-auth | 1.1.2 | |
| kombu | 5.3.4 | |
| lexid | 2021.1006 | |
| locket | 1.0.0 | |
| looseversion | 1.3.0 | |
| lxml | 4.9.2 | |
| mako | 1.3.10 | |
| markdown-it-py | 4.0.0 | |
| markupsafe | 2.0.1 | |
| marshmallow | 3.18.0 | |
| mccabe | 0.6.1 | |
| mdurl | 0.1.2 | |
| more-itertools | 10.8.0 | |
| multidict | 6.7.1 | |
| mypy-extensions | 1.1.0 | |
| nh3 | 0.3.2 | |
| numpy | 1.24.4 | |
| oauthlib | 3.3.1 | |
| openpyxl | 3.1.2 | |
| outcome | 1.3.0.post0 | |
| packaging | 26.0 | |
| pandas | 2.0.3 | |
| paramiko | 2.12.0 | |
| partd | 1.4.2 | |
| pathlib2 | 2.3.7.post1 | |
| pathspec | 1.0.4 | |
| pep8-naming | 0.12.1 | |
| pip | 25.3 | |
| pkginfo | 1.10.0 | |
| platformdirs | 4.5.1 | |
| pluggy | 1.0.0.dev0 | |
| prompt-toolkit | 3.0.52 | |
| propcache | 0.4.1 | |
| proto-plus | 1.27.0 | |
| protobuf | 6.33.5 | |
| psutil | 5.9.0 | |
| psycopg2-binary | 2.9.11 | |
| py | 1.11.0 | |
| pyarrow | 23.0.0 | |
| pyasn1 | 0.6.2 | |
| pyasn1-modules | 0.4.2 | |
| pyclean | 2.2.0 | |
| pycodestyle | 2.7.0 | |
| pycparser | 3.0 | |
| pydocstyle | 6.3.0 | |
| pyflakes | 2.3.1 | |
| pygments | 2.19.2 | |
| PyJWT | 2.3.0 | |
| pynacl | 1.6.2 | |
| pyodbc | 4.0.35 | |
| pyotp | 2.6.0 | |
| PySocks | 1.7.1 | |
| pyspnego | 0.12.0 | |
| pytest | 6.2.4 | |
| pytest-celery | 0.0.0 | |
| pytest-cov | 2.12.1 | |
| python-calamine | 0.1.7 | |
| python-dateutil | 2.9.0.post0 | |
| python-dotenv | 0.21.0 | |
| python-http-client | 3.3.7 | |
| pytz | 2022.1 | |
| pyyaml | 6.0.3 | |
| readme-renderer | 43.0 | |
| redis | 5.0.7 | |
| requests | 2.32.5 | |
| requests-ntlm | 1.2.0 | |
| requests-oauthlib | 2.0.0 | |
| requests-toolbelt | 1.0.0 | |
| rfc3986 | 2.0.0 | |
| rich | 14.3.1 | |
| rsa | 4.9.1 | |
| secretstorage | 3.5.0 | |
| selenium | 4.8.0 | |
| sendgrid | 6.9.7 | |
| setuptools | 79.0.1 | |
| six | 1.17.0 | |
| sniffio | 1.3.1 | |
| snowballstemmer | 3.0.1 | |
| sortedcontainers | 2.4.0 | |
| soupsieve | 2.8.3 | |
| sphinx | 7.2.6 | |
| sphinx-rtd-theme | 2.0.0 | |
| sphinxcontrib-applehelp | 2.0.0 | |
| sphinxcontrib-devhelp | 2.0.0 | |
| sphinxcontrib-htmlhelp | 2.1.0 | |
| sphinxcontrib-jquery | 4.1 | |
| sphinxcontrib-jsmath | 1.0.1 | |
| sphinxcontrib-qthelp | 2.0.0 | |
| sphinxcontrib-serializinghtml | 2.0.0 | |
| sql-ninja | 0.2.1 | |
| sqlalchemy | 1.4.27 | |
| sqlalchemy-bigquery | 1.6.0 | |
| SQLAlchemy-Utils | 0.37.8 | |
| sqlparse | 0.4.2 | |
| starkbank-ecdsa | 2.2.0 | |
| stream-zip | 0.0.57 | |
| supervisor | 4.2.2 | |
| toml | 0.10.2 | |
| tomli | 2.0.1 | setuptools/_vendor |
| toolz | 1.1.0 | |
| tqdm | 4.67.1 | |
| trio | 0.32.0 | |
| trio-websocket | 0.12.2 | |
| twilio | 7.8.1 | |
| twine | 5.1.1 | |
| typeguard | 4.3.0 | setuptools/_vendor |
| typing-extensions | 4.15.0 | |
| tzdata | 2025.3 | |
| undetected-chromedriver | 3.4.6 | |
| urllib3 | 1.26.20 | |
| validators | 0.35.0 | |
| vine | 5.1.0 | |
| wcwidth | 0.5.2 | |
| webdriver-manager | 3.8.5 | |
| websockets | 16.0 | |
| Werkzeug | 2.0.1 | |
| wheel | 0.45.1 | |
| wsproto | 1.3.2 | |
| WTForms | 2.3.3 | |
| wtforms-alchemy | 0.17.0 | |
| WTForms-Components | 0.10.5 | |
| xlsx2csv | 0.7.8 | |
| yarl | 1.22.0 | |
| zipp | 3.23.0 |
| Resource | Value |
|---|---|
| User CPU time | 120.352 msec |
| System CPU time | 0.000 msec |
| Total CPU time | 120.352 msec |
| Elapsed time | 147.773 msec |
| Context switches | 46 voluntary, 0 involuntary |
| Key | Value |
|---|---|
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_HOST | dev.services.daapllc.com |
| HTTP_REFERER | http://dev.services.daapllc.com/auth/login?next=http%3A%2F%2Fdev.services.daapllc.com%2F |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| QUERY_STRING | next=http%3A%2F%2Fdev.services.daapllc.com%2F |
| REMOTE_ADDR | 169.254.169.126 |
| REQUEST_METHOD | GET |
| SCRIPT_NAME | |
| SERVER_NAME | 0.0.0.0 |
| SERVER_PORT | 8000 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | gunicorn/20.0.4 |
| View Function | args | kwargs |
|---|---|---|
| app.core.views.login_view | [] | None |
| Variable | Value |
|---|---|
| 'GAESA' | 'CrYBMDA1ZWI2OTc0Y2UwMDJjMWI1ZGRmOGMyNTZkYTQ3OGY1M2FkMjYzMWEyZjg5MThlYWY2ZjhlM2EyY2NkZTBjYTdlNWZhNDg0M2IzYjRlNWQ3ZDYwMjU0ODU1YTNkMjA2Y2JkZTQ3NzY0M2Y2ZTU4N2YxYTQxMTkxN2JmZjU4ZTk1MzBkMjI5ZDU0NWJlOWJhZmI0ZDQxMGY0YzVmNDUwNWM0ZjRlMjc3ZWI4ZThkNzEzMjYyNTQQ4Y-028Iz' |
| Variable | Value |
|---|---|
| 'csrf_token' | 'b367033740e1fb637731c593b3f149413c390c05' |
| Variable | Value |
|---|---|
| 'next' | 'http://dev.services.daapllc.com/' |
| Variable | Value |
|---|
| Key | Value |
|---|---|
| ADMIN_EMAIL | 'DAAPSupport@spins1.onmicrosoft.com' |
| AIRFLOW_URL | 'https://932d37b8a44141929f147b2d620748d4-dot-us-central1.composer.googleusercontent.com' |
| APPLICATION_ROOT | '/' |
| BCRYPT_LOG_ROUNDS | 13 |
| BQ_DEFAULT_PROJECT | 'daapllc-etl-dev' |
| BUCKET_NAME | 'service-portal-disk-dev' |
| CACHE_DEFAULT_TIMEOUT | 3600 |
| CACHE_FILES_DIRECTORY | '/usr/src/volume_mount/cache_files' |
| CACHE_OPTIONS | {'decode_responses': True} |
| CACHE_REDIS_URL | 'redis://10.179.0.3:6379/1' |
| CACHE_TYPE | 'flask_caching.backends.rediscache.RedisCache' |
| CELERY_SETTINGS | {'broker_url': 'redis://10.179.0.3:6379/0', 'result_backend': 'redis://10.179.0.3:6379/0', 'broker_transport_options': {'visibility_timeout': 86400}, 'worker_cancel_long_running_tasks_on_connection_loss': True, 'worker_hijack_root_logger': False, 'enable_utc': True, 'timezone': 'UTC', 'task_track_started': True, 'task_create_missing_queues': True, 'task_queues': (<unbound Queue reporting -> <unbound Exchange ''(direct)> -> report.#>, <unbound Queue secretary -> <unbound Exchange ''(direct)> -> secretary.#>, <unbound Queue maintenance -> <unbound Exchange ''(direct)> -> cleanup.#>), 'task_routes': {'app.api.extract.tasks.run_extract_job': {'queue': 'secretary', 'routing_key': 'secretary.run_extract_job'}, 'app.api.extract_table.tasks.create_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_table_cache'}, 'app.api.extract_table.tasks.export_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.export_extract_table_cache'}, 'app.api.extract_table.tasks.update_geography_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geography_cache'}, 'app.api.extract_table.tasks.archive_cache_files': {'queue': 'secretary', 'routing_key': 'secretary.archive_cache_files'}, 'app.core.tasks.send_account_activation': {'queue': 'secretary', 'routing_key': 'secretary.send_account_activation'}, 'app.core.tasks.send_password_reset': {'queue': 'secretary', 'routing_key': 'secretary.send_password_reset'}, 'app.core.tasks.send_external_account_assignment': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_assignment'}, 'app.core.tasks.send_external_account_updated': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_updated'}, 'app.clients.tasks.create_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_cache'}, 'app.clients.tasks.update_geo_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geo_cache'}, 'app.clients.tasks.delete_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.delete_extract_cache'}, 'app.clients.tasks.run_extract': {'queue': 'reporting', 'routing_key': 'extract.run'}, 'app.reporting.tasks.run_report': {'queue': 'reporting', 'routing_key': 'report.run'}, 'app.reporting.tasks.run_dag': {'queue': 'reporting', 'routing_key': 'dag.run'}, 'app.reporting.tasks.archive_google_storage': {'queue': 'reporting', 'routing_key': 'report.prepare_google_storage'}, 'app.reporting.tasks.truncate_google_bigquery': {'queue': 'reporting', 'routing_key': 'report.prepare_google_bigquery'}, 'app.reporting.tasks.send_batch_summary': {'queue': 'secretary', 'routing_key': 'secretary.send_report_summary'}, 'app.reporting.tasks.enqueue_due_jobs': {'queue': 'secretary', 'routing_key': 'secretary.enqueue_due_jobs'}, 'app.reporting.tasks.zip_folder': {'queue': 'secretary', 'routing_key': 'secretary.zip_folder'}, 'app.reporting.tasks.archive_logs': {'queue': 'maintenance', 'routing_key': 'cleanup.logs'}, 'app.reporting.tasks.archive_downloads': {'queue': 'maintenance', 'routing_key': 'cleanup.downloads'}, 'app.reporting.tasks.email_inbox_purge': {'queue': 'maintenance', 'routing_key': 'cleanup.nightly_email_purge'}}, 'beat_schedule': {'enqueue-due-jobs': {'task': 'app.reporting.tasks.enqueue_due_jobs', 'schedule': <crontab: */5 * * * * (m/h/dM/MY/d)>}, 'nightly-email-purge': {'task': 'app.reporting.tasks.email_inbox_purge', 'schedule': <crontab: 15 23 * * * (m/h/dM/MY/d)>}, 'nightly-reporting-workers-restart': {'task': 'app.reporting.tasks.restart_reporting_workers', 'schedule': <crontab: 30 23 * * * (m/h/dM/MY/d)>}, 'nightly-log-maintenance': {'task': 'app.reporting.tasks.archive_logs', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}, 'nightly-download-maintenance': {'task': 'app.reporting.tasks.archive_downloads', 'schedule': <crontab: 15 0 * * * (m/h/dM/MY/d)>}, 'nightly-cache-maintenance': {'task': 'app.api.extract_table.tasks.archive_cache_files', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}}} |
| DEBUG | True |
| DEBUG_TB_ENABLED | True |
| DEBUG_TB_HOSTS | () |
| DEBUG_TB_INTERCEPT_REDIRECTS | False |
| DEBUG_TB_PANELS | ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel') |
| DEBUG_TB_TEMPLATE_EDITOR_ENABLED | True |
| DOWNLOADS_DIRECTORY | '/usr/src/volume_mount/report_downloads' |
| ENV | 'development' |
| EXPLAIN_TEMPLATE_LOADING | False |
| FLASK_ENV | 'development' |
| GITHUB_TOKEN | None |
| JSON_AS_ASCII | True |
| JSON_SORT_KEYS | True |
| JSONIFY_MIMETYPE | 'application/json' |
| JSONIFY_PRETTYPRINT_REGULAR | False |
| LOGS_DIRECTORY | '/usr/src/volume_mount/report_logs' |
| MAIL_DEFAULT_SENDER | 'data@daapllc.com' |
| MAIL_PASSWORD | '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' |
| MAIL_PORT | 587 |
| MAIL_SERVER | 'smtp.sendgrid.net' |
| MAIL_USE_SSL | 0 |
| MAIL_USE_TLS | 1 |
| MAIL_USERNAME | 'apikey' |
| MAX_CONTENT_LENGTH | None |
| MAX_COOKIE_SIZE | 4093 |
| MAX_QUERY_SIZE_GB | 150 |
| PERMANENT_SESSION_LIFETIME | datetime.timedelta(days=31) |
| PREFERRED_URL_SCHEME | 'http' |
| PRESERVE_CONTEXT_ON_EXCEPTION | None |
| PROPAGATE_EXCEPTIONS | None |
| READTHEDOCS_URL | '/docs' |
| SCRAPEHERO_API_BASE_URL | 'https://get.scrapehero.com/rpa/spins/' |
| SCRAPEHERO_API_KEHE_REQUEST_HEADERS | {'Content-Type': 'application/json', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'} |
| SCRAPEHERO_API_KEY | 'IhvGo6N1uQnf0IWVH6QwAD1r64CPiIbs' |
| SCRAPEHERO_API_REQUEST_HEADER | {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'} |
| SECRET_KEY | '=(^t3st/Ng^)=' |
| SECRET_SALT | '7h3Se9rEtz31sArEm4k1NGm37hir5ty' |
| SEND_FILE_MAX_AGE_DEFAULT | None |
| SERVER_NAME | 'dev.services.daapllc.com' |
| SESSION_COOKIE_DOMAIN | None |
| SESSION_COOKIE_HTTPONLY | True |
| SESSION_COOKIE_NAME | 'dev.services.daapllc.com' |
| SESSION_COOKIE_PATH | None |
| SESSION_COOKIE_SAMESITE | None |
| SESSION_COOKIE_SECURE | False |
| SESSION_REFRESH_EACH_REQUEST | True |
| SQLALCHEMY_BINDS | None |
| SQLALCHEMY_COMMIT_ON_TEARDOWN | False |
| SQLALCHEMY_DATABASE_URI | 'postgresql+psycopg2://daapllc:tmzxjGy0Z846k65cxhlFVmWQ@/r2d2?host=/cloudsql/daapllc-etl-dev:us-central1:service-portal-db' |
| SQLALCHEMY_ECHO | False |
| SQLALCHEMY_ENGINE_OPTIONS | {} |
| SQLALCHEMY_MAX_OVERFLOW | None |
| SQLALCHEMY_NATIVE_UNICODE | None |
| SQLALCHEMY_POOL_RECYCLE | None |
| SQLALCHEMY_POOL_SIZE | None |
| SQLALCHEMY_POOL_TIMEOUT | None |
| SQLALCHEMY_RECORD_QUERIES | None |
| SQLALCHEMY_TRACK_MODIFICATIONS | False |
| SYSLOGS_DIRECTORY | '/usr/src/volume_mount/syslogs' |
| TEMPLATES_AUTO_RELOAD | None |
| TESTING | False |
| TRAP_BAD_REQUEST_ERRORS | None |
| TRAP_HTTP_EXCEPTIONS | False |
| USE_X_SENDFILE | False |
| WTF_CSRF_CHECK_DEFAULT | True |
| WTF_CSRF_ENABLED | True |
| WTF_CSRF_FIELD_NAME | 'csrf_token' |
| WTF_CSRF_HEADERS | ['X-CSRFToken', 'X-CSRF-Token'] |
| WTF_CSRF_METHODS | {'PUT', 'DELETE', 'PATCH', 'POST'} |
| WTF_CSRF_SSL_STRICT | True |
| WTF_CSRF_TIME_LIMIT | 3600 |
| Variable | Value |
|---|---|
| _gettext | <function gettext at 0x7fa3c84f84a0> |
| _ngettext | <function ngettext at 0x7fa3c84f8540> |
| admin_base_template | 'admin/base.html' |
| admin_view | <app.core.views.AuthView object at 0x7fa3a910e9d0> |
| config | <Config {'ENV': 'development', 'DEBUG': True, 'TESTING': False, 'PROPAGATE_EXCEPTIONS': None, 'PRESERVE_CONTEXT_ON_EXCEPTION': None, 'SECRET_KEY': '=(^t3st/Ng^)=', 'PERMANENT_SESSION_LIFETIME': datetime.timedelta(days=31), 'USE_X_SENDFILE': False, 'SERVER_NAME': 'dev.services.daapllc.com', 'APPLICATION_ROOT': '/', 'SESSION_COOKIE_NAME': 'dev.services.daapllc.com', 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_PATH': None, 'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_SECURE': False, 'SESSION_COOKIE_SAMESITE': None, 'SESSION_REFRESH_EACH_REQUEST': True, 'MAX_CONTENT_LENGTH': None, 'SEND_FILE_MAX_AGE_DEFAULT': None, 'TRAP_BAD_REQUEST_ERRORS': None, 'TRAP_HTTP_EXCEPTIONS': False, 'EXPLAIN_TEMPLATE_LOADING': False, 'PREFERRED_URL_SCHEME': 'http', 'JSON_AS_ASCII': True, 'JSON_SORT_KEYS': True, 'JSONIFY_PRETTYPRINT_REGULAR': False, 'JSONIFY_MIMETYPE': 'application/json', 'TEMPLATES_AUTO_RELOAD': None, 'MAX_COOKIE_SIZE': 4093, 'ADMIN_EMAIL': 'DAAPSupport@spins1.onmicrosoft.com', 'AIRFLOW_URL': 'https://932d37b8a44141929f147b2d620748d4-dot-us-central1.composer.googleusercontent.com', 'BCRYPT_LOG_ROUNDS': 13, 'BQ_DEFAULT_PROJECT': 'daapllc-etl-dev', 'BUCKET_NAME': 'service-portal-disk-dev', 'CACHE_DEFAULT_TIMEOUT': 3600, 'CACHE_FILES_DIRECTORY': '/usr/src/volume_mount/cache_files', 'CACHE_OPTIONS': {'decode_responses': True}, 'CACHE_REDIS_URL': 'redis://10.179.0.3:6379/1', 'CACHE_TYPE': 'flask_caching.backends.rediscache.RedisCache', 'CELERY_SETTINGS': {'broker_url': 'redis://10.179.0.3:6379/0', 'result_backend': 'redis://10.179.0.3:6379/0', 'broker_transport_options': {'visibility_timeout': 86400}, 'worker_cancel_long_running_tasks_on_connection_loss': True, 'worker_hijack_root_logger': False, 'enable_utc': True, 'timezone': 'UTC', 'task_track_started': True, 'task_create_missing_queues': True, 'task_queues': (<unbound Queue reporting -> <unbound Exchange ''(direct)> -> report.#>, <unbound Queue secretary -> <unbound Exchange ''(direct)> -> secretary.#>, <unbound Queue maintenance -> <unbound Exchange ''(direct)> -> cleanup.#>), 'task_routes': {'app.api.extract.tasks.run_extract_job': {'queue': 'secretary', 'routing_key': 'secretary.run_extract_job'}, 'app.api.extract_table.tasks.create_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_table_cache'}, 'app.api.extract_table.tasks.export_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.export_extract_table_cache'}, 'app.api.extract_table.tasks.update_geography_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geography_cache'}, 'app.api.extract_table.tasks.archive_cache_files': {'queue': 'secretary', 'routing_key': 'secretary.archive_cache_files'}, 'app.core.tasks.send_account_activation': {'queue': 'secretary', 'routing_key': 'secretary.send_account_activation'}, 'app.core.tasks.send_password_reset': {'queue': 'secretary', 'routing_key': 'secretary.send_password_reset'}, 'app.core.tasks.send_external_account_assignment': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_assignment'}, 'app.core.tasks.send_external_account_updated': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_updated'}, 'app.clients.tasks.create_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_cache'}, 'app.clients.tasks.update_geo_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geo_cache'}, 'app.clients.tasks.delete_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.delete_extract_cache'}, 'app.clients.tasks.run_extract': {'queue': 'reporting', 'routing_key': 'extract.run'}, 'app.reporting.tasks.run_report': {'queue': 'reporting', 'routing_key': 'report.run'}, 'app.reporting.tasks.run_dag': {'queue': 'reporting', 'routing_key': 'dag.run'}, 'app.reporting.tasks.archive_google_storage': {'queue': 'reporting', 'routing_key': 'report.prepare_google_storage'}, 'app.reporting.tasks.truncate_google_bigquery': {'queue': 'reporting', 'routing_key': 'report.prepare_google_bigquery'}, 'app.reporting.tasks.send_batch_summary': {'queue': 'secretary', 'routing_key': 'secretary.send_report_summary'}, 'app.reporting.tasks.enqueue_due_jobs': {'queue': 'secretary', 'routing_key': 'secretary.enqueue_due_jobs'}, 'app.reporting.tasks.zip_folder': {'queue': 'secretary', 'routing_key': 'secretary.zip_folder'}, 'app.reporting.tasks.archive_logs': {'queue': 'maintenance', 'routing_key': 'cleanup.logs'}, 'app.reporting.tasks.archive_downloads': {'queue': 'maintenance', 'routing_key': 'cleanup.downloads'}, 'app.reporting.tasks.email_inbox_purge': {'queue': 'maintenance', 'routing_key': 'cleanup.nightly_email_purge'}}, 'beat_schedule': {'enqueue-due-jobs': {'task': 'app.reporting.tasks.enqueue_due_jobs', 'schedule': <crontab: */5 * * * * (m/h/dM/MY/d)>}, 'nightly-email-purge': {'task': 'app.reporting.tasks.email_inbox_purge', 'schedule': <crontab: 15 23 * * * (m/h/dM/MY/d)>}, 'nightly-reporting-workers-restart': {'task': 'app.reporting.tasks.restart_reporting_workers', 'schedule': <crontab: 30 23 * * * (m/h/dM/MY/d)>}, 'nightly-log-maintenance': {'task': 'app.reporting.tasks.archive_logs', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}, 'nightly-download-maintenance': {'task': 'app.reporting.tasks.archive_downloads', 'schedule': <crontab: 15 0 * * * (m/h/dM/MY/d)>}, 'nightly-cache-maintenance': {'task': 'app.api.extract_table.tasks.archive_cache_files', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}}}, 'DEBUG_TB_INTERCEPT_REDIRECTS': False, 'DEBUG_TB_TEMPLATE_EDITOR_ENABLED': True, 'DOWNLOADS_DIRECTORY': '/usr/src/volume_mount/report_downloads', 'FLASK_ENV': 'development', 'GITHUB_TOKEN': None, 'LOGS_DIRECTORY': '/usr/src/volume_mount/report_logs', 'MAIL_DEFAULT_SENDER': 'data@daapllc.com', 'MAIL_PASSWORD': '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', 'MAIL_PORT': 587, 'MAIL_SERVER': 'smtp.sendgrid.net', 'MAIL_USERNAME': 'apikey', 'MAIL_USE_SSL': 0, 'MAIL_USE_TLS': 1, 'MAX_QUERY_SIZE_GB': 150, 'READTHEDOCS_URL': '/docs', 'SCRAPEHERO_API_BASE_URL': 'https://get.scrapehero.com/rpa/spins/', 'SCRAPEHERO_API_KEHE_REQUEST_HEADERS': {'Content-Type': 'application/json', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'}, 'SCRAPEHERO_API_KEY': 'IhvGo6N1uQnf0IWVH6QwAD1r64CPiIbs', 'SCRAPEHERO_API_REQUEST_HEADER': {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'}, 'SECRET_SALT': '7h3Se9rEtz31sArEm4k1NGm37hir5ty', 'SQLALCHEMY_DATABASE_URI': 'postgresql+psycopg2://daapllc:tmzxjGy0Z846k65cxhlFVmWQ@/r2d2?host=/cloudsql/daapllc-etl-dev:us-central1:service-portal-db', 'SQLALCHEMY_TRACK_MODIFICATIONS': False, 'SYSLOGS_DIRECTORY': '/usr/src/volume_mount/syslogs', 'DEBUG_TB_ENABLED': True, 'DEBUG_TB_HOSTS': (), 'DEBUG_TB_PANELS': ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel'), 'WTF_CSRF_ENABLED': True, 'WTF_CSRF_CHECK_DEFAULT': True, 'WTF_CSRF_METHODS': {'PUT', 'DELETE', 'PATCH', 'POST'}, 'WTF_CSRF_FIELD_NAME': 'csrf_token', 'WTF_CSRF_HEADERS': ['X-CSRFToken', 'X-CSRF-Token'], 'WTF_CSRF_TIME_LIMIT': 3600, 'WTF_CSRF_SSL_STRICT': True, 'SQLALCHEMY_BINDS': None, 'SQLALCHEMY_NATIVE_UNICODE': None, 'SQLALCHEMY_ECHO': False, 'SQLALCHEMY_RECORD_QUERIES': None, 'SQLALCHEMY_POOL_SIZE': None, 'SQLALCHEMY_POOL_TIMEOUT': None, 'SQLALCHEMY_POOL_RECYCLE': None, 'SQLALCHEMY_MAX_OVERFLOW': None, 'SQLALCHEMY_COMMIT_ON_TEARDOWN': False, 'SQLALCHEMY_ENGINE_OPTIONS': {}}> |
| csrf_token | <function generate_csrf at 0x7fa3c6fb7420> |
| current_user | <User Anon> |
| form | <app.core.forms.LoginForm object at 0x7fa3a8faa050> |
| g | <flask.g of 'app'> |
| get_url | <bound method BaseView.get_url of <app.core.views.AuthView object at 0x7fa3a910e9d0>> |
| h | <module 'flask_admin.helpers' from '/usr/local/lib/python3.11/site-packages/flask_admin/helpers.py'> |
| moment | <class 'flask_moment.moment'> |
| request | <Request 'http://dev.services.daapllc.com/auth/login?next=http%3A%2F%2Fdev.services.daapllc.com%2F' [GET]> |
| session | <SecureCookieSession {'csrf_token': 'b367033740e1fb637731c593b3f149413c390c05'}> |
No messages logged.
| URL route | Endpoint name | HTTP methods | Is alias | Redirect to |
|---|---|---|---|---|
| / | core.index | GET, HEAD, OPTIONS | False | None |
| /api | core.api_index | GET, HEAD, OPTIONS | False | None |
| /api/v2/clients | api.clients.read_clients | GET, HEAD, OPTIONS | False | None |
| /api/v2/data-sources | api.data_sources.read_data_sources | GET, HEAD, OPTIONS | False | None |
| /api/v2/data-sources/<int:id> | api.data_sources.update_data_source | OPTIONS, PUT | False | None |
| /api/v2/extract-tables | api.extract_tables.lookup_extract_table | GET, HEAD, OPTIONS | False | None |
| /api/v2/extract-tables/<int:id> | api.extract_tables.read_extract_table | GET, HEAD, OPTIONS | False | None |
| /api/v2/extract-tables/<int:id> | api.extract_tables.update_cache | OPTIONS, POST | False | None |
| /api/v2/extract-tables/<int:id>/hierarchy/ | api.extract_tables.read_hierarchy_node | GET, HEAD, OPTIONS | False | None |
| /api/v2/extract-tables/<int:id>/hierarchy/<string:prefix> | api.extract_tables.read_hierarchy_node | GET, HEAD, OPTIONS | False | None |
| /api/v2/extract-tables/<int:id>/search/<string:field> | api.extract_tables.read_search_results | GET, HEAD, OPTIONS | False | None |
| /api/v2/extract-tables/<int:id>/status | api.extract_tables.read_cache_status | GET, HEAD, OPTIONS | False | None |
| /api/v2/extracts | api.extracts.create_extract | OPTIONS, POST | False | None |
| /api/v2/extracts/<int:id> | api.extracts.read_extract | GET, HEAD, OPTIONS | False | None |
| /api/v2/extracts/<int:id> | api.extracts.update_extract | OPTIONS, PUT | False | None |
| /api/v2/extracts/<int:id> | api.extracts.update_extract_partial | OPTIONS, PATCH | False | None |
| /api/v2/extracts/<int:id> | api.extracts.delete_extract | DELETE, OPTIONS | False | None |
| /api/v2/extracts/<int:id> | api.extracts.run_extract | OPTIONS, POST | False | None |
| /api/v2/extracts/<int:id>/clone | api.extracts.clone_extract | OPTIONS, POST | False | None |
| /api/v2/extracts/<int:id>/folder/ | api.extracts.move_extract_to_folder | OPTIONS, PUT | False | None |
| /api/v2/extracts/<int:id>/folder/<int:folder_id> | api.extracts.move_extract_to_folder | OPTIONS, PUT | False | None |
| /api/v2/extracts/<int:id>/row-count | api.extracts.read_row_count | GET, HEAD, OPTIONS | False | None |
| /api/v2/folders | api.folders.read_root_assets | GET, HEAD, OPTIONS | False | None |
| /api/v2/folders | api.folders.create_folder | OPTIONS, POST | False | None |
| /api/v2/folders/<int:folder_id>/folder/ | api.folders.move_folder | OPTIONS, PUT | False | None |
| /api/v2/folders/<int:folder_id>/folder/<int:parent_id> | api.folders.move_folder | OPTIONS, PUT | False | None |
| /api/v2/folders/<int:id> | api.folders.create_folder | OPTIONS, POST | False | None |
| /api/v2/folders/<int:id> | api.folders.read_folder_assets | GET, HEAD, OPTIONS | False | None |
| /api/v2/folders/<int:id> | api.folders.rename_folder | OPTIONS, PATCH | False | None |
| /api/v2/folders/<int:id> | api.folders.delete_folder | DELETE, OPTIONS | False | None |
| /auth/ | auth.login_view | GET, HEAD, OPTIONS | False | None |
| /auth/external-account-update/<account_data> | auth.external_account_update_view | GET, HEAD, OPTIONS, POST | False | None |
| /auth/login | auth.login_view | GET, HEAD, OPTIONS, POST | False | None |
| /auth/logout | auth.logout_view | GET, HEAD, OPTIONS | False | None |
| /auth/password-reset-request | auth.password_reset_request_view | GET, HEAD, OPTIONS, POST | False | None |
| /auth/password-reset/<token> | auth.password_reset_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/ | clients_portal.index | GET, HEAD, OPTIONS | False | None |
| /clients/client_geo_groups/ | client_geo_groups.index_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/client_geo_groups/_api/geo_group | client_geo_groups.ajax_view | GET, HEAD, OPTIONS | False | None |
| /clients/client_geo_groups/new | client_geo_groups.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/client_geo_groups/switch-clients | client_geo_groups.switch_clients | OPTIONS, POST | False | None |
| /clients/client_geos/ | client_geos.index_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/client_geos/_api/client_geos | client_geos.ajax_read_view | GET, HEAD, OPTIONS | False | None |
| /clients/client_geos/_api/client_geos | client_geos.ajax_update_view | OPTIONS, POST | False | None |
| /clients/client_geos/switch-clients | client_geos.switch_clients | OPTIONS, POST | False | None |
| /clients/clients/ | clients.index_view | GET, HEAD, OPTIONS | False | None |
| /clients/clients/action/ | clients.action_view | OPTIONS, POST | False | None |
| /clients/clients/ajax/lookup/ | clients.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /clients/clients/ajax/update/ | clients.ajax_update | OPTIONS, POST | False | None |
| /clients/clients/delete/ | clients.delete_view | OPTIONS, POST | False | None |
| /clients/clients/details/ | clients.details_view | GET, HEAD, OPTIONS | False | None |
| /clients/clients/edit/ | clients.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/clients/export/<export_type>/ | clients.export | GET, HEAD, OPTIONS | False | None |
| /clients/clients/new/ | clients.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/data_sources/ | data_sources.index_view | GET, HEAD, OPTIONS | False | None |
| /clients/data_sources/action/ | data_sources.action_view | OPTIONS, POST | False | None |
| /clients/data_sources/ajax/lookup/ | data_sources.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /clients/data_sources/ajax/update/ | data_sources.ajax_update | OPTIONS, POST | False | None |
| /clients/data_sources/delete/ | data_sources.delete_view | OPTIONS, POST | False | None |
| /clients/data_sources/details/ | data_sources.details_view | GET, HEAD, OPTIONS | False | None |
| /clients/data_sources/edit/ | data_sources.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/data_sources/export/<export_type>/ | data_sources.export | GET, HEAD, OPTIONS | False | None |
| /clients/data_sources/new/ | data_sources.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/distributors/ | distributors.index_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/distributors/_api/distributor_accounts | distributors.ajax_read_view | GET, HEAD, OPTIONS | False | None |
| /clients/distributors/_api/distributor_accounts | distributors.ajax_update_view | OPTIONS, POST | False | None |
| /clients/distributors/switch-clients | distributors.switch_clients | OPTIONS, POST | False | None |
| /clients/extract_jobs/ | extract_jobs.index_view | GET, HEAD, OPTIONS | False | None |
| /clients/extract_jobs/action/ | extract_jobs.action_view | OPTIONS, POST | False | None |
| /clients/extract_jobs/ajax/lookup/ | extract_jobs.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /clients/extract_jobs/ajax/update/ | extract_jobs.ajax_update | OPTIONS, POST | False | None |
| /clients/extract_jobs/delete/ | extract_jobs.delete_view | OPTIONS, POST | False | None |
| /clients/extract_jobs/details/ | extract_jobs.details_view | GET, HEAD, OPTIONS | False | None |
| /clients/extract_jobs/edit/ | extract_jobs.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/extract_jobs/export/<export_type>/ | extract_jobs.export | GET, HEAD, OPTIONS | False | None |
| /clients/extract_jobs/new/ | extract_jobs.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/extract_jobs/regenerate-link/<filename> | extract_jobs.regenerate_link | GET, HEAD, OPTIONS | False | None |
| /clients/extracts/ | extracts.index | GET, HEAD, OPTIONS | False | None |
| /clients/extracts/switch-clients | extracts.switch_clients | OPTIONS, POST | False | None |
| /clients/master_geos/ | master_geos.index_view | GET, HEAD, OPTIONS | False | None |
| /clients/master_geos/_api/master_geos | master_geos.ajax_read_view | GET, HEAD, OPTIONS | False | None |
| /clients/master_geos/_api/master_geos | master_geos.ajax_update_view | OPTIONS, POST | False | None |
| /clients/query_runs/ | query_runs.index_view | GET, HEAD, OPTIONS | False | None |
| /clients/query_runs/action/ | query_runs.action_view | OPTIONS, POST | False | None |
| /clients/query_runs/ajax/lookup/ | query_runs.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /clients/query_runs/ajax/update/ | query_runs.ajax_update | OPTIONS, POST | False | None |
| /clients/query_runs/delete/ | query_runs.delete_view | OPTIONS, POST | False | None |
| /clients/query_runs/details/ | query_runs.details_view | GET, HEAD, OPTIONS | False | None |
| /clients/query_runs/edit/ | query_runs.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/query_runs/export/<export_type>/ | query_runs.export | GET, HEAD, OPTIONS | False | None |
| /clients/query_runs/new/ | query_runs.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/spins_geos/ | spins_geos.index_view | GET, HEAD, OPTIONS, POST | False | None |
| /clients/spins_geos/_api/spins_geos | spins_geos.ajax_read_view | GET, HEAD, OPTIONS | False | None |
| /clients/spins_geos/_api/spins_geos | spins_geos.ajax_update_view | OPTIONS, POST | False | None |
| /clients/static/<path:filename> | clients_portal.static | GET, HEAD, OPTIONS | False | None |
| /docs/ | core.docs_page | GET, HEAD, OPTIONS | False | None |
| /docs/<path:path> | core.send_report | GET, HEAD, OPTIONS | False | None |
| /reporting/ | reporting_portal.index | GET, HEAD, OPTIONS | False | None |
| /reporting/_api/calendar | reporting_portal.list_batches | GET, HEAD, OPTIONS | False | None |
| /reporting/accounts/ | accounts.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/accounts/action/ | accounts.action_view | OPTIONS, POST | False | None |
| /reporting/accounts/ajax/lookup/ | accounts.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /reporting/accounts/ajax/update/ | accounts.ajax_update | OPTIONS, POST | False | None |
| /reporting/accounts/delete/ | accounts.delete_view | OPTIONS, POST | False | None |
| /reporting/accounts/details/ | accounts.details_view | GET, HEAD, OPTIONS | False | None |
| /reporting/accounts/edit/ | accounts.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/accounts/export/<export_type>/ | accounts.export | GET, HEAD, OPTIONS | False | None |
| /reporting/accounts/new/ | accounts.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/accounts/switch-reporters | accounts.switch_reporters | OPTIONS, POST | False | None |
| /reporting/downloads/ | downloads.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/_api/check-zip/<task_id> | downloads.check_zip | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/_api/create-zip/<job_id> | downloads.create_zip | OPTIONS, POST | False | None |
| /reporting/downloads/action/ | downloads.action_view | OPTIONS, POST | False | None |
| /reporting/downloads/b/<path:path> | downloads.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/delete/ | downloads.delete | OPTIONS, POST | False | None |
| /reporting/downloads/download/<path:path> | downloads.download | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/edit/ | downloads.edit | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/downloads/mkdir/ | downloads.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/downloads/mkdir/<path:path> | downloads.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/downloads/old_b/<path:path> | downloads.index | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/old_index | downloads.index | GET, HEAD, OPTIONS | False | None |
| /reporting/downloads/rename/ | downloads.rename | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/downloads/upload/ | downloads.upload | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/downloads/upload/<path:path> | downloads.upload | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/jobs/ | jobs.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/jobs/action/ | jobs.action_view | OPTIONS, POST | False | None |
| /reporting/jobs/ajax/lookup/ | jobs.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /reporting/jobs/ajax/update/ | jobs.ajax_update | OPTIONS, POST | False | None |
| /reporting/jobs/cancel | jobs.cancel_view | OPTIONS, POST | False | None |
| /reporting/jobs/cancel-group | jobs.cancel_group_view | OPTIONS, POST | False | None |
| /reporting/jobs/delete/ | jobs.delete_view | OPTIONS, POST | False | None |
| /reporting/jobs/details/ | jobs.details_view | GET, HEAD, OPTIONS | False | None |
| /reporting/jobs/download-log | jobs.download_log_view | GET, HEAD, OPTIONS | False | None |
| /reporting/jobs/edit/ | jobs.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/jobs/export/<export_type>/ | jobs.export | GET, HEAD, OPTIONS | False | None |
| /reporting/jobs/new/ | jobs.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/jobs/switch-reporters | jobs.switch_reporters | OPTIONS, POST | False | None |
| /reporting/jobs/view-downloads | jobs.goto_downloads_view | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/ | logs.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/action/ | logs.action_view | OPTIONS, POST | False | None |
| /reporting/logs/b/<path:path> | logs.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/delete/ | logs.delete | OPTIONS, POST | False | None |
| /reporting/logs/download/<path:path> | logs.download | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/edit/ | logs.edit | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/logs/mkdir/ | logs.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/logs/mkdir/<path:path> | logs.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/logs/old_b/<path:path> | logs.index | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/old_index | logs.index | GET, HEAD, OPTIONS | False | None |
| /reporting/logs/rename/ | logs.rename | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/logs/upload/ | logs.upload | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/logs/upload/<path:path> | logs.upload | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/reporters/ | reporters.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/reporters/action/ | reporters.action_view | OPTIONS, POST | False | None |
| /reporting/reporters/ajax/lookup/ | reporters.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /reporting/reporters/ajax/update/ | reporters.ajax_update | OPTIONS, POST | False | None |
| /reporting/reporters/delete/ | reporters.delete_view | OPTIONS, POST | False | None |
| /reporting/reporters/details/ | reporters.details_view | GET, HEAD, OPTIONS | False | None |
| /reporting/reporters/edit/ | reporters.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/reporters/export/<export_type>/ | reporters.export | GET, HEAD, OPTIONS | False | None |
| /reporting/reporters/new/ | reporters.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/reports/ | reports.index_view | GET, HEAD, OPTIONS | False | None |
| /reporting/reports/action/ | reports.action_view | OPTIONS, POST | False | None |
| /reporting/reports/ajax/lookup/ | reports.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /reporting/reports/ajax/update/ | reports.ajax_update | OPTIONS, POST | False | None |
| /reporting/reports/delete/ | reports.delete_view | OPTIONS, POST | False | None |
| /reporting/reports/details/ | reports.details_view | GET, HEAD, OPTIONS | False | None |
| /reporting/reports/edit/ | reports.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/reports/export/<export_type>/ | reports.export | GET, HEAD, OPTIONS | False | None |
| /reporting/reports/new/ | reports.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /reporting/reports/run | reports.run_view | OPTIONS, POST | False | None |
| /reporting/reports/switch-reporters | reports.switch_reporters | OPTIONS, POST | False | None |
| /reporting/static/<path:filename> | reporting_portal.static | GET, HEAD, OPTIONS | False | None |
| /static/<path:filename> | static | GET, HEAD, OPTIONS | False | None |
| /static/admin/<path:filename> | core.static | GET, HEAD, OPTIONS | False | None |
| /syslogs/ | syslogs.index_view | GET, HEAD, OPTIONS | False | None |
| /syslogs/action/ | syslogs.action_view | OPTIONS, POST | False | None |
| /syslogs/b/<path:path> | syslogs.index_view | GET, HEAD, OPTIONS | False | None |
| /syslogs/delete/ | syslogs.delete | OPTIONS, POST | False | None |
| /syslogs/download/<path:path> | syslogs.download | GET, HEAD, OPTIONS | False | None |
| /syslogs/edit/ | syslogs.edit | GET, HEAD, OPTIONS, POST | False | None |
| /syslogs/mkdir/ | syslogs.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /syslogs/mkdir/<path:path> | syslogs.mkdir | GET, HEAD, OPTIONS, POST | False | None |
| /syslogs/old_b/<path:path> | syslogs.index | GET, HEAD, OPTIONS | False | None |
| /syslogs/old_index | syslogs.index | GET, HEAD, OPTIONS | False | None |
| /syslogs/rename/ | syslogs.rename | GET, HEAD, OPTIONS, POST | False | None |
| /syslogs/upload/ | syslogs.upload | GET, HEAD, OPTIONS, POST | False | None |
| /syslogs/upload/<path:path> | syslogs.upload | GET, HEAD, OPTIONS, POST | False | None |
| /user/ | user.index_view | GET, HEAD, OPTIONS | False | None |
| /user/action/ | user.action_view | OPTIONS, POST | False | None |
| /user/ajax/lookup/ | user.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /user/ajax/update/ | user.ajax_update | OPTIONS, POST | False | None |
| /user/delete/ | user.delete_view | OPTIONS, POST | False | None |
| /user/details/ | user.details_view | GET, HEAD, OPTIONS | False | None |
| /user/export/<export_type>/ | user.export | GET, HEAD, OPTIONS | False | None |
| /user/new/ | user.create_view | GET, HEAD, OPTIONS, POST | False | None |
| /user/settings | user.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /users/ | users.index_view | GET, HEAD, OPTIONS | False | None |
| /users/action/ | users.action_view | OPTIONS, POST | False | None |
| /users/ajax/lookup/ | users.ajax_lookup | GET, HEAD, OPTIONS | False | None |
| /users/ajax/update/ | users.ajax_update | OPTIONS, POST | False | None |
| /users/delete/ | users.delete_view | OPTIONS, POST | False | None |
| /users/details/ | users.details_view | GET, HEAD, OPTIONS | False | None |
| /users/edit/ | users.edit_view | GET, HEAD, OPTIONS, POST | False | None |
| /users/export/<export_type>/ | users.export | GET, HEAD, OPTIONS | False | None |
| /users/new/ | users.create_view | GET, HEAD, OPTIONS, POST | False | None |
| Key | Value |
|---|---|
| _admin_render_ctx | <Context {'range': <class 'range'>, 'dict': <class 'dict'>, 'lipsum': <function generate_lorem_ipsum at 0x7fa3c8ca51c0>, 'cycler': <class 'jinja2.utils.Cycler'>, 'joiner': <class 'jinja2.utils.Joiner'>, 'namespace': <class 'jinja2.utils.Namespace'>, 'url_for': <function url_for at 0x7fa3c86571a0>, 'get_flashed_messages': <function get_flashed_messages at 0x7fa3c8670860>, 'config': <Config {'ENV': 'development', 'DEBUG': True, 'TESTING': False, 'PROPAGATE_EXCEPTIONS': None, 'PRESERVE_CONTEXT_ON_EXCEPTION': None, 'SECRET_KEY': '=(^t3st/Ng^)=', 'PERMANENT_SESSION_LIFETIME': datetime.timedelta(days=31), 'USE_X_SENDFILE': False, 'SERVER_NAME': 'dev.services.daapllc.com', 'APPLICATION_ROOT': '/', 'SESSION_COOKIE_NAME': 'dev.services.daapllc.com', 'SESSION_COOKIE_DOMAIN': None, 'SESSION_COOKIE_PATH': None, 'SESSION_COOKIE_HTTPONLY': True, 'SESSION_COOKIE_SECURE': False, 'SESSION_COOKIE_SAMESITE': None, 'SESSION_REFRESH_EACH_REQUEST': True, 'MAX_CONTENT_LENGTH': None, 'SEND_FILE_MAX_AGE_DEFAULT': None, 'TRAP_BAD_REQUEST_ERRORS': None, 'TRAP_HTTP_EXCEPTIONS': False, 'EXPLAIN_TEMPLATE_LOADING': False, 'PREFERRED_URL_SCHEME': 'http', 'JSON_AS_ASCII': True, 'JSON_SORT_KEYS': True, 'JSONIFY_PRETTYPRINT_REGULAR': False, 'JSONIFY_MIMETYPE': 'application/json', 'TEMPLATES_AUTO_RELOAD': None, 'MAX_COOKIE_SIZE': 4093, 'ADMIN_EMAIL': 'DAAPSupport@spins1.onmicrosoft.com', 'AIRFLOW_URL': 'https://932d37b8a44141929f147b2d620748d4-dot-us-central1.composer.googleusercontent.com', 'BCRYPT_LOG_ROUNDS': 13, 'BQ_DEFAULT_PROJECT': 'daapllc-etl-dev', 'BUCKET_NAME': 'service-portal-disk-dev', 'CACHE_DEFAULT_TIMEOUT': 3600, 'CACHE_FILES_DIRECTORY': '/usr/src/volume_mount/cache_files', 'CACHE_OPTIONS': {'decode_responses': True}, 'CACHE_REDIS_URL': 'redis://10.179.0.3:6379/1', 'CACHE_TYPE': 'flask_caching.backends.rediscache.RedisCache', 'CELERY_SETTINGS': {'broker_url': 'redis://10.179.0.3:6379/0', 'result_backend': 'redis://10.179.0.3:6379/0', 'broker_transport_options': {'visibility_timeout': 86400}, 'worker_cancel_long_running_tasks_on_connection_loss': True, 'worker_hijack_root_logger': False, 'enable_utc': True, 'timezone': 'UTC', 'task_track_started': True, 'task_create_missing_queues': True, 'task_queues': (<unbound Queue reporting -> <unbound Exchange ''(direct)> -> report.#>, <unbound Queue secretary -> <unbound Exchange ''(direct)> -> secretary.#>, <unbound Queue maintenance -> <unbound Exchange ''(direct)> -> cleanup.#>), 'task_routes': {'app.api.extract.tasks.run_extract_job': {'queue': 'secretary', 'routing_key': 'secretary.run_extract_job'}, 'app.api.extract_table.tasks.create_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_table_cache'}, 'app.api.extract_table.tasks.export_extract_table_cache': {'queue': 'secretary', 'routing_key': 'secretary.export_extract_table_cache'}, 'app.api.extract_table.tasks.update_geography_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geography_cache'}, 'app.api.extract_table.tasks.archive_cache_files': {'queue': 'secretary', 'routing_key': 'secretary.archive_cache_files'}, 'app.core.tasks.send_account_activation': {'queue': 'secretary', 'routing_key': 'secretary.send_account_activation'}, 'app.core.tasks.send_password_reset': {'queue': 'secretary', 'routing_key': 'secretary.send_password_reset'}, 'app.core.tasks.send_external_account_assignment': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_assignment'}, 'app.core.tasks.send_external_account_updated': {'queue': 'secretary', 'routing_key': 'secretary.send_external_account_updated'}, 'app.clients.tasks.create_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.create_extract_cache'}, 'app.clients.tasks.update_geo_cache': {'queue': 'secretary', 'routing_key': 'secretary.update_geo_cache'}, 'app.clients.tasks.delete_extract_cache': {'queue': 'secretary', 'routing_key': 'secretary.delete_extract_cache'}, 'app.clients.tasks.run_extract': {'queue': 'reporting', 'routing_key': 'extract.run'}, 'app.reporting.tasks.run_report': {'queue': 'reporting', 'routing_key': 'report.run'}, 'app.reporting.tasks.run_dag': {'queue': 'reporting', 'routing_key': 'dag.run'}, 'app.reporting.tasks.archive_google_storage': {'queue': 'reporting', 'routing_key': 'report.prepare_google_storage'}, 'app.reporting.tasks.truncate_google_bigquery': {'queue': 'reporting', 'routing_key': 'report.prepare_google_bigquery'}, 'app.reporting.tasks.send_batch_summary': {'queue': 'secretary', 'routing_key': 'secretary.send_report_summary'}, 'app.reporting.tasks.enqueue_due_jobs': {'queue': 'secretary', 'routing_key': 'secretary.enqueue_due_jobs'}, 'app.reporting.tasks.zip_folder': {'queue': 'secretary', 'routing_key': 'secretary.zip_folder'}, 'app.reporting.tasks.archive_logs': {'queue': 'maintenance', 'routing_key': 'cleanup.logs'}, 'app.reporting.tasks.archive_downloads': {'queue': 'maintenance', 'routing_key': 'cleanup.downloads'}, 'app.reporting.tasks.email_inbox_purge': {'queue': 'maintenance', 'routing_key': 'cleanup.nightly_email_purge'}}, 'beat_schedule': {'enqueue-due-jobs': {'task': 'app.reporting.tasks.enqueue_due_jobs', 'schedule': <crontab: */5 * * * * (m/h/dM/MY/d)>}, 'nightly-email-purge': {'task': 'app.reporting.tasks.email_inbox_purge', 'schedule': <crontab: 15 23 * * * (m/h/dM/MY/d)>}, 'nightly-reporting-workers-restart': {'task': 'app.reporting.tasks.restart_reporting_workers', 'schedule': <crontab: 30 23 * * * (m/h/dM/MY/d)>}, 'nightly-log-maintenance': {'task': 'app.reporting.tasks.archive_logs', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}, 'nightly-download-maintenance': {'task': 'app.reporting.tasks.archive_downloads', 'schedule': <crontab: 15 0 * * * (m/h/dM/MY/d)>}, 'nightly-cache-maintenance': {'task': 'app.api.extract_table.tasks.archive_cache_files', 'schedule': <crontab: 5 0 * * * (m/h/dM/MY/d)>}}}, 'DEBUG_TB_INTERCEPT_REDIRECTS': False, 'DEBUG_TB_TEMPLATE_EDITOR_ENABLED': True, 'DOWNLOADS_DIRECTORY': '/usr/src/volume_mount/report_downloads', 'FLASK_ENV': 'development', 'GITHUB_TOKEN': None, 'LOGS_DIRECTORY': '/usr/src/volume_mount/report_logs', 'MAIL_DEFAULT_SENDER': 'data@daapllc.com', 'MAIL_PASSWORD': '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', 'MAIL_PORT': 587, 'MAIL_SERVER': 'smtp.sendgrid.net', 'MAIL_USERNAME': 'apikey', 'MAIL_USE_SSL': 0, 'MAIL_USE_TLS': 1, 'MAX_QUERY_SIZE_GB': 150, 'READTHEDOCS_URL': '/docs', 'SCRAPEHERO_API_BASE_URL': 'https://get.scrapehero.com/rpa/spins/', 'SCRAPEHERO_API_KEHE_REQUEST_HEADERS': {'Content-Type': 'application/json', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'}, 'SCRAPEHERO_API_KEY': 'IhvGo6N1uQnf0IWVH6QwAD1r64CPiIbs', 'SCRAPEHERO_API_REQUEST_HEADER': {'Content-Type': 'application/x-www-form-urlencoded', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*'}, 'SECRET_SALT': '7h3Se9rEtz31sArEm4k1NGm37hir5ty', 'SQLALCHEMY_DATABASE_URI': 'postgresql+psycopg2://daapllc:tmzxjGy0Z846k65cxhlFVmWQ@/r2d2?host=/cloudsql/daapllc-etl-dev:us-central1:service-portal-db', 'SQLALCHEMY_TRACK_MODIFICATIONS': False, 'SYSLOGS_DIRECTORY': '/usr/src/volume_mount/syslogs', 'DEBUG_TB_ENABLED': True, 'DEBUG_TB_HOSTS': (), 'DEBUG_TB_PANELS': ('flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.config_vars.ConfigVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.route_list.RouteListDebugPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar.panels.g.GDebugPanel'), 'WTF_CSRF_ENABLED': True, 'WTF_CSRF_CHECK_DEFAULT': True, 'WTF_CSRF_METHODS': {'PUT', 'DELETE', 'PATCH', 'POST'}, 'WTF_CSRF_FIELD_NAME': 'csrf_token', 'WTF_CSRF_HEADERS': ['X-CSRFToken', 'X-CSRF-Token'], 'WTF_CSRF_TIME_LIMIT': 3600, 'WTF_CSRF_SSL_STRICT': True, 'SQLALCHEMY_BINDS': None, 'SQLALCHEMY_NATIVE_UNICODE': None, 'SQLALCHEMY_ECHO': False, 'SQLALCHEMY_RECORD_QUERIES': None, 'SQLALCHEMY_POOL_SIZE': None, 'SQLALCHEMY_POOL_TIMEOUT': None, 'SQLALCHEMY_POOL_RECYCLE': None, 'SQLALCHEMY_MAX_OVERFLOW': None, 'SQLALCHEMY_COMMIT_ON_TEARDOWN': False, 'SQLALCHEMY_ENGINE_OPTIONS': {}}>, 'request': <Request 'http://dev.services.daapllc.com/auth/login?next=http%3A%2F%2Fdev.services.daapllc.com%2F' [GET]>, 'session': <SecureCookieSession {'csrf_token': 'b367033740e1fb637731c593b3f149413c390c05'}>, 'g': <flask.g of 'app'>, 'airflow_url': 'https://932d37b8a44141929f147b2d620748d4-dot-us-central1.composer.googleusercontent.com', 'JobStatus': <enum 'JobStatus'>, 'UserRole': <enum 'UserRole'>, 'ProductFilterType': <enum 'ProductFilterType'>, 'ProductFilterStyle': <enum 'ProductFilterStyle'>, 'csrf_token': <function generate_csrf at 0x7fa3c6fb7420>, 'admin_view': <app.core.views.AuthView object at 0x7fa3a910e9d0>, 'admin_base_template': 'admin/base.html', '_gettext': <function gettext at 0x7fa3c84f84a0>, '_ngettext': <function ngettext at 0x7fa3c84f8540>, 'h': <module 'flask_admin.helpers' from '/usr/local/lib/python3.11/site-packages/flask_admin/helpers.py'>, 'get_url': <bound method BaseView.get_url of <app.core.views.AuthView object at 0x7fa3a910e9d0>>, 'form': <app.core.forms.LoginForm object at 0x7fa3a8faa050>, 'current_user': <User Anon>, 'moment': <class 'flask_moment.moment'>, 'layout': <TemplateModule 'admin/_layout.html'>, 'admin_static': <TemplateModule 'admin/static.html'>, 'macros': <TemplateModule 'macros.html'>, 'sidebar_collapsed': False} of 'auth/login.html'> |
| _admin_template_args | {'form': <app.core.forms.LoginForm object at 0x7fa3a8faa050>} |
| _admin_view | <app.core.views.AuthView object at 0x7fa3a910e9d0> |
| csrf_token | ImIzNjcwMzM3NDBlMWZiNjM3NzMxYzU5M2IzZjE0OTQxM2MzOTBjMDUi.aYPy8w.aSqrK4HIzB9DnyPGrJEOD8kvV7w |
| debug_toolbar | <flask_debugtoolbar.DebugToolbarExtension object at 0x7fa3c6cba550> |