Skip to content

Commit 84ccfe8

Browse files
committed
chore: simpler code
1 parent 364082b commit 84ccfe8

1 file changed

Lines changed: 4 additions & 14 deletions

File tree

juju/client/facade.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@
1313
from collections import defaultdict
1414
from glob import glob
1515
from pathlib import Path
16-
from typing import Any, Dict, List, Mapping, Sequence, Tuple, TypeVar
16+
from typing import Any, Dict, List, Mapping, Sequence
1717

18+
import packaging.version
1819
import typing_inspect
1920

2021
from . import codegen
@@ -150,7 +151,7 @@ def get(self, name):
150151
# Two way mapping
151152
refname = self.schema.referenceName(name)
152153
if refname not in self:
153-
result = TypeVar(refname)
154+
result = typing.TypeVar(refname)
154155
self[refname] = result
155156
self[result] = refname
156157

@@ -926,22 +927,11 @@ def generate_definitions(schemas):
926927
return definitions
927928

928929

929-
def sortable_schema_version(version_string: str) -> Tuple[int, int, int]:
930-
"""Return a sorting key in the form (major, minor, micro) from a version string."""
931-
# 'latest' is special cased in load_schemas and should come last
932-
if version_string == 'latest':
933-
return (9000, 9000, 9000)
934-
# raise ValueError if string isn't in the format A.B.C
935-
major, minor, micro = version_string.split('.')
936-
# raise ValueError if major, minor, and micro aren't int strings
937-
return (int(major), int(minor), int(micro))
938-
939-
940930
def generate_facades(schemas: Dict[str, List[Schema]]) -> Dict[str, Dict[int, codegen.Capture]]:
941931
captures = defaultdict(codegen.Capture)
942932

943933
# Build the Facade classes
944-
for juju_version in sorted(schemas.keys(), key=sortable_schema_version):
934+
for juju_version in sorted(schemas.keys(), key=packaging.version.parse):
945935
for schema in schemas[juju_version]:
946936
cls, source = buildFacade(schema)
947937
cls_name = "{}Facade".format(schema.name)

0 commit comments

Comments
 (0)