labfreed 1.0.0b27__tar.gz → 1.0.0b29__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.0b27 → labfreed-1.0.0b29}/PKG-INFO +1 -1
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/__init__.py +1 -1
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/api_data_models/request.py +5 -1
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/api_data_models/response.py +2 -2
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/attribute_server_factory.py +5 -3
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/py_attributes.py +1 -1
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/url_parser.py +1 -1
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/.github/workflows/pypi-publish.yml +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/.github/workflows/run-tests.yml +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/CHANGELOG.md +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/LICENSE +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/README.md +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/app/app_infrastructure.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/app/formatted_print.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/app/pac_info/pac_info.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/app_factory.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/lib/attribute.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/lib/bp_landing_page.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/lib/utils.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cancel.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DC.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DM.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DP.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DR.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DS.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MC.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MD.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MS.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MX.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/external-link.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/logo.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/menu.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/search.svg +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/styles.css +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/styles_brand.css +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/styles_pac_info.css +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/flash_error_messages.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/footer.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/main.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/navbar.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/base-components.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/card-components.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/card.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_info/pac_info.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_issuer_error.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/templates/pac_issuer_landing_page.jinja.html +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_infrastructure.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/api_data_models/server_capabilities_response.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/client/client.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/client/client_attribute_group.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/excel_attribute_data_source.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/py_dict_data_source.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/attribute_data_sources.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/server.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/translation_data_sources.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/well_knonw_attribute_keys.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_cat/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_cat/category_base.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_cat/pac_cat.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_cat/predefined_categories.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/extension.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/id_segment.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/pac_id.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id/url_serializer.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/cit_v1.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/resolver.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/resolver_config.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/resolver_config_common.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_id_resolver/services.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/qr/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/qr/generate_qr.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/pythonic/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/pythonic/data_table.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/pythonic/pyTREX.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/pythonic/quantity.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/table_segment.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/trex.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/trex_base_models.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/trex/value_segments.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/utilities/base36.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/utilities/ensure_utc_time.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/utilities/translations.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/default_extension_interpreters.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/display_name_extension.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/text_base36_extension.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/trex_extension.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/gs1/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/gs1/gs1_ai_enum_sorted.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/labfreed/well_known_keys.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/unece/UneceUnits.json +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/unece/__init__.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_keys/unece/unece_units.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed_experimental/pac_disco/ble_central.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed_experimental/pac_disco/ble_peripheral.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed_experimental/pac_disco/ble_uuid.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed_experimental/pac_disco/pac_disco_demo.py +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/pyproject.toml +0 -0
- {labfreed-1.0.0b27 → labfreed-1.0.0b29}/tst_attr.py +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import re
|
|
1
2
|
from typing import Any, Self
|
|
2
3
|
from urllib.parse import unquote
|
|
3
4
|
from werkzeug.datastructures import LanguageAccept
|
|
@@ -27,6 +28,9 @@ class AttributeRequestData(LabFREED_BaseModel):
|
|
|
27
28
|
|
|
28
29
|
@classmethod
|
|
29
30
|
def from_http_request(cls, pac_id:str, params:dict, headers:dict):
|
|
31
|
+
# Azure seems to meddle with double slashes in a path, even if url encoded. This is to rectify this behaviour and add back a second slash if necessary
|
|
32
|
+
pac_id = re.sub('HTTPS:/{1,2}', 'HTTPS://', pac_id, re.IGNORECASE)
|
|
33
|
+
|
|
30
34
|
restrict_to_attribute_groups = params.get(ATTR_GROUPS)
|
|
31
35
|
if restrict_to_attribute_groups == '':
|
|
32
36
|
restrict_to_attribute_groups = None
|
|
@@ -84,7 +88,7 @@ class AttributeRequestData(LabFREED_BaseModel):
|
|
|
84
88
|
self._add_validation_message(
|
|
85
89
|
source="pac_id",
|
|
86
90
|
level = ValidationMsgLevel.ERROR,
|
|
87
|
-
msg='{self.pac_id} is not a valid PAC-ID'
|
|
91
|
+
msg=f'{self.pac_id} is not a valid PAC-ID'
|
|
88
92
|
)
|
|
89
93
|
|
|
90
94
|
if not self.is_valid:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
from abc import ABC
|
|
3
|
-
from datetime import datetime
|
|
3
|
+
from datetime import datetime, date
|
|
4
4
|
import re
|
|
5
5
|
from typing import Annotated, Any, Literal, Union, get_args
|
|
6
6
|
from urllib.parse import urlparse
|
|
@@ -43,7 +43,7 @@ class AttributeItemsElementBase(LabFREED_BaseModel, ABC):
|
|
|
43
43
|
|
|
44
44
|
class DateTimeAttributeItemsElement(AttributeItemsElementBase):
|
|
45
45
|
type: Literal["datetime"] = "datetime"
|
|
46
|
-
value: datetime
|
|
46
|
+
value: date | datetime
|
|
47
47
|
|
|
48
48
|
@field_validator('value', mode='after')
|
|
49
49
|
def set_utc__if_naive(cls, value):
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/attribute_server_factory.py
RENAMED
|
@@ -4,7 +4,7 @@ import logging
|
|
|
4
4
|
from typing import Any, Protocol
|
|
5
5
|
from urllib.parse import unquote, unquote_plus
|
|
6
6
|
|
|
7
|
-
from flask import Blueprint, current_app, redirect, url_for
|
|
7
|
+
from flask import Blueprint, current_app, redirect, url_for, send_from_directory
|
|
8
8
|
from labfreed.pac_attributes.api_data_models.request import AttributeRequestData
|
|
9
9
|
from labfreed.pac_attributes.server.server import AttributeGroupDataSource, AttributeServerRequestHandler, InvalidRequestError, TranslationDataSource
|
|
10
10
|
|
|
@@ -76,8 +76,6 @@ class AttributeFlaskApp(Flask):
|
|
|
76
76
|
|
|
77
77
|
@bp.get("/<path:pac_id_url_encoded>", strict_slashes=False)
|
|
78
78
|
def handle_attribute_request(pac_id_url_encoded):
|
|
79
|
-
if pac_id_url_encoded in ['favicon.ico']:
|
|
80
|
-
return ''
|
|
81
79
|
|
|
82
80
|
if authenticator and not authenticator(request):
|
|
83
81
|
return Response(
|
|
@@ -155,6 +153,10 @@ class AttributeFlaskApp(Flask):
|
|
|
155
153
|
'''
|
|
156
154
|
|
|
157
155
|
return response
|
|
156
|
+
|
|
157
|
+
@bp.get("/favicon.<ext>", strict_slashes=False)
|
|
158
|
+
def favicon(ext):
|
|
159
|
+
return send_from_directory("static", f"favicon.{ext}")
|
|
158
160
|
|
|
159
161
|
return bp
|
|
160
162
|
|
|
@@ -91,7 +91,7 @@ class pyAttributes(RootModel[list[pyAttribute]]):
|
|
|
91
91
|
items.append(BoolAttributeItemsElement(value=value))
|
|
92
92
|
|
|
93
93
|
elif isinstance(value, datetime | date | time):
|
|
94
|
-
if not value.tzinfo:
|
|
94
|
+
if getattr(value, 'tzinfo', None) and not value.tzinfo:
|
|
95
95
|
warnings.warn(f'No timezone given for {value}. Assuming it is in UTC.')
|
|
96
96
|
value.replace(tzinfo=UTC)
|
|
97
97
|
items.append(DateTimeAttributeItemsElement(value=value))
|
|
@@ -82,7 +82,7 @@ class PAC_Parser():
|
|
|
82
82
|
@classmethod
|
|
83
83
|
def _parse_pac_id(cls,id_str:str) -> "PAC_ID":
|
|
84
84
|
# m = re.match('(HTTPS://)?(PAC.)?(?P<issuer>.+?\..+?)/(?P<identifier>.*)', id_str)
|
|
85
|
-
m = re.match('(HTTPS://)?(PAC
|
|
85
|
+
m = re.match('(HTTPS://)?(PAC\.)?(?P<issuer>.+?)/(?P<identifier>.*)', id_str, re.IGNORECASE)
|
|
86
86
|
if not m:
|
|
87
87
|
raise LabFREED_ValidationError(f'{id_str} does not match the pattern expected for PAC-ID')
|
|
88
88
|
d = m.groupdict()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/app/app_infrastructure.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/app_factory.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/lib/attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/lib/utils.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cancel.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DC.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DM.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DP.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DR.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-DS.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MC.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MD.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MS.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/cat-MX.svg
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/logo.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/menu.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/labfreed_extended/pac_issuer_lib/static/search.svg
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/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
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/client/client_attribute_group.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/pythonic/py_dict_data_source.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/attribute_data_sources.py
RENAMED
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/pac_attributes/server/translation_data_sources.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/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
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/display_name_extension.py
RENAMED
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/labfreed/well_known_extensions/text_base36_extension.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{labfreed-1.0.0b27 → labfreed-1.0.0b29}/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
|