Commit 21e3c976 authored by 神楽坂玲奈's avatar 神楽坂玲奈

it works

parent 6968e187
......@@ -4,10 +4,32 @@ require "sinatra"
require File.dirname(__FILE__) + "/Git.rb"
require File.dirname(__FILE__) + "/Commands.rb"
post '/command' do
# 由于卡图生成时间太长,因此应该收到请求之后立即给一个 2xx 的回复,以防调用的那边认为网络超时而进行不必要的重新请求等操作。
# 如果在一次生成完毕之前,又进来了多个调用,按如下方式处理:
# 1. 如果当前是空闲中,立即启动生成
# 2. 如果当前正在生成中,做一个【存在队列中的请求】的标记
# 3. 当生成完毕之后,如果存在队列标记,重新启动生成
def generate
system('./generate.sh')
if settings.status == :queued
settings.status = :running
generate
else
settings.status = :idle
end
end
configure do
set :status, :idle
end
post '/hook' do
system('./generate.sh')
status 204
if settings.status == :idle
settings.status = :running
Thread.new { generate }
else
settings.status = :queued
end
end
......@@ -26,14 +26,17 @@ for locale in locales/*.yml; do
git_pull ygopro-images ${locale}
rm -rf ygopro-images-${locale} mse-set
./generate.rb ${locale}
if [ ! -f mse-sets/data0-${locale}.mse-set ]; then # skip if no cards updated.
continue
fi
for set in mse-sets/data*-${locale}.mse-set; do
echo ${set}
wine32 magicseteditor/mse.com --export "${set}" "ygopro-images-${locale}/{card.gamecode}.png"
done
for image in ygopro-images-${locale}/*.png; do
output=$(basename "${image}" .png | sed 's/^0*//')
convert "${image}" -colorspace RGB -resize 177x254 -colorspace sRGB "ygopro-images/${output}.jpg"
convert "${image}" -colorspace RGB -resize 44x64 -colorspace sRGB "ygopro-images/thumbnail/${output}.jpg"
id=$(basename "${image}" .png)
convert "${image}" -colorspace RGB -resize 177x254 -colorspace sRGB "ygopro-images/${id}.jpg"
convert "${image}" -colorspace RGB -resize 44x64 -colorspace sRGB "ygopro-images/thumbnail/${id}.jpg"
done
git_push ygopro-images
done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment