mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-16 11:23:32 +00:00
fix: modify the archived version & update code to download only the a… (#11228)
This commit is contained in:
parent
ef6a410091
commit
e1a29080ff
@ -170,14 +170,6 @@ module.exports = {
|
|||||||
value: '<div class="dropdown__link"><b>Archived versions</b></div>',
|
value: '<div class="dropdown__link"><b>Archived versions</b></div>',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: `
|
|
||||||
<a class="dropdown__link" href="https://docs-website-qou70o69f-acryldata.vercel.app/docs/features">0.14.0
|
|
||||||
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
|
|
||||||
</a>
|
|
||||||
`,
|
|
||||||
type: "html",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: `
|
value: `
|
||||||
<a class="dropdown__link" href="https://docs-website-lzxh86531-acryldata.vercel.app/docs/features">0.13.0
|
<a class="dropdown__link" href="https://docs-website-lzxh86531-acryldata.vercel.app/docs/features">0.13.0
|
||||||
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
|
<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import os
|
|||||||
import tarfile
|
import tarfile
|
||||||
import time
|
import time
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
import shutil
|
||||||
|
|
||||||
repo_url = "https://api.github.com/repos/datahub-project/static-assets"
|
repo_url = "https://api.github.com/repos/datahub-project/static-assets"
|
||||||
|
|
||||||
@ -18,7 +19,7 @@ def download_file(url, destination):
|
|||||||
|
|
||||||
|
|
||||||
def fetch_urls(
|
def fetch_urls(
|
||||||
repo_url: str, folder_path: str, file_format: str, max_retries=3, retry_delay=5
|
repo_url: str, folder_path: str, file_format: str, active_versions: list, max_retries=3, retry_delay=5
|
||||||
):
|
):
|
||||||
api_url = f"{repo_url}/contents/{folder_path}"
|
api_url = f"{repo_url}/contents/{folder_path}"
|
||||||
for attempt in range(max_retries + 1):
|
for attempt in range(max_retries + 1):
|
||||||
@ -30,7 +31,7 @@ def fetch_urls(
|
|||||||
urls = [
|
urls = [
|
||||||
file["download_url"]
|
file["download_url"]
|
||||||
for file in json.loads(data)
|
for file in json.loads(data)
|
||||||
if file["name"].endswith(file_format)
|
if file["name"].endswith(file_format) and any(version in file["name"] for version in active_versions)
|
||||||
]
|
]
|
||||||
print(urls)
|
print(urls)
|
||||||
return urls
|
return urls
|
||||||
@ -48,12 +49,22 @@ def extract_tar_file(destination_path):
|
|||||||
tar.extractall()
|
tar.extractall()
|
||||||
os.remove(destination_path)
|
os.remove(destination_path)
|
||||||
|
|
||||||
|
def get_active_versions():
|
||||||
|
# read versions.json
|
||||||
|
with open("versions.json") as f:
|
||||||
|
versions = json.load(f)
|
||||||
|
return versions
|
||||||
|
|
||||||
|
def clear_directory(directory):
|
||||||
|
if os.path.exists(directory):
|
||||||
|
shutil.rmtree(directory)
|
||||||
|
os.makedirs(directory)
|
||||||
|
|
||||||
def download_versioned_docs(folder_path: str, destination_dir: str, file_format: str):
|
def download_versioned_docs(folder_path: str, destination_dir: str, file_format: str):
|
||||||
if not os.path.exists(destination_dir):
|
clear_directory(destination_dir) # Clear the directory before downloading
|
||||||
os.makedirs(destination_dir)
|
|
||||||
|
|
||||||
urls = fetch_urls(repo_url, folder_path, file_format)
|
active_versions = get_active_versions()
|
||||||
|
urls = fetch_urls(repo_url, folder_path, file_format, active_versions)
|
||||||
|
|
||||||
for url in urls:
|
for url in urls:
|
||||||
filename = os.path.basename(url)
|
filename = os.path.basename(url)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user