Skip to content

Commit 2cabac1

Browse files
committed
Add --resolve-links to resolve remote links
1 parent 6fff329 commit 2cabac1

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

isimip_publisher/commands.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,13 @@ def count_public_links():
154154

155155

156156
def fetch_files():
157-
remote_files = files.list_files(settings.REMOTE_PATH, settings.PATH,
158-
remote_dest=settings.REMOTE_DEST, suffix=settings.PATTERN['suffix'])
157+
if settings.RESOLVE_LINKS:
158+
remote_files = files.list_all(settings.REMOTE_PATH, settings.PATH,
159+
remote_dest=settings.REMOTE_DEST, suffix=settings.PATTERN['suffix'])
160+
else:
161+
remote_files = files.list_files(settings.REMOTE_PATH, settings.PATH,
162+
remote_dest=settings.REMOTE_DEST, suffix=settings.PATTERN['suffix'])
163+
159164
datasets = patterns.match_datasets(settings.PATTERN, settings.REMOTE_PATH, remote_files,
160165
include=settings.INCLUDE, exclude=settings.EXCLUDE)
161166
validation.validate_datasets(settings.SCHEMA, settings.PATH, datasets)

isimip_publisher/main.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ def get_parser(add_path=False, add_subparsers=False):
9797
help='Skip the registration of the DOI when inserting/updating a resource')
9898
parser.add_argument('--skip-checksum', dest='skip_checksum', action='store_true', default=False,
9999
help='Skip the computation of the checksum when checking')
100+
parser.add_argument('--resolve-links', dest='resolve_links', action='store_true', default=False,
101+
help='Resolve remote links as if they were files')
100102
parser.add_argument('--log-level', dest='log_level', default='WARN',
101103
help='Log level (ERROR, WARN, INFO, or DEBUG)')
102104
parser.add_argument('--log-file', dest='log_file',

isimip_publisher/utils/files.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ def list_links(base_path, path, remote_dest=None, suffix=None):
5252
return list_files(base_path, path, remote_dest=remote_dest, suffix=suffix, find_type='l')
5353

5454

55+
def list_all(base_path, path, remote_dest=None, suffix=None):
56+
return list_files(base_path, path, remote_dest=remote_dest, suffix=suffix, find_type=None)
57+
58+
5559
def filter_links(public_path, target_path, path, links):
5660
filtered_links = []
5761
for link_path in links:

0 commit comments

Comments
 (0)