| 584 | |
| 585 | |
| 586 | def get_package_name(dependency, |
| 587 | use_cache=True): |
| 588 | def timestamp(): |
| 589 | try: |
| 590 | return time.monotonic() |
| 591 | except AttributeError: |
| 592 | return time.time() # Python 2. |
| 593 | try: |
| 594 | value = package_name_cache[dependency] |
| 595 | if value[0] + 600.0 > timestamp() and use_cache: |
| 596 | return value[1] |
| 597 | except KeyError: |
| 598 | pass |
| 599 | result = _extract_info_from_package(dependency, extract_type="name") |
| 600 | package_name_cache[dependency] = (timestamp(), result) |
| 601 | return result |
| 602 | |
| 603 | |
| 604 | def get_package_dependencies(package, |