Skip to content

Commit f81f780

Browse files
Heather LiGitHub Enterprise
authored andcommitted
Merge pull request #23 from Safe/transformer-hyphen-help
Correct transformer help alias generation for hyphenated package uids <cyl>
2 parents df97e5c + f00983a commit f81f780

File tree

5 files changed

+27
-22
lines changed

5 files changed

+27
-22
lines changed

CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# fme-packager changes
22

3+
# 1.4.4
4+
5+
* Improve help validation for packages with hyphenated UIDs.
6+
37
# 1.4.3
48

59
* Improve verify command

fme_packager/__init__.py

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

fme_packager/help.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,14 @@ def get_expected_help_index(fpkg_metadata: FMEPackageMetadata, format_directions
120120
index = {}
121121
if not format_directions:
122122
format_directions = {}
123-
# dashes in the UIDs get turned to underscores
124-
fpkg_ident = f"{fpkg_metadata.publisher_uid}_{fpkg_metadata.uid}".replace("-", "_")
123+
fpkg_ident = f"{fpkg_metadata.publisher_uid}_{fpkg_metadata.uid}"
125124
# Each transformer has only one topic.
126125
for xformer in fpkg_metadata.transformers:
127126
index[f"fmx_{fpkg_ident}_{xformer.name}"] = f"/{xformer.name}.htm"
128127
# Each format has many topics.
129128
for fmt in fpkg_metadata.formats:
129+
# dashes in the UIDs get turned to underscores when looking for format help
130+
fpkg_ident = fpkg_ident.replace("-", "_")
130131
fmt_ident = f"{fpkg_ident}_{fmt.name}".lower()
131132
directions = format_directions.get(fmt.name, "rw")
132133
# Format prefix is "rw" even when read-only or write-only
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
fmx_example_package_Transformer,/Transformers/Transformer-pkg.htm
1+
fmx_example_package-hyphen_Transformer,/Transformers/Transformer-pkg.htm

tests/test_help.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
def mock_metadata():
1414
return FMEPackageMetadata(
1515
{
16-
"uid": "package",
16+
"uid": "package-hyphen",
1717
"publisher_uid": "example",
1818
"package_content": {"transformers": [{"name": "Transformer", "version": 1}]},
1919
}
@@ -22,35 +22,35 @@ def mock_metadata():
2222

2323
def test_get_expected_help_contexts_transformer(mock_metadata):
2424
assert get_expected_help_index(mock_metadata) == {
25-
"fmx_example_package_Transformer": "/Transformer.htm"
25+
"fmx_example_package-hyphen_Transformer": "/Transformer.htm"
2626
}
2727

2828

2929
def test_get_expected_help_contexts_format():
3030
metadata = FMEPackageMetadata(
3131
{
32-
"uid": "package",
32+
"uid": "package-hyphen",
3333
"publisher_uid": "example",
3434
"package_content": {"formats": [{"name": "demoformat"}]},
3535
}
3636
)
3737
assert get_expected_help_index(metadata) == {
38-
"ft_example_package_demoformat_param_r": "/demoformat_ft_param_r.htm",
39-
"ft_example_package_demoformat_param_w": "/demoformat_ft_param_w.htm",
40-
"ft_example_package_demoformat_user_attr": "/demoformat_ft_user_attr.htm",
41-
"param_example_package_demoformat_r": "/demoformat_param_r.htm",
42-
"param_example_package_demoformat_w": "/demoformat_param_w.htm",
43-
"rw_example_package_demoformat_feature_rep": "/demoformat_feature_rep.htm",
44-
"rw_example_package_demoformat_index": "/demoformat.htm",
38+
"ft_example_package_hyphen_demoformat_param_r": "/demoformat_ft_param_r.htm",
39+
"ft_example_package_hyphen_demoformat_param_w": "/demoformat_ft_param_w.htm",
40+
"ft_example_package_hyphen_demoformat_user_attr": "/demoformat_ft_user_attr.htm",
41+
"param_example_package_hyphen_demoformat_r": "/demoformat_param_r.htm",
42+
"param_example_package_hyphen_demoformat_w": "/demoformat_param_w.htm",
43+
"rw_example_package_hyphen_demoformat_feature_rep": "/demoformat_feature_rep.htm",
44+
"rw_example_package_hyphen_demoformat_index": "/demoformat.htm",
4545
}
4646
assert sorted(get_expected_help_index(metadata)) == [
47-
"ft_example_package_demoformat_param_r",
48-
"ft_example_package_demoformat_param_w",
49-
"ft_example_package_demoformat_user_attr",
50-
"param_example_package_demoformat_r",
51-
"param_example_package_demoformat_w",
52-
"rw_example_package_demoformat_feature_rep",
53-
"rw_example_package_demoformat_index",
47+
"ft_example_package_hyphen_demoformat_param_r",
48+
"ft_example_package_hyphen_demoformat_param_w",
49+
"ft_example_package_hyphen_demoformat_user_attr",
50+
"param_example_package_hyphen_demoformat_r",
51+
"param_example_package_hyphen_demoformat_w",
52+
"rw_example_package_hyphen_demoformat_feature_rep",
53+
"rw_example_package_hyphen_demoformat_index",
5454
]
5555

5656

@@ -101,4 +101,4 @@ def test_md(mock_metadata, tmp_path):
101101
index_file = tmp_path / "package_help.csv"
102102
assert index_file.is_file()
103103
with index_file.open("r") as f:
104-
assert f.read() == "fmx_example_package_Transformer,/Transformer.htm\n"
104+
assert f.read() == "fmx_example_package-hyphen_Transformer,/Transformer.htm\n"

0 commit comments

Comments
 (0)