Skip to content

Commit ed46103

Browse files
authored
Merge pull request #122 from nexB/ignore_comments_from_netrc
Support comments in netrc file #107
2 parents 39588f1 + 9bdb540 commit ed46103

16 files changed

+201
-404
lines changed

CHANGELOG.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@ Changelog
22
=========
33

44

5+
v0.9.5
6+
-------------
7+
8+
- Update readme with test instructions.
9+
- Fail gracefully at parsing setup.py with no deps.
10+
- Support comments in netrc file #107.
11+
12+
513
v0.9.4
614
------
715

requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ resolvelib==0.8.1
2121
saneyaml==0.5.2
2222
soupsieve==2.3.2.post1
2323
text-unidecode==1.3
24-
tinynetrc==1.3.1
2524
toml==0.10.2
2625
urllib3==1.26.11
2726
zipp==3.8.1

requirements_builder.ABOUT

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ install_requires =
6666
requests >= 2.18.0
6767
resolvelib >= 0.8.1
6868
saneyaml >= 0.5.2
69-
tinynetrc >= 1.3.1
7069
toml >= 0.10.0
7170
mock >= 3.0.5
7271

setup.cfg

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ install_requires =
6666
requests >= 2.18.0
6767
resolvelib >= 0.8.1
6868
saneyaml >= 0.5.2
69-
tinynetrc >= 1.3.1
7069
toml >= 0.10.0
7170
mock >= 3.0.5
7271
packvers >= 21.5

src/python_inspector/api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#
1111

1212
import os
13+
from netrc import netrc
1314
from typing import Dict
1415
from typing import List
1516
from typing import NamedTuple
@@ -19,7 +20,6 @@
1920
from packvers.requirements import Requirement
2021
from resolvelib import BaseReporter
2122
from resolvelib import Resolver
22-
from tinynetrc import Netrc
2323

2424
from _packagedcode.models import DependentPackage
2525
from _packagedcode.models import PackageData
@@ -128,9 +128,9 @@ def resolve_dependencies(
128128
if netrc_file:
129129
if verbose:
130130
printer(f"Using netrc file {netrc_file}")
131-
netrc = Netrc(file=netrc_file)
131+
parsed_netrc = netrc(netrc_file)
132132
else:
133-
netrc = None
133+
parsed_netrc = None
134134

135135
# TODO: deduplicate me
136136
direct_dependencies = []
@@ -233,8 +233,8 @@ def resolve_dependencies(
233233
repos.append(existing)
234234
else:
235235
credentials = None
236-
if netrc:
237-
login, password = utils.get_netrc_auth(index_url, netrc)
236+
if parsed_netrc:
237+
login, password = utils.get_netrc_auth(index_url, parsed_netrc)
238238
credentials = (
239239
dict(login=login, password=password) if login and password else None
240240
)

src/python_inspector/utils.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import json
1313
import os
14+
import tempfile
1415
from typing import Dict
1516
from typing import List
1617
from typing import NamedTuple
@@ -23,8 +24,11 @@ def get_netrc_auth(url, netrc):
2324
Return login and password if url is in netrc
2425
else return login and password as None
2526
"""
26-
if netrc.get(url):
27-
return (netrc[url].get("login"), netrc[url].get("password"))
27+
hosts = netrc.hosts
28+
if url in hosts:
29+
url_auth = hosts.get(url)
30+
# netrc returns a tuple of (login, account, password)
31+
return (url_auth[0], url_auth[2])
2832
return (None, None)
2933

3034

tests/data/azure-devops.req-310-expected.json

Lines changed: 23 additions & 22 deletions
Large diffs are not rendered by default.

tests/data/azure-devops.req-38-expected.json

Lines changed: 23 additions & 22 deletions
Large diffs are not rendered by default.

tests/data/frozen-requirements.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ SecretStorage==3.3.2
5757
six==1.16.0
5858
soupsieve==2.3.2.post1
5959
text-unidecode==1.3
60-
tinynetrc==1.3.1
6160
toml==0.10.2
6261
tomli==1.2.3
6362
tqdm==4.64.0

tests/data/frozen-requirements.txt-expected.json

Lines changed: 17 additions & 162 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)