Spaces:
Runtime error
Runtime error
/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/vnai/scope/profile.py:742: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. | |
import pkg_resources | |
👋 Chào mừng bạn đến với Vnstock! Tài liệu: https://vnstocks.com/docs/tai-lieu/huong-dan-nhanh | Cộng đồng: https://www.facebook.com/groups/vnstock.official | |
INFO:root:[VSA] Static dir: /workspaces/vn-stock-analysis-app/vn-stock-analysis-app/stock-vsa-analyzer/public | |
* Debug mode: off | |
INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m | |
* Running on all addresses (0.0.0.0) | |
* Running on http://127.0.0.1:5000 | |
* Running on http://10.0.2.111:5000 | |
INFO:werkzeug:[33mPress CTRL+C to quit[0m | |
2025-07-08 01:52:56 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:56] "GET / HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:58] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:52:58] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:00] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:02] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:04] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:53:04] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 - | |
INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK" | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:54:41] "GET /market_overview HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:54:42] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK" | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "GET /market_overview HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "GET /static/css/main.css HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 01:58:07] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 - | |
/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/vnai/scope/profile.py:742: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. | |
import pkg_resources | |
👋 Chào mừng bạn đến với Vnstock! Tài liệu: https://vnstocks.com/docs/tai-lieu/huong-dan-nhanh | Cộng đồng: https://www.facebook.com/groups/vnstock.official | |
INFO:root:[VSA] Static dir: /workspaces/vn-stock-analysis-app/vn-stock-analysis-app/stock-vsa-analyzer/public | |
* Debug mode: off | |
INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m | |
* Running on all addresses (0.0.0.0) | |
* Running on http://127.0.0.1:5000 | |
* Running on http://10.0.2.111:5000 | |
INFO:werkzeug:[33mPress CTRL+C to quit[0m | |
INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK" | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:12] "GET /market_overview HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:12] "GET /static/css/main.css HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:06:13] "[33mGET /static/images/favicon.ico HTTP/1.1[0m" 404 - | |
2025-07-08 02:08:37 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:39] "GET / HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:40] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:40] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:42] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:44] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 - | |
INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK" | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:52] "GET /market_overview HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:08:53] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
2025-07-08 02:15:48 - vnstock.common.data.data_explorer - INFO - Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:vnstock.common.data.data_explorer:Không phải là mã chứng khoán, thông tin công ty và tài chính không khả dụng. | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:49] "GET / HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:51] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:51] "[36mGET /static/js/home.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/vsa.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/pv.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/indicators/mfi.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:52] "[36mGET /static/js/chart.js HTTP/1.1[0m" 304 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:15:54] "GET /api/stock_data?symbol=VNINDEX HTTP/1.1" 200 - | |
ERROR:app:Exception on /covered_warrant [GET] | |
Traceback (most recent call last): | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app | |
response = self.full_dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request | |
rv = self.handle_user_exception(e) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function | |
return cors_after_request(app.make_response(f(*args, **kwargs))) | |
^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request | |
rv = self.dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request | |
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant | |
info = {} | |
^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template | |
return _render(app, template, context) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render | |
rv = template.render(context) | |
^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render | |
self.environment.handle_exception() | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception | |
raise rewrite_traceback_stack(source=source) | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code | |
{% extends 'base.html' %} | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code | |
{% block content %}{% endblock %} | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content' | |
const warrantInfo = {{ warrant_info | tojson }}; | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson | |
return htmlsafe_json_dumps(value, dumps=dumps, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps | |
dumps(obj, **kwargs) | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps | |
return json.dumps(obj, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps | |
**kw).encode(obj) | |
^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode | |
chunks = self.iterencode(o, _one_shot=True) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode | |
return _iterencode(o, 0) | |
^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default | |
raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable") | |
TypeError: Object of type Undefined is not JSON serializable | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:16:00] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:16:01] "[33mGET /favicon.ico HTTP/1.1[0m" 404 - | |
ERROR:app:Exception on /covered_warrant [GET] | |
Traceback (most recent call last): | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app | |
response = self.full_dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request | |
rv = self.handle_user_exception(e) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function | |
return cors_after_request(app.make_response(f(*args, **kwargs))) | |
^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request | |
rv = self.dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request | |
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant | |
info = {} | |
^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template | |
return _render(app, template, context) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render | |
rv = template.render(context) | |
^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render | |
self.environment.handle_exception() | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception | |
raise rewrite_traceback_stack(source=source) | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code | |
{% extends 'base.html' %} | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code | |
{% block content %}{% endblock %} | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content' | |
const warrantInfo = {{ warrant_info | tojson | safe }}; | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson | |
return htmlsafe_json_dumps(value, dumps=dumps, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps | |
dumps(obj, **kwargs) | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps | |
return json.dumps(obj, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps | |
**kw).encode(obj) | |
^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode | |
chunks = self.iterencode(o, _one_shot=True) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode | |
return _iterencode(o, 0) | |
^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default | |
raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable") | |
TypeError: Object of type Undefined is not JSON serializable | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:18:15] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:23] "GET / HTTP/1.1" 200 - | |
INFO:httpx:HTTP Request: POST https://api.groq.com/openai/v1/chat/completions "HTTP/1.1 200 OK" | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:36] "GET /market_overview HTTP/1.1" 200 - | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:37] "[36mGET /static/css/main.css HTTP/1.1[0m" 304 - | |
ERROR:app:Exception on /covered_warrant [GET] | |
Traceback (most recent call last): | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 1511, in wsgi_app | |
response = self.full_dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 919, in full_dispatch_request | |
rv = self.handle_user_exception(e) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask_cors/extension.py", line 176, in wrapped_function | |
return cors_after_request(app.make_response(f(*args, **kwargs))) | |
^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 917, in full_dispatch_request | |
rv = self.dispatch_request() | |
^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/app.py", line 902, in dispatch_request | |
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/app.py", line 65, in covered_warrant | |
info = {} | |
^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 150, in render_template | |
return _render(app, template, context) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/templating.py", line 131, in _render | |
rv = template.render(context) | |
^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 1295, in render | |
self.environment.handle_exception() | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/environment.py", line 942, in handle_exception | |
raise rewrite_traceback_stack(source=source) | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 1, in top-level template code | |
{% extends 'base.html' %} | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/base.html", line 66, in top-level template code | |
{% block content %}{% endblock %} | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/vn-stock-analysis-app/templates/covered_warrant.html", line 88, in block 'content' | |
const warrantInfo = {{ warrant_info | tojson | safe }}; | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/filters.py", line 1721, in do_tojson | |
return htmlsafe_json_dumps(value, dumps=dumps, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/jinja2/utils.py", line 669, in htmlsafe_json_dumps | |
dumps(obj, **kwargs) | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 179, in dumps | |
return json.dumps(obj, **kwargs) | |
^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/__init__.py", line 238, in dumps | |
**kw).encode(obj) | |
^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 200, in encode | |
chunks = self.iterencode(o, _one_shot=True) | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
File "/home/codespace/.python/current/lib/python3.12/json/encoder.py", line 258, in iterencode | |
return _iterencode(o, 0) | |
^^^^^^^^^^^^^^^^^ | |
File "/workspaces/vn-stock-analysis-app/venv/lib/python3.12/site-packages/flask/json/provider.py", line 121, in _default | |
raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable") | |
TypeError: Object of type Undefined is not JSON serializable | |
INFO:werkzeug:127.0.0.1 - - [08/Jul/2025 02:19:50] "[35m[1mGET /covered_warrant HTTP/1.1[0m" 500 - | |