Skip to content

Commit 2cb762e

Browse files
authored
Merge pull request #10 from Trawlr/dev
fix: Fix WebSocket token authentication after middleware introduction.
2 parents a36b6f6 + 955cf8a commit 2cb762e

2 files changed

Lines changed: 55 additions & 3 deletions

File tree

app/api/ws_auth.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ async def __call__(self, scope, receive, send):
3838
token_values = params.get('token')
3939

4040
if token_values:
41-
scope['user'] = await _get_user_from_token(token_values[0])
42-
else:
43-
scope['user'] = AnonymousUser()
41+
user = await _get_user_from_token(token_values[0])
42+
if user.is_authenticated:
43+
scope['user'] = user
4444

4545
return await super().__call__(scope, receive, send)
4646

helpers/download.ps1

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Note: this download helper was AI generated. Milage may vary.
2+
3+
$base = "https://TRAWLR.INSTANCE/api/v1"
4+
$token = "APIKEY"
5+
$channelId = "100" # trawlr source ID
6+
$outDir = "C:\trawlr"
7+
$headers = @{ Authorization = "Bearer $token" }
8+
9+
New-Item -ItemType Directory -Force $outDir | Out-Null
10+
11+
# Only images downloaded in the last 30 days will be downloaded
12+
$since = [DateTime]::UtcNow.AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ssZ")
13+
$enc = [uri]::EscapeDataString($since)
14+
Write-Host "Downloading images for channel $channelId since $since"
15+
16+
$ok = 0; $skipped = 0
17+
$seen = [System.Collections.Generic.HashSet[int]]::new()
18+
$pageNum = 1
19+
do {
20+
$page = Invoke-RestMethod -Headers $headers `
21+
-Uri "$base/files?channel=$channelId&fileType=photo&downloadedAfter=$enc&page=$pageNum"
22+
23+
foreach ($f in $page.results) {
24+
$dlId = $f.id
25+
if (-not $f.filePath) {
26+
$detail = Invoke-RestMethod -Headers $headers -Uri "$base/files/$($f.id)"
27+
if ($detail.originalFile) {
28+
$dlId = $detail.originalFile
29+
} else {
30+
$skipped++
31+
Write-Warning "Skipped $($f.id): no file on storage (deletedFromDisk=$($detail.deletedFromDisk))"
32+
continue
33+
}
34+
}
35+
36+
if (-not $seen.Add([int]$dlId)) { continue }
37+
38+
$dest = Join-Path $outDir "$dlId.jpg"
39+
try {
40+
Invoke-WebRequest -Headers $headers -Uri "$base/files/$dlId/download" -OutFile $dest -ErrorAction Stop
41+
$ok++
42+
Write-Host "Downloaded file $dlId ($dest)"
43+
} catch {
44+
$skipped++
45+
Write-Warning "Skipped file $dlId : $($_.Exception.Message)"
46+
if (Test-Path $dest) { Remove-Item $dest -Force }
47+
}
48+
}
49+
$pageNum++
50+
} while ($page.next)
51+
52+
Write-Host "Done. $ok downloaded, $skipped skipped -> $outDir"

0 commit comments

Comments
 (0)