Skip to content

Commit 994e08d

Browse files
committed
Black8 + isort
Signed-off-by: Cédric Foellmi <cedric@onekiloparsec.dev>
1 parent 0d65bfa commit 994e08d

9 files changed

Lines changed: 107 additions & 55 deletions

File tree

arcsecond/api/endpoint.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def _perform_request(self, url, method_name, json=None, data=None, headers=None)
100100
else:
101101
return None, ArcsecondError(response.text, response.status_code)
102102
else:
103-
return None, ArcsecondError('Response is None', -1)
103+
return None, ArcsecondError("Response is None", -1)
104104

105105
def _check_and_set_auth_key(self, headers, url):
106106
# No token header for login and register

arcsecond/cloud/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from .auth import api, login, me
22
from .resources import datasets, telescopes
33
from .uploader import (
4+
AllSkyCameraImageFileUploader,
5+
AllSkyCameraImageUploadContext,
46
DatasetFileUploader,
57
DatasetUploadContext,
6-
AllSkyCameraImageUploadContext,
7-
AllSkyCameraImageFileUploader
88
)
99
from .uploader.constants import Status, Substatus
1010
from .uploads import (

arcsecond/cloud/uploader/allskycameraimages/uploader.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from arcsecond.cloud.uploader.errors import UploadRemoteFileMetadataError
44
from arcsecond.cloud.uploader.uploader import BaseFileUploader
5+
56
from .context import AllSkyCameraImageUploadContext
67

78

arcsecond/cloud/uploader/context.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from arcsecond.api.constants import API_AUTH_PATH_VERIFY_PORTAL
66
from arcsecond.api.endpoint import ArcsecondAPIEndpoint
77
from arcsecond.api.main import ArcsecondAPI
8+
89
from .errors import (
910
InvalidAstronomerError,
1011
InvalidOrgMembershipError,

arcsecond/cloud/uploader/datafiles/uploader.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from arcsecond.cloud.uploader.errors import UploadRemoteFileMetadataError
44
from arcsecond.cloud.uploader.uploader import BaseFileUploader
5+
56
from .context import DatasetUploadContext
67
from .errors import UploadRemoteDatasetPreparationError
78

arcsecond/cloud/uploader/uploader.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ def _perform_upload(self):
107107
return
108108

109109
if "already exists in dataset" in str(
110-
error
110+
error
111111
): # VERY WEAK!!! But solution with HTTP 409 isn't nice either.
112112
self._status = [Status.SKIPPED, Substatus.ALREADY_SYNCED, None]
113113
else:
@@ -125,7 +125,9 @@ def _update_metadata(self, **kwargs):
125125
def _cleanup(self):
126126
for resource in self._cleanup_resources:
127127
try:
128-
if hasattr(resource, 'close') and not getattr(resource, 'closed', False):
128+
if hasattr(resource, "close") and not getattr(
129+
resource, "closed", False
130+
):
129131
resource.close()
130132
except Exception as e:
131133
self._logger.error(f"{self.log_prefix} {str(e)}.")

arcsecond/hosting/main.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import sys
22

33
import click
4-
from arcsecond.api import ArcsecondConfig
54

5+
from arcsecond.api import ArcsecondConfig
66
from arcsecond.hosting import docker
77
from arcsecond.options import State, basic_options
8+
89
from .checks import fetch_profile_email, is_user_logged_in
910
from .constants import BANNER, PREFIX, PREFIX_SUB, PREFIX_SUB_FAIL
1011
from .keygen import KeygenClient

tests/cloud/uploader/datafiles/test_uploader_full_process.py

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,44 +5,54 @@
55
from pathlib import Path
66

77
import responses
8-
98
from api.constants import ARCSECOND_API_URL_DEV
10-
from arcsecond import ArcsecondConfig, DatasetUploadContext, DatasetFileUploader, AllSkyCameraImageUploadContext, \
11-
AllSkyCameraImageFileUploader
12-
from arcsecond.cloud.uploader.constants import Substatus, Status
9+
10+
from arcsecond import (
11+
AllSkyCameraImageFileUploader,
12+
AllSkyCameraImageUploadContext,
13+
ArcsecondConfig,
14+
DatasetFileUploader,
15+
DatasetUploadContext,
16+
)
17+
from arcsecond.cloud.uploader.constants import Status, Substatus
1318
from arcsecond.options import State
14-
from tests.utils import prepare_successful_login, prepare_upload_files, prepare_upload_allskyimage
19+
from tests.utils import (
20+
prepare_successful_login,
21+
prepare_upload_allskyimage,
22+
prepare_upload_files,
23+
)
1524

1625

1726
@responses.activate
1827
def test_full_upload_process_datafiles():
1928
dataset_uuid = str(uuid.uuid4())
2029
telescope_uuid = str(uuid.uuid4())
21-
org_subdomain = 'test-portal'
30+
org_subdomain = "test-portal"
2231

2332
prepare_successful_login(org_subdomain)
2433
prepare_upload_files(dataset_uuid, telescope_uuid, org_subdomain)
2534

2635
# file upload
2736
datafile_id = random.randint(1, 1000)
2837
responses.post(
29-
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, 'datafiles']) + "/",
38+
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, "datafiles"]) + "/",
3039
status=201,
31-
json={"status": "success", "id": datafile_id}
40+
json={"status": "success", "id": datafile_id},
3241
)
3342
# update metadata
3443
responses.patch(
35-
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, 'datafiles', str(datafile_id)]) + "/",
44+
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, "datafiles", str(datafile_id)])
45+
+ "/",
3646
status=200,
37-
json={"id": datafile_id}
47+
json={"id": datafile_id},
3848
)
3949

40-
state = State(is_using_cli=False, verbose=False, api_name='cloud')
50+
state = State(is_using_cli=False, verbose=False, api_name="cloud")
4151
config = {
42-
'cloud': {
43-
'username': 'dummy',
44-
'upload_key': '1234',
45-
'api_server': ARCSECOND_API_URL_DEV
52+
"cloud": {
53+
"username": "dummy",
54+
"upload_key": "1234",
55+
"api_server": ARCSECOND_API_URL_DEV,
4656
}
4757
}
4858
config = ArcsecondConfig(state, config) # it will read your config file.
@@ -52,12 +62,12 @@ def test_full_upload_process_datafiles():
5262
input_dataset_uuid_or_name=dataset_uuid,
5363
input_telescope_uuid=telescope_uuid,
5464
is_raw_data=True,
55-
org_subdomain=org_subdomain
65+
org_subdomain=org_subdomain,
5666
)
5767

5868
context.validate() # important step to perform before uploading.
5969
fixtures_dir = Path(__file__).parent.parent.parent.parent / "fixtures"
60-
fixture_files = list(fixtures_dir.glob('*.fits'))
70+
fixture_files = list(fixtures_dir.glob("*.fits"))
6171

6272
for fixture_file in fixture_files:
6373
# Create a temporary directory and copy the fixture file there
@@ -67,10 +77,7 @@ def test_full_upload_process_datafiles():
6777

6878
# Use the actual file for uploading
6979
uploader = DatasetFileUploader(
70-
context,
71-
str(temp_dir),
72-
str(temp_path),
73-
display_progress=False
80+
context, str(temp_dir), str(temp_path), display_progress=False
7481
)
7582

7683
status, substatus, error = uploader.upload_file()
@@ -82,44 +89,45 @@ def test_full_upload_process_datafiles():
8289
@responses.activate
8390
def test_full_upload_process_allskyimages():
8491
camera_uuid = str(uuid.uuid4())
85-
org_subdomain = 'test-portal'
92+
org_subdomain = "test-portal"
8693

8794
prepare_successful_login(org_subdomain)
8895
prepare_upload_allskyimage(camera_uuid, org_subdomain)
8996

9097
# file upload
9198
image_id = random.randint(1, 1000)
9299
responses.post(
93-
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, 'allskycameraimages']) + "/",
100+
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, "allskycameraimages"]) + "/",
94101
status=201,
95-
json={"status": "success", "id": image_id}
102+
json={"status": "success", "id": image_id},
96103
)
97104
# update metadata
98105
responses.patch(
99-
"/".join([ARCSECOND_API_URL_DEV, org_subdomain, 'allskycameraimages', str(image_id)]) + "/",
106+
"/".join(
107+
[ARCSECOND_API_URL_DEV, org_subdomain, "allskycameraimages", str(image_id)]
108+
)
109+
+ "/",
100110
status=200,
101-
json={"id": image_id}
111+
json={"id": image_id},
102112
)
103113

104-
state = State(is_using_cli=False, verbose=False, api_name='cloud')
114+
state = State(is_using_cli=False, verbose=False, api_name="cloud")
105115
config = {
106-
'cloud': {
107-
'username': 'dummy',
108-
'upload_key': '1234',
109-
'api_server': ARCSECOND_API_URL_DEV
116+
"cloud": {
117+
"username": "dummy",
118+
"upload_key": "1234",
119+
"api_server": ARCSECOND_API_URL_DEV,
110120
}
111121
}
112122
config = ArcsecondConfig(state, config) # it will read your config file.
113123

114124
context = AllSkyCameraImageUploadContext(
115-
config,
116-
input_camera_uuid=camera_uuid,
117-
org_subdomain=org_subdomain
125+
config, input_camera_uuid=camera_uuid, org_subdomain=org_subdomain
118126
)
119127

120128
context.validate() # important step to perform before uploading.
121129
fixtures_dir = Path(__file__).parent.parent.parent.parent / "fixtures"
122-
fixture_files = list(fixtures_dir.glob('*.fits'))
130+
fixture_files = list(fixtures_dir.glob("*.fits"))
123131

124132
for fixture_file in fixture_files:
125133
# Create a temporary directory and copy the fixture file there
@@ -129,10 +137,7 @@ def test_full_upload_process_allskyimages():
129137

130138
# Use the actual file for uploading
131139
uploader = AllSkyCameraImageFileUploader(
132-
context,
133-
str(temp_dir),
134-
str(temp_path),
135-
display_progress=False
140+
context, str(temp_dir), str(temp_path), display_progress=False
136141
)
137142

138143
status, substatus, error = uploader.upload_file()

tests/utils.py

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
import responses
44

55
from arcsecond import ArcsecondConfig
6-
from arcsecond.api.constants import API_AUTH_PATH_VERIFY, ARCSECOND_API_URL_DEV, API_AUTH_PATH_VERIFY_PORTAL
6+
from arcsecond.api.constants import (
7+
API_AUTH_PATH_VERIFY,
8+
API_AUTH_PATH_VERIFY_PORTAL,
9+
ARCSECOND_API_URL_DEV,
10+
)
711
from arcsecond.options import State
812

913
TEST_LOGIN_USERNAME = "robot1"
@@ -34,7 +38,7 @@ def make_profile_json(subdomain, role):
3438
return json.dumps(make_profile(subdomain, role))
3539

3640

37-
def prepare_successful_login(org_subdomain=''):
41+
def prepare_successful_login(org_subdomain=""):
3842
config = ArcsecondConfig(State(api_name="test"))
3943
config.api_server = ARCSECOND_API_URL_DEV
4044
responses.post(
@@ -48,33 +52,70 @@ def prepare_successful_login(org_subdomain=''):
4852
)
4953

5054

51-
def prepare_upload_files(dataset_uuid, telescope_uuid, org_subdomain=''):
55+
def prepare_upload_files(dataset_uuid, telescope_uuid, org_subdomain=""):
5256
responses.get(
53-
"/".join([part for part in [ARCSECOND_API_URL_DEV, org_subdomain, 'datasets', dataset_uuid] if part]) + "/",
57+
"/".join(
58+
[
59+
part
60+
for part in [
61+
ARCSECOND_API_URL_DEV,
62+
org_subdomain,
63+
"datasets",
64+
dataset_uuid,
65+
]
66+
if part
67+
]
68+
)
69+
+ "/",
5470
status=200,
5571
json={"uuid": dataset_uuid, "name": "dummy dataset"},
5672
)
5773
responses.get(
58-
"/".join([part for part in [ARCSECOND_API_URL_DEV, org_subdomain, 'telescopes', telescope_uuid] if part]) + "/",
74+
"/".join(
75+
[
76+
part
77+
for part in [
78+
ARCSECOND_API_URL_DEV,
79+
org_subdomain,
80+
"telescopes",
81+
telescope_uuid,
82+
]
83+
if part
84+
]
85+
)
86+
+ "/",
5987
status=200,
6088
json={"uuid": telescope_uuid, "name": "dummy telescope"},
6189
)
6290
if org_subdomain:
6391
responses.get(
64-
"/".join([ARCSECOND_API_URL_DEV, 'organisations', org_subdomain]) + "/",
92+
"/".join([ARCSECOND_API_URL_DEV, "organisations", org_subdomain]) + "/",
6593
status=200,
6694
json={"subdomain": org_subdomain, "name": "dummy org"},
6795
)
6896

69-
def prepare_upload_allskyimage(camera_uuid, org_subdomain=''):
97+
98+
def prepare_upload_allskyimage(camera_uuid, org_subdomain=""):
7099
responses.get(
71-
"/".join([part for part in [ARCSECOND_API_URL_DEV, org_subdomain, 'allskycameras', camera_uuid] if part]) + "/",
100+
"/".join(
101+
[
102+
part
103+
for part in [
104+
ARCSECOND_API_URL_DEV,
105+
org_subdomain,
106+
"allskycameras",
107+
camera_uuid,
108+
]
109+
if part
110+
]
111+
)
112+
+ "/",
72113
status=201,
73-
json={"status": "success", "uuid": camera_uuid}
114+
json={"status": "success", "uuid": camera_uuid},
74115
)
75116
if org_subdomain:
76117
responses.get(
77-
"/".join([ARCSECOND_API_URL_DEV, 'organisations', org_subdomain]) + "/",
118+
"/".join([ARCSECOND_API_URL_DEV, "organisations", org_subdomain]) + "/",
78119
status=200,
79120
json={"subdomain": org_subdomain, "name": "dummy org"},
80121
)

0 commit comments

Comments
 (0)