MCPcopy Create free account
hub / github.com/StackStorm/st2 / _update

Function _update

scripts/lockfiles_to_reqs.py:55–84  ·  view source on GitHub ↗
(old_req, name, version)

Source from the content-addressed store, hash-verified

53
54
55def _update(old_req, name, version):
56 parsedreq = parse_req_from_line(old_req.requirement, old_req.line_source)
57 assert parsedreq.requirement.name == name
58 specs = parsedreq.requirement.specifier
59 if len(specs) == 0:
60 # name-only dep. Nothing to do. Skipping.
61 return None
62 elif len(specs) > 1:
63 LOG.warning(
64 "Cannot automatically update comma separated version specifier: %s", specs
65 )
66 return None
67 spec = tuple(specs)[0]
68 if spec.version != version:
69 if spec.operator != "==":
70 LOG.warning(
71 "Cannot safely auto-change version specifier of %s from %s%s to ==%s",
72 name,
73 spec.operator,
74 spec.version,
75 version,
76 )
77 else:
78 # only change pins; ignore any version range
79 new_spec = spec.__class__(f"=={version}", spec.prereleases or None)
80 new_specs = specs.__class__([new_spec], specs.prereleases or None)
81 new_req = copy.deepcopy(parsedreq.requirement)
82 new_req.specifier = new_specs
83 return str(new_req)
84 return None
85
86
87def plan_update(old_reqs, name, version, reqs_updates):

Callers 1

plan_updateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected