소스 검색

add a migration script for web panel view

tags/1.5
Nico Rey 4 년 전
부모
커밋
b88fcec50c
2개의 변경된 파일52개의 추가작업 그리고 0개의 파일을 삭제
  1. +39
    -0
      migrate_data.sh
  2. +13
    -0
      panel.sql

+ 39
- 0
migrate_data.sh 파일 보기

@@ -0,0 +1,39 @@
#!/bin/bash

# TODO: Warn the user
BASEPATH="/var/www/wx/image"
FINALPATH="/var/www/wx/images"
SAT_NAMES="NOAA15 NOAA18 NOAA19 METEOR-M2"
DB_PATH="/var/ramfs/panel.db"

cd "$BASEPATH" || exit 1
mkdir -p "$FINALPATH"

for filename in $(find . -name *.jpg); do
basename="$(echo "$filename" | sed 's~.*/~~')"
for prefix in $SAT_NAMES; do
basedate="$(echo "$basename" | sed -e "s/^$prefix//" | cut -f1,2 -d'-' | sed -e "s/-//")"
if [[ $basename == *"$prefix"* ]]; then
sat_name=$prefix
fi
done
date_normalized=$(echo "$basedate" | sed -e "s/^$sat_name//;s/./&:/12;s/./&:/10;s/./& /8;s/./&\//6;s/./&\//4")
epoch_date=$(date "+%s" -d "$date_normalized")
passname=$(echo "$basename" | cut -f1,2 -d'-')
echo "Migration in progress: $basename"
cp "$BASEPATH/$filename" "$FINALPATH"
if [[ $basename == *"METEOR"* ]]; then
sqlite3 "$DB_PATH" "insert into decoded_passes (pass_start, file_path, daylight_pass, is_noaa) values ($epoch_date,\"$passname\",1,0);"
elif [[ $basename == *"ZA"* ]]; then
if [[ -f "$FINALPATH/$passname-MSA.jpg" ]]; then
sqlite3 "$DB_PATH" "insert into decoded_passes (pass_start, file_path, daylight_pass, is_noaa) values ($epoch_date,\"$passname\",1,1);"
else
sqlite3 "$DB_PATH" "insert into decoded_passes (pass_start, file_path, daylight_pass, is_noaa) values ($epoch_date,\"$passname\",0,1);"
fi
fi
echo "Done."
echo ""
done



+ 13
- 0
panel.sql 파일 보기

@@ -0,0 +1,13 @@
create table predict_passes(
sat_name text not null,
pass_start timestamp primary key default (strftime('%s', 'now')) not null,
pass_end timestamp default (strftime('%s', 'now')) not null,
max_elev int not null);


CREATE TABLE decoded_passes(
id integer primary key autoincrement,
pass_start integer,
file_path text not null,
daylight_pass boolean, is_noaa boolean,
foreign key(pass_start) references passes(pass_start));

불러오는 중...
취소
저장