Commit eb7c1972 by Sébastien Eustace

Fix retrieval of extras in lock file

parent 89d52018
import json import json
import re
import poetry.packages import poetry.packages
import poetry.repositories import poetry.repositories
...@@ -85,7 +86,19 @@ class Locker(object): ...@@ -85,7 +86,19 @@ class Locker(object):
package.optional = info["optional"] package.optional = info["optional"]
package.hashes = lock_data["metadata"]["hashes"][info["name"]] package.hashes = lock_data["metadata"]["hashes"][info["name"]]
package.python_versions = info["python-versions"] package.python_versions = info["python-versions"]
package.extras = info.get("extras", {}) extras = info.get("extras", {})
if extras:
for name, deps in extras.items():
package.extras[name] = []
for dep in deps:
m = re.match(r"^(.+)(?=\s+\((.+)\))?$", dep)
dep_name = m.group(1)
constraint = m.group(2) or "*"
package.extras[name].append(
poetry.packages.Dependency(dep_name, constraint)
)
if "marker" in info: if "marker" in info:
package.marker = parse_marker(info["marker"]) package.marker = parse_marker(info["marker"])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment