Skip to content

Commit 4262afc

Browse files
Merge branch 'dev' of github.com:SDXorg/pysd into add_tabdata_encoding
2 parents 331c781 + 6caabb2 commit 4262afc

File tree

6 files changed

+38
-6
lines changed

6 files changed

+38
-6
lines changed

.github/workflows/link-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- uses: actions/checkout@v4
1212

1313
- name: Link Checker
14-
uses: lycheeverse/lychee-action@v1.10.0
14+
uses: lycheeverse/lychee-action@v2.3.0
1515
with:
1616
fail: true
1717
env:

docs/whats_new.rst

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,31 @@
11
What's New
22
==========
3-
v3.14.2 (2024/10/21)
3+
v3.14.3 (2025/03/XX)
4+
--------------------
5+
New Features
6+
~~~~~~~~~~~~
7+
8+
Breaking changes
9+
~~~~~~~~~~~~~~~~
10+
11+
Deprecations
12+
~~~~~~~~~~~~
13+
14+
Bug fixes
15+
~~~~~~~~~
16+
- Make XMILE operator parsing case-insensitive (:issue:`463`). (`@benslavin <https://github.com/benslavin>`_)
17+
18+
Documentation
19+
~~~~~~~~~~~~~
20+
21+
Performance
22+
~~~~~~~~~~~
23+
24+
Internal Changes
25+
~~~~~~~~~~~~~~~~
26+
- Allow passing encoding for TabData files (:issue:`455`). (`@enekomartinmartinez <https://github.com/enekomartinmartinez>`_)
27+
28+
v3.14.2 (2024/11/12)
429
--------------------
530
New Features
631
~~~~~~~~~~~~

pysd/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "3.14.2"
1+
__version__ = "3.14.3"

pysd/translators/xmile/xmile_utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,14 @@ def split_arithmetic(structure: object, parsing_ops: dict,
6565
no operations are performed.
6666
6767
"""
68-
pattern = re.compile(parsing_ops)
68+
pattern = re.compile(parsing_ops, re.IGNORECASE)
6969
parts = pattern.split(expression) # list of elements ids
7070
ops = pattern.findall(expression) # operators list
7171
ops = list(map(
72-
lambda x: x.replace('and', ':AND:').replace('or', ':OR:'), ops))
72+
lambda x: re.sub(r'(?i)and', ':AND:',
73+
re.sub(r'(?i)or', ':OR:', x)),
74+
ops
75+
))
7376
if not ops:
7477
# no operators return original object
7578
if parts[0] in negatives:

tests/pytest_integration/pytest_integration_xmile_pathway.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,10 @@
9494
"folder": "logicals",
9595
"file": "test_logicals.xmile"
9696
},
97+
"logicals_caseinsensitive": {
98+
"folder": "logicals",
99+
"file": "test_logicals_caseinsensitive.xmile"
100+
},
97101
"lookups": {
98102
"folder": "lookups",
99103
"file": "test_lookups.xmile"

0 commit comments

Comments
 (0)