This shows you the differences between two versions of the page.
| — | sdk:scripts:transfer [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== SDK Script transfer.are ====== | ||
| + | <code c transfer.are> | ||
| + | /* DESC: This scripts stores the latest GNSS positions in a remote FTP file | ||
| + | * Copyright (C) 2014 NetModule AG, Switzerland | ||
| + | */ | ||
| + | |||
| + | SITE = " | ||
| + | USR = " | ||
| + | PWD = " | ||
| + | DATA = " | ||
| + | |||
| + | /* list a directory */ | ||
| + | files = nb_transfer_list(USR, | ||
| + | |||
| + | /* dump(files); | ||
| + | |||
| + | /* | ||
| + | * delete all files starting with DATA, filesize greater 1k and older than 10 minutes | ||
| + | */ | ||
| + | for (i = 0; i < length(files); | ||
| + | file = files[i]; | ||
| + | |||
| + | name = struct_get(file, | ||
| + | size = struct_get(file, | ||
| + | tm = struct_get(file, | ||
| + | |||
| + | if (left(name, strlen(DATA)) != DATA) continue; | ||
| + | |||
| + | if (size < 1024) continue; | ||
| + | |||
| + | now = localtime(time()); | ||
| + | age = mktime(now) - mktime(tm); | ||
| + | |||
| + | if (age <= (60 * 10)) continue; | ||
| + | |||
| + | nb_syslog(" | ||
| + | |||
| + | if (nb_transfer_delete(USR, | ||
| + | nb_syslog(" | ||
| + | } | ||
| + | } | ||
| + | |||
| + | /* | ||
| + | * download data, modify and upload it | ||
| + | */ | ||
| + | |||
| + | if (nb_transfer_get(USR, | ||
| + | fp = fopen(DATA, " | ||
| + | if (fp) { | ||
| + | status = nb_status(" | ||
| + | lat = struct_get(status, | ||
| + | lon = struct_get(status, | ||
| + | now = localtime(time()); | ||
| + | timestamp = strftime(" | ||
| + | |||
| + | fwrite(fp, sprintf(" | ||
| + | fclose(fp); | ||
| + | |||
| + | nb_syslog(" | ||
| + | |||
| + | if (nb_transfer_put(USR, | ||
| + | nb_syslog(" | ||
| + | } else { | ||
| + | nb_syslog(" | ||
| + | } | ||
| + | |||
| + | unlink(DATA); | ||
| + | |||
| + | } else { | ||
| + | nb_syslog(" | ||
| + | } | ||
| + | } else { | ||
| + | nb_syslog(" | ||
| + | } | ||
| + | |||
| + | |||
| + | exit(0); | ||
| + | |||
| + | </ | ||