parent
15a40b93fd
commit
0a7c41a3e4
1 changed files with 6 additions and 45 deletions
|
|
@ -23,56 +23,20 @@ let
|
|||
|
||||
WANIKANI_TOKEN=$(< /persist/wanikani)
|
||||
|
||||
# Maximum number of reviews to maintain
|
||||
MAX_REVIEWS=200
|
||||
ASSIGNMENT_IDS=$(curl -s -H "Authorization: Bearer 2da24e4a-ba89-4c4a-9047-d08f21e9dd01" "https://api.wanikani.com/v2/assignments?immediately_available_for_lessons=true" | jq ".data[] | .id" )
|
||||
|
||||
echo "=== Checking current reviews ==="
|
||||
|
||||
# Get current reviews (SRS stages 0-4)
|
||||
current_reviews=0
|
||||
for i in {0..4}; do
|
||||
stage_count=$(curl -s -H "Authorization: Bearer 2da24e4a-ba89-4c4a-9047-d08f21e9dd01" "https://api.wanikani.com/v2/assignments?srs_stages=$i" | jq '.total_count')
|
||||
current_reviews=$((current_reviews + stage_count))
|
||||
echo "SRS stage $i: $stage_count items"
|
||||
done
|
||||
|
||||
echo "Current total reviews: $current_reviews"
|
||||
echo "Maximum reviews target: $MAX_REVIEWS"
|
||||
|
||||
if [ $current_reviews -ge $MAX_REVIEWS ]; then
|
||||
echo "Reviews ($current_reviews) >= max ($MAX_REVIEWS). No lessons to bypass."
|
||||
sleep 3600
|
||||
exit 0
|
||||
fi
|
||||
|
||||
lessons_to_bypass=$((MAX_REVIEWS - current_reviews))
|
||||
echo "Need to bypass $lessons_to_bypass lessons to reach $MAX_REVIEWS total"
|
||||
|
||||
# Get available lessons (limited to what we need)
|
||||
ASSIGNMENT_IDS=$(curl -s -H "Authorization: Bearer 2da24e4a-ba89-4c4a-9047-d08f21e9dd01" "https://api.wanikani.com/v2/assignments?immediately_available_for_lessons=true" | jq -r ".data[] | .id" | head -n $lessons_to_bypass)
|
||||
|
||||
available_lessons=$(echo "$ASSIGNMENT_IDS" | wc -l)
|
||||
echo "Available lessons: $available_lessons"
|
||||
|
||||
if [ $available_lessons -eq 0 ]; then
|
||||
echo "No lessons available to bypass."
|
||||
sleep 3600
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Limit to what we actually need
|
||||
actual_bypass=$(echo "$ASSIGNMENT_IDS" | wc -l)
|
||||
echo "Will bypass $actual_bypass lessons"
|
||||
echo "number of assignments: $(echo "$ASSIGNMENT_IDS" | wc -l)"
|
||||
|
||||
# "2017-09-05T23:41:28.980679Z" i need to create this from current time
|
||||
|
||||
TIME_STRING=$(date -u +"%Y-%m-%dT%H:%M:%S.%6NZ")
|
||||
echo "Current time: $TIME_STRING"
|
||||
echo "Current time:"
|
||||
echo "$TIME_STRING"
|
||||
|
||||
echo "=== Starting assignments ==="
|
||||
# echo Starting assignments:
|
||||
for assignment_id in $ASSIGNMENT_IDS; do
|
||||
echo "Starting assignment $assignment_id"
|
||||
curl -s "https://api.wanikani.com/v2/assignments/$assignment_id/start" \
|
||||
curl "https://api.wanikani.com/v2/assignments/$assignment_id/start" \
|
||||
-X "PUT" \
|
||||
-H "Wanikani-Revision: 20170710" \
|
||||
-H "Content-Type: application/json; charset=utf-8" \
|
||||
|
|
@ -81,9 +45,6 @@ let
|
|||
echo
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "Successfully bypassed $actual_bypass lessons"
|
||||
echo "New total should be approximately: $((current_reviews + actual_bypass))"
|
||||
sleep 3600
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue