Compare commits

..

2 Commits

Author SHA1 Message Date
448038dd0f fix: bug in UID parsing trailing \x00 2026-06-08 10:32:52 +07:00
5f9abd9707 refactor: remove vendored binaries and raw assets from repo 2026-06-08 09:38:27 +07:00
4 changed files with 17 additions and 8 deletions

View File

@@ -46,8 +46,15 @@ scripts/setup-microdicom.sh --source-dir /path/to/microdicom
Or download your hosted release assets directly: Or download your hosted release assets directly:
```bash ```bash
scripts/setup-dcmtk.sh --archive-url https://github.com/<owner>/<repo>/releases/download/<tag>/dcmtk-bin.tar.gz scripts/setup-dcmtk.sh --archive-url https://<gitea-host>/<owner>/<repo>/releases/download/<tag>/dcmtk-bin.tar.gz
scripts/setup-microdicom.sh --archive-url https://github.com/<owner>/<repo>/releases/download/<tag>/microdicom.zip scripts/setup-microdicom.sh --archive-url https://<gitea-host>/<owner>/<repo>/releases/download/<tag>/microdicom.zip
```
Example:
```bash
scripts/setup-dcmtk.sh --archive-url https://devone.aplikasi.web.id/gitea/farrel/dicom-iso/releases/download/1/dcmtk-bin.tar.gz
scripts/setup-microdicom.sh --archive-url https://devone.aplikasi.web.id/gitea/farrel/dicom-iso/releases/download/1/microdicom.zip
``` ```
Create a local config file from the template: Create a local config file from the template:

View File

@@ -142,7 +142,7 @@ func RunFindSCUStudyUIDs(ctx context.Context, bin, ourAE, pacsAE, pacsHost strin
uidRe := regexp.MustCompile(`\(0020,000d\) UI \[([^\]]+)\]`) uidRe := regexp.MustCompile(`\(0020,000d\) UI \[([^\]]+)\]`)
seen := make(map[string]bool) seen := make(map[string]bool)
for _, match := range uidRe.FindAllStringSubmatch(combined, -1) { for _, match := range uidRe.FindAllStringSubmatch(combined, -1) {
uid := strings.TrimSpace(match[1]) uid := strings.Trim(match[1], " \t\r\n\x00")
if uid == "" || seen[uid] { if uid == "" || seen[uid] {
continue continue
} }

View File

@@ -95,12 +95,12 @@ trap cleanup EXIT
if [[ -n "$ARCHIVE_URL" ]]; then if [[ -n "$ARCHIVE_URL" ]]; then
TMP_DIR="$(mktemp -d)" TMP_DIR="$(mktemp -d)"
archive="$TMP_DIR/archive" archive_name="$(basename "${ARCHIVE_URL%%\?*}")"
[[ -n "$archive_name" && "$archive_name" != "/" ]] || archive_name="archive.tar.gz"
archive="$TMP_DIR/$archive_name"
download "$ARCHIVE_URL" "$archive" download "$ARCHIVE_URL" "$archive"
mkdir -p "$TMP_DIR/extracted" mkdir -p "$TMP_DIR/extracted"
mv "$archive" "$TMP_DIR/archive$(basename "$ARCHIVE_URL" | sed 's/.*\(\.[^.][^.]*\)$/\1/')" 2>/dev/null || true extract_archive "$archive" "$TMP_DIR/extracted"
archive_path="$(find "$TMP_DIR" -maxdepth 1 -type f | head -n 1)"
extract_archive "$archive_path" "$TMP_DIR/extracted"
SOURCE_DIR="$TMP_DIR/extracted" SOURCE_DIR="$TMP_DIR/extracted"
fi fi

View File

@@ -91,7 +91,9 @@ trap cleanup EXIT
if [[ -n "$ARCHIVE_URL" ]]; then if [[ -n "$ARCHIVE_URL" ]]; then
TMP_DIR="$(mktemp -d)" TMP_DIR="$(mktemp -d)"
archive="$TMP_DIR/$(basename "$ARCHIVE_URL")" archive_name="$(basename "${ARCHIVE_URL%%\?*}")"
[[ -n "$archive_name" && "$archive_name" != "/" ]] || archive_name="microdicom.zip"
archive="$TMP_DIR/$archive_name"
download "$ARCHIVE_URL" "$archive" download "$ARCHIVE_URL" "$archive"
mkdir -p "$TMP_DIR/extracted" mkdir -p "$TMP_DIR/extracted"
extract_archive "$archive" "$TMP_DIR/extracted" extract_archive "$archive" "$TMP_DIR/extracted"