MCPcopy Index your code
hub / github.com/RustPython/RustPython / get_versions

Function get_versions

crates/wasm/Lib/_microdistlib.py:65–91  ·  view source on GitHub ↗

Return a list of operator, version tuples if any are specified, else None.

(ver_remaining)

Source from the content-addressed store, hash-verified

63 else:
64
65 def get_versions(ver_remaining):
66 """
67 Return a list of operator, version tuples if any are
68 specified, else None.
69 """
70 m = COMPARE_OP.match(ver_remaining)
71 versions = None
72 if m:
73 versions = []
74 while True:
75 op = m.groups()[0]
76 ver_remaining = ver_remaining[m.end():]
77 m = VERSION_IDENTIFIER.match(ver_remaining)
78 if not m:
79 raise SyntaxError('invalid version: %s' % ver_remaining)
80 v = m.groups()[0]
81 versions.append((op, v))
82 ver_remaining = ver_remaining[m.end():]
83 if not ver_remaining or ver_remaining[0] != ',':
84 break
85 ver_remaining = ver_remaining[1:].lstrip()
86 m = COMPARE_OP.match(ver_remaining)
87 if not m:
88 raise SyntaxError('invalid constraint: %s' % ver_remaining)
89 if not versions:
90 versions = None
91 return versions, ver_remaining
92
93 if remaining[0] != '(':
94 versions, remaining = get_versions(remaining)

Callers 1

parse_requirementFunction · 0.85

Calls 5

matchMethod · 0.45
groupsMethod · 0.45
endMethod · 0.45
appendMethod · 0.45
lstripMethod · 0.45

Tested by

no test coverage detected