Skip to content

Commit

Permalink
swap when we raise in the status_code check
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob Humble committed Dec 21, 2024
1 parent aada65c commit 056ae41
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 143 deletions.
2 changes: 1 addition & 1 deletion src/qspylib/_version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""unified version string"""

__version__ = "1.0.0"
__version__ = "1.0.1dev0"
7 changes: 4 additions & 3 deletions src/qspylib/clublog.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ def fetch_logbook(self) -> Logbook:
data = {k: v for k, v in data.items() if v is not None}

response = requests.post(self.base_url, data=data, timeout=self.timeout)
if response.status_code == requests.codes.ok:
return Logbook(self.callsign, response.text)
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

return Logbook(self.callsign, response.text)
47 changes: 25 additions & 22 deletions src/qspylib/eqsl.py
Original file line number Diff line number Diff line change
Expand Up @@ -431,11 +431,12 @@ def get_ag_list(timeout: int = 15):
response = s.get(
url, headers={"user-agent": "pyQSP/" + __version__}, timeout=timeout
)
if response.status_code == requests.codes.ok:
result_list = []
result_list += response.text.split("\r\n")
return set(result_list[1:-1]), str(result_list[0])
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

result_list = []
result_list += response.text.split("\r\n")
return set(result_list[1:-1]), str(result_list[0])

@staticmethod
def get_ag_list_dated(timeout: int = 15):
Expand All @@ -459,15 +460,16 @@ def get_ag_list_dated(timeout: int = 15):
response = s.get(
url, headers={"user-agent": "pyQSP/" + __version__}, timeout=timeout
)
if response.status_code == requests.codes.ok:
result_list = response.text.split("\r\n")
loc, header = result_list[1:-1], str(result_list[0])
dict_calls = {}
for pair in loc:
call, date = pair.split(", ")
dict_calls[call] = date
return dict_calls, header
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

result_list = response.text.split("\r\n")
loc, header = result_list[1:-1], str(result_list[0])
dict_calls = {}
for pair in loc:
call, date = pair.split(", ")
dict_calls[call] = date
return dict_calls, header

@staticmethod
def get_full_member_list(timeout: int = 15):
Expand All @@ -489,14 +491,15 @@ def get_full_member_list(timeout: int = 15):

with requests.Session() as s:
response = s.get(url, timeout=timeout)
if response.status_code == requests.codes.ok:
result_list = response.text.split("\r\n")[1:-1]
dict_calls = {}
for row in result_list:
data = row.split(",")
dict_calls[data[0]] = data[1:]
return dict_calls
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

result_list = response.text.split("\r\n")[1:-1]
dict_calls = {}
for row in result_list:
data = row.split(",")
dict_calls[data[0]] = data[1:]
return dict_calls

@staticmethod
def get_users_data(callsign: str):
Expand Down
71 changes: 39 additions & 32 deletions src/qspylib/lotw.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,13 @@ def fetch_logbook(

with self.session as s:
response = s.get(self.base_url + log_url, params=params)
if response.status_code != requests.codes.ok:
raise response.raise_for_status()
if "<eoh>" not in response.text:
raise RetrievalFailure
if response.status_code == requests.codes.ok:
return Logbook(self.username, response.text)
raise response.raise_for_status()

return Logbook(self.username, response.text)


def fetch_qsls(
self,
Expand Down Expand Up @@ -334,16 +336,19 @@ def get_dxcc_credit(self, entity: str = None, ac_acct: str = None) -> Logbook:

with self.session as s:
response = s.get(self.base_url + dxcc_url, params=params)
if response.status_code == requests.codes.ok:
# lotw lies, and claims an <eoh> will be absent from bad
# outputs, but it's there, so we'll do something else.
if (
"ARRL Logbook of the World DXCC QSL Card Report"
not in response.text[:46]
):
raise RetrievalFailure(response.text)
return Logbook(self.username, response.text)
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

# lotw lies, and claims an <eoh> will be absent from bad
# outputs, but it's there, so we'll do something else.
if (
"ARRL Logbook of the World DXCC QSL Card Report"
not in response.text[:46]
):
raise RetrievalFailure(response.text)

return Logbook(self.username, response.text)


# region Static Functions
@staticmethod
Expand Down Expand Up @@ -383,9 +388,10 @@ def get_last_upload(timeout: int = 15):

with requests.Session() as s:
response = s.get(url, timeout=timeout)
if response.status_code == requests.codes.ok:
return response.text
raise response.raise_for_status()
if response.status_code != requests.codes.ok:
raise response.raise_for_status()

return response.text

@staticmethod
def upload_logbook(file, timeout: int = 120):
Expand Down Expand Up @@ -413,22 +419,23 @@ def upload_logbook(file, timeout: int = 120):

with requests.Session() as s:
response = s.post(upload_url, data, timeout=timeout)
if response.status_code == requests.codes.ok:
result = response.text
result_start_idx = result.index("<!-- .UPL. ")
result_end_idx = result[result_start_idx + 11 :].index(" -->")
upl_result = result[result_start_idx:result_end_idx]
upl_message = str(
result[
result.index("<!-- .UPLMESSAGE. ")
+ 18 : result[result_end_idx:].rindex(" -->")
]
)
if "rejected" in upl_result:
raise UploadError(upl_message)
return upl_message
raise response.raise_for_status()

if response.status_code != requests.codes.ok:
raise response.raise_for_status()

result = response.text
result_start_idx = result.index("<!-- .UPL. ")
result_end_idx = result[result_start_idx + 11 :].index(" -->")
upl_result = result[result_start_idx:result_end_idx]
upl_message = str(
result[
result.index("<!-- .UPLMESSAGE. ")
+ 18 : result[result_end_idx:].rindex(" -->")
]
)
if "rejected" in upl_result:
raise UploadError(upl_message)

return upl_message
# endregion


Expand Down
Loading

0 comments on commit 056ae41

Please sign in to comment.