You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bitbucket-pipelines.yml
+21-9Lines changed: 21 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -39,6 +39,8 @@ pipelines:
39
39
- name: openICPSRID
40
40
- name: jiraticket
41
41
- name: ZenodoID
42
+
# Accepts: numeric ID, full URL, DOI, or community request URL.
43
+
# Leave blank if jiraticket is set (orchestrator will query Jira).
42
44
#- name: DataverseID
43
45
#- name: OSFID
44
46
- name: ProcessStata
@@ -87,19 +89,19 @@ pipelines:
87
89
- if [ -z $openICPSRID ]; then openICPSRID=$openicpsr; fi
88
90
- if [ -z $ZenodoID ]; then ZenodoID=$zenodo; fi
89
91
- projectID="${openICPSRID}"
90
-
- projectID="${projectID:-zenodo-$ZenodoID}"
91
92
- if [ -z "$jiraticket" ] && [ -n "${openICPSRID:-}" ]; then jiraticket=$(python3 tools/jira_find_task_by_icpsr.py "$openICPSRID" 2>/dev/null || true); else echo "Jira ticket not set"; fi
92
93
- export jiraticket
93
94
- echo "Using Jira case $jiraticket"
94
95
- ./tools/update_config.sh
95
96
- ./automations/70_publish_comment.sh 1-populate-from-icpsr started
96
-
- if [ -d $projectID ]; then \rm -rf $projectID; fi
97
+
- if [ -d "${projectID:-__none__}" ]; then \rm -rf $projectID; fi
97
98
- if [ ! -z $openICPSRID ]; then python3 tools/download_openicpsr-private.py $openICPSRID; fi
98
-
- if [ ! -z $ZenodoID ]; then python3 tools/download_zenodo_draft.py $ZenodoID; fi
99
+
- if [ ! -z "$ZenodoID" ] || [ ! -z "$jiraticket" ]; then zenodo_dir=$(python3 tools/download_zenodo.py ${ZenodoID:+--zenodo-id "$ZenodoID"} ${jiraticket:+--jira-ticket "$jiraticket"} --print-id 2>&1 | tail -1); fi
100
+
- if [ -z "$projectID" ] && [ ! -z "${zenodo_dir:-}" ]; then projectID="$zenodo_dir"; fi
99
101
- ./automations/00_unpack_zip.sh $projectID
100
102
- mkdir cache
101
103
- if [ ! -z $openICPSRID ]; then mv *.zip cache/; fi
102
-
- if [ ! -z $ZenodoID ]; then zip -rp cache/${projectID}.zip $projectID/* ; fi
104
+
- if [ ! -z "${zenodo_dir:-}" ]; then zip -rp cache/${projectID}.zip $projectID/* ; fi
103
105
- ./automations/00_prepare_aux.sh
104
106
- ./automations/01_check_file_sizes.sh $projectID
105
107
- ./automations/02_list_data_files.sh $projectID
@@ -119,6 +121,7 @@ pipelines:
119
121
- if [ -z $openICPSRID ]; then openICPSRID=$openicpsr; fi
120
122
- if [ -z $ZenodoID ]; then ZenodoID=$zenodo; fi
121
123
- projectID="${openICPSRID}"
124
+
- if [ ! -z "$ZenodoID" ] && echo "$ZenodoID" | grep -q '/'; then ZenodoID=$(echo "$ZenodoID" | python3 -c "import sys,re; s=sys.stdin.read().strip().rstrip('/'); m=re.search(r'zenodo\.org/(?:records?|deposit)/(\d+)', s) or re.search(r'zenodo\.(\d+)', s); print(m.group(1) if m else s)"); fi
122
125
- projectID="${projectID:-zenodo-$ZenodoID}"
123
126
- if [ -f cache/$projectID.zip ]; then echo "✅ Found $projectID.zip in cache"; else echo "⚠️ Did not find $projectID.zip in cache. 🛑 You may need to use the BIG pipeline!!! "; exit 2; fi
124
127
- parallel: # we will run these in parallel
@@ -134,6 +137,7 @@ pipelines:
134
137
- if [ -z $openICPSRID ]; then openICPSRID=$openicpsr; fi
135
138
- if [ -z $ZenodoID ]; then ZenodoID=$zenodo; fi
136
139
- projectID="${openICPSRID}"
140
+
- if [ ! -z "$ZenodoID" ] && echo "$ZenodoID" | grep -q '/'; then ZenodoID=$(echo "$ZenodoID" | python3 -c "import sys,re; s=sys.stdin.read().strip().rstrip('/'); m=re.search(r'zenodo\.org/(?:records?|deposit)/(\d+)', s) or re.search(r'zenodo\.(\d+)', s); print(m.group(1) if m else s)"); fi
# download_zenodo_public.sh - Download files from public Zenodo repositories
2
+
3
+
# download_zenodo_public.py — Download files from public Zenodo records
3
4
4
5
::::{warning}
5
6
@@ -9,93 +10,54 @@ This documentation was AI-generated by Claude Code and should be reviewed for ac
9
10
10
11
## Description
11
12
12
-
This script downloads all files from a public Zenodo record using the zenodo_get command-line tool. It's designed for replication workflows where researchers need to download published datasets, code, and supplementary materials from Zenodo repositories for analysis and verification.
13
+
Pure-Python script that downloads all files from a published Zenodo record,
14
+
then writes SHA-256, MD5, and metadata manifests to `generated/` using the
15
+
same format as `download_zenodo_draft.py`.
16
+
17
+
The legacy shell wrapper `download_zenodo_public.sh` is retained for
18
+
backwards compatibility but is deprecated; use the Python script instead.
0 commit comments