MCPcopy
hub / github.com/pex-tool/pex / DownloadTarget

Class DownloadTarget

pex/resolver.py:101–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99
100@attr.s(frozen=True)
101class DownloadTarget(object):
102 @classmethod
103 def current(cls):
104 # type: () -> DownloadTarget
105 return cls(target=targets.current())
106
107 target = attr.ib() # type: Target
108 universal_target = attr.ib(default=None) # type: Optional[UniversalTarget]
109
110 def render_description(self):
111 # type: () -> str
112 target_description = self.target.render_description()
113 if self.universal_target:
114 description_components = ["universal resolve"]
115 if self.universal_target.systems and frozenset(
116 self.universal_target.systems
117 ) != frozenset(TargetSystem.values()):
118 description_components.append(
119 "targeting {systems}".format(
120 systems=" and ".join(map(str, self.universal_target.systems))
121 )
122 )
123 if self.universal_target.implementation:
124 description_components.append(
125 "for {impl}".format(impl=self.universal_target.implementation)
126 )
127 description_components.append("using {target}".format(target=target_description))
128 return " ".join(description_components)
129 return target_description
130
131 def id(self, complete=False):
132 # type: (bool) -> str
133
134 if self.universal_target:
135 id_components = ["universal"]
136 if self.universal_target.implementation:
137 id_components.append(str(self.universal_target.implementation))
138 id_components.append(
139 "-and-".join(map(str, self.universal_target.systems or TargetSystem.values()))
140 )
141 if complete:
142 id_components.append(
143 hashlib.sha1(str(self.universal_target.marker()).encode("utf-8")).hexdigest()
144 )
145 return "-".join(id_components)
146
147 if isinstance(self.target, LocalInterpreter):
148 # e.g.: CPython 2.7.18
149 return self.target.interpreter.version_string
150 if isinstance(self.target, AbbreviatedPlatform):
151 return str(self.target.platform)
152 if isinstance(self.target, CompletePlatform):
153 return str(self.target.platform.tag)
154
155 return self.target.id
156
157
158def _uniqued_download_requests(requests=None):

Callers 4

_as_download_targetFunction · 0.85
resolveFunction · 0.85
downloadFunction · 0.85
createMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected