Download source code
(node_url, src_dir, args)
| 611 | |
| 612 | |
| 613 | def download_node_src(node_url, src_dir, args): |
| 614 | """ |
| 615 | Download source code |
| 616 | """ |
| 617 | logger.info('.', extra=dict(continued=True)) |
| 618 | dl_contents = _download_node_file(node_url) |
| 619 | logger.info('.', extra=dict(continued=True)) |
| 620 | |
| 621 | if is_WIN or is_CYGWIN: |
| 622 | ctx = zipfile.ZipFile(dl_contents) |
| 623 | members = operator.methodcaller('namelist') |
| 624 | member_name = lambda s: s # noqa: E731 |
| 625 | else: |
| 626 | ctx = tarfile_open(fileobj=dl_contents) |
| 627 | members = operator.methodcaller('getmembers') |
| 628 | member_name = operator.attrgetter('name') |
| 629 | |
| 630 | with ctx as archive: |
| 631 | node_ver = re.escape(args.node) |
| 632 | rexp_string = r"node-v%s[^/]*/(README\.md|CHANGELOG\.md|LICENSE)"\ |
| 633 | % node_ver |
| 634 | extract_list = [ |
| 635 | member |
| 636 | for member in members(archive) |
| 637 | if re.match(rexp_string, member_name(member)) is None |
| 638 | ] |
| 639 | archive.extractall(src_dir, extract_list) |
| 640 | |
| 641 | |
| 642 | def urlopen(url): |
no test coverage detected