diff --git a/flagsmith/mappers.py b/flagsmith/mappers.py index 1bdd8ae..ec771c3 100644 --- a/flagsmith/mappers.py +++ b/flagsmith/mappers.py @@ -1,8 +1,8 @@ import json import typing +import uuid from collections import defaultdict from datetime import datetime, timezone -from operator import itemgetter import sseclient from flag_engine.context.types import ( @@ -250,11 +250,14 @@ def _map_environment_document_feature_states_to_feature_contexts( "multivariate_feature_option" ]["value"], "weight": multivariate_feature_state_value["percentage_allocation"], + "priority": ( + multivariate_feature_state_value.get("id") + or uuid.UUID( + multivariate_feature_state_value["mv_fs_value_uuid"] + ).int + ), } - for multivariate_feature_state_value in sorted( - multivariate_feature_state_values, - key=itemgetter("id"), - ) + for multivariate_feature_state_value in multivariate_feature_state_values ] if "feature_segment" in feature_state: diff --git a/poetry.lock b/poetry.lock index 5ee3591..7173d15 100644 --- a/poetry.lock +++ b/poetry.lock @@ -259,25 +259,21 @@ files = [ [[package]] name = "flagsmith-flag-engine" -version = "8.0.0" +version = "9.0.0" description = "Flag engine for the Flagsmith API." optional = false python-versions = "*" groups = ["main"] -files = [] -develop = false +files = [ + {file = "flagsmith_flag_engine-9.0.0-py3-none-any.whl", hash = "sha256:2775106adb09f2f6fdeaccdcc1e84a254df139352eb442f8cb66c536c44ca986"}, + {file = "flagsmith_flag_engine-9.0.0.tar.gz", hash = "sha256:0cf8450e9a006cffbc65e4442fbe73e39860f6101f04fc9629a569a354d857ad"}, +] [package.dependencies] jsonpath-rfc9535 = ">=0.1.5,<1" semver = ">=3.0.4,<4" typing-extensions = ">=4.14.1,<5" -[package.source] -type = "git" -url = "https://github.com/Flagsmith/flagsmith-engine.git" -reference = "feat/generic-metadata" -resolved_reference = "7e9d00aec998cb115d4b8175660c79563042a502" - [[package]] name = "identify" version = "2.6.13" @@ -951,4 +947,4 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [metadata] lock-version = "2.1" python-versions = ">=3.9,<4" -content-hash = "702545ad27e44d6d5bdc0a4cef9517a70a2548858cc8ea5ca2410d78ef296b9e" +content-hash = "66865353f740f4b6fa02982ead5929aaf5105201b8f9f590651e37fc424ff79d" diff --git a/pyproject.toml b/pyproject.toml index f3c228a..16528d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ documentation = "https://docs.flagsmith.com" packages = [{ include = "flagsmith" }] [tool.poetry.dependencies] -flagsmith-flag-engine = { git = "https://github.com/Flagsmith/flagsmith-engine.git", branch = "feat/generic-metadata" } +flagsmith-flag-engine = "^9.0.0" python = ">=3.9,<4" requests = "^2.32.3" requests-futures = "^1.0.1"