Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ futures-util = "0.3.30"
go-defer = "0.1.0"
russh = "0.45.0"
russh-keys = "0.45.0"
axum = "0.7.5"
axum-extra = "0.9.3"
axum-server = "0.7"
axum = "0.7.6"
axum-extra = "0.9.4"
axum-server = "0.7.1"
tower-http = "0.6.0"
tower = "0.5.1"
hex = "0.4.3"
Expand Down
18 changes: 11 additions & 7 deletions scripts/crates-sync/crates-sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,10 @@ def filter_member(tarinfo, filterpath):
print_red(f"Warning: Failed to read crate file {crate_path}. Skipping extraction.")
return False

def process_crate_version(crate_name, version, crate_path, git_repos_dir, git_base_url):
def process_crate_version(num, crate_name, version, crate_path, git_repos_dir, git_base_url):
# Record start time for the entire crate
crate_start_time = datetime.now()
print_blue(f"Started processing crate {crate_name} at {crate_start_time}")
print_blue(f"Started processing the crate {crate_name} at {crate_start_time}")

# Process a specific version of a crate
repo_path = os.path.join(git_repos_dir, crate_name, version)
Expand Down Expand Up @@ -159,13 +159,13 @@ def process_crate_version(crate_name, version, crate_path, git_repos_dir, git_ba
# Record end time and calculate duration for the entire crate
crate_end_time = datetime.now()
crate_duration = crate_end_time - crate_start_time
print_blue(f"Finished processing crate {crate_name} at {crate_end_time}")
print_blue(f"Finished processing the {num} crate {crate_name} at {crate_end_time}")
print_blue(f"Total processing time for crate {crate_name}: {crate_duration}")

# Print separator
print("------------------")

def process_crate(crate_name, versions, crates_dir, git_repos_dir, dl_base_url, git_base_url):
def process_crate(num, crate_name, versions, crates_dir, git_repos_dir, dl_base_url, git_base_url):
# Process all versions of a crate
for v in versions:
repo_path = os.path.join(git_repos_dir, crate_name, v)
Expand All @@ -174,9 +174,10 @@ def process_crate(crate_name, versions, crates_dir, git_repos_dir, dl_base_url,
continue

crate_path = check_and_download_crate(crates_dir, crate_name, v, dl_base_url)
process_crate_version(crate_name, v, crate_path, git_repos_dir, git_base_url)
process_crate_version(num, crate_name, v, crate_path, git_repos_dir, git_base_url)
num += 1

print_blue(f"Finished processing {crate_name}")
print_blue(f"Finished processing {crate_name}")

def scan_and_process_crates(index_path, crates_dir, git_repos_dir, git_base_url):
# Scan the crates.io index and process all crates
Expand Down Expand Up @@ -224,9 +225,12 @@ def scan_and_process_crates(index_path, crates_dir, git_repos_dir, git_base_url)
except Exception as e:
print_red(f"Error processing file {full_path}: {str(e)}")

num = 0

# Process each crate
for crate_name, versions in crates.items():
process_crate(crate_name, versions, crates_dir, git_repos_dir, dl_base_url, git_base_url)
process_crate(num, crate_name, versions, crates_dir, git_repos_dir, dl_base_url, git_base_url)
num += len(versions)

return len(crates)

Expand Down