labfreed 1.0.0b29__tar.gz → 1.0.0b30__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of labfreed might be problematic. Click here for more details.
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/PKG-INFO +1 -1
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/__init__.py +1 -1
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/attribute_server_factory.py +23 -1
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/.github/workflows/pypi-publish.yml +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/.github/workflows/run-tests.yml +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/CHANGELOG.md +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/LICENSE +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/README.md +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/app/app_infrastructure.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/app/formatted_print.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/app/pac_info/pac_info.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/app_factory.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/lib/attribute.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/lib/bp_landing_page.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/lib/utils.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cancel.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DC.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DM.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DP.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DR.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DS.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MC.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MD.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MS.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MX.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/external-link.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/logo.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/menu.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/search.svg +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/styles.css +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/styles_brand.css +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/styles_pac_info.css +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/flash_error_messages.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/footer.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/main.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/navbar.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/base-components.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/card-components.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/card.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/pac_info.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_issuer_error.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_issuer_landing_page.jinja.html +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_infrastructure.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/api_data_models/request.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/api_data_models/response.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/api_data_models/server_capabilities_response.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/client/client.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/client/client_attribute_group.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/excel_attribute_data_source.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/py_attributes.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/py_dict_data_source.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/attribute_data_sources.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/server.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/translation_data_sources.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/well_knonw_attribute_keys.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_cat/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_cat/category_base.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_cat/pac_cat.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_cat/predefined_categories.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/extension.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/id_segment.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/pac_id.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/url_parser.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id/url_serializer.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/cit_v1.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/resolver.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/resolver_config.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/resolver_config_common.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_id_resolver/services.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/qr/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/qr/generate_qr.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/pythonic/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/pythonic/data_table.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/pythonic/pyTREX.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/pythonic/quantity.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/table_segment.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/trex.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/trex_base_models.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/trex/value_segments.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/utilities/base36.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/utilities/ensure_utc_time.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/utilities/translations.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/default_extension_interpreters.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/display_name_extension.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/text_base36_extension.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/trex_extension.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/gs1/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/gs1/gs1_ai_enum_sorted.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/labfreed/well_known_keys.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/unece/UneceUnits.json +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/unece/__init__.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/unece/unece_units.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed_experimental/pac_disco/ble_central.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed_experimental/pac_disco/ble_peripheral.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed_experimental/pac_disco/ble_uuid.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed_experimental/pac_disco/pac_disco_demo.py +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/pyproject.toml +0 -0
- {labfreed-1.0.0b29 → labfreed-1.0.0b30}/tst_attr.py +0 -0
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/attribute_server_factory.py
RENAMED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
from enum import Enum
|
|
2
|
+
from functools import wraps
|
|
2
3
|
import json
|
|
3
4
|
import logging
|
|
4
5
|
from typing import Any, Protocol
|
|
5
6
|
from urllib.parse import unquote, unquote_plus
|
|
6
7
|
|
|
7
|
-
from flask import Blueprint, current_app, redirect, url_for, send_from_directory
|
|
8
|
+
from flask import Blueprint, current_app, make_response, redirect, url_for, send_from_directory
|
|
8
9
|
from labfreed.pac_attributes.api_data_models.request import AttributeRequestData
|
|
9
10
|
from labfreed.pac_attributes.server.server import AttributeGroupDataSource, AttributeServerRequestHandler, InvalidRequestError, TranslationDataSource
|
|
10
11
|
|
|
@@ -75,6 +76,7 @@ class AttributeFlaskApp(Flask):
|
|
|
75
76
|
|
|
76
77
|
|
|
77
78
|
@bp.get("/<path:pac_id_url_encoded>", strict_slashes=False)
|
|
79
|
+
@cors_attributes
|
|
78
80
|
def handle_attribute_request(pac_id_url_encoded):
|
|
79
81
|
|
|
80
82
|
if authenticator and not authenticator(request):
|
|
@@ -161,6 +163,26 @@ class AttributeFlaskApp(Flask):
|
|
|
161
163
|
return bp
|
|
162
164
|
|
|
163
165
|
|
|
166
|
+
def cors_attributes(fn):
|
|
167
|
+
@wraps(fn)
|
|
168
|
+
def wrapper(*args, **kwargs):
|
|
169
|
+
# Preflight
|
|
170
|
+
if request.method == "OPTIONS":
|
|
171
|
+
response = make_response()
|
|
172
|
+
response.headers["Access-Control-Allow-Origin"] = "*"
|
|
173
|
+
response.headers["Access-Control-Allow-Methods"] = "GET, OPTIONS"
|
|
174
|
+
response.headers["Access-Control-Allow-Headers"] = "Content-Type, Authorization"
|
|
175
|
+
response.headers["Access-Control-Max-Age"] = "86400"
|
|
176
|
+
return response
|
|
177
|
+
|
|
178
|
+
# Actual request
|
|
179
|
+
response = make_response(fn(*args, **kwargs))
|
|
180
|
+
response.headers["Access-Control-Allow-Origin"] = "*"
|
|
181
|
+
return response
|
|
182
|
+
|
|
183
|
+
return wrapper
|
|
184
|
+
|
|
185
|
+
|
|
164
186
|
|
|
165
187
|
|
|
166
188
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/app/app_infrastructure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/app_factory.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/lib/attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/lib/utils.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cancel.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DC.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DM.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DP.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DR.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DS.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MC.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MD.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MS.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MX.svg
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/logo.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/menu.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/search.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/labfreed_extended/pac_issuer_lib/static/styles.css
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/client/client_attribute_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/pythonic/py_dict_data_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/attribute_data_sources.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/server/translation_data_sources.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/pac_attributes/well_knonw_attribute_keys.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/display_name_extension.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_extensions/text_base36_extension.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b29 → labfreed-1.0.0b30}/labfreed/well_known_keys/labfreed/well_known_keys.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|