Commit 88a88fcc75d9cd44436011d86a0757f5b632a015
1 parent
acefa41c
Exists in
master
and in
9 other branches
Add script to convert DDTime to double from a VI Id
Showing
3 changed files
with
82 additions
and
0 deletions
Show diff stats
@@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +if ($argc < 2) { | ||
4 | + echo "[ERROR] Usage : php ".$argv[0]." ViId".PHP_EOL; | ||
5 | + exit(1); | ||
6 | +} | ||
7 | +$ViId = $argv[1]; | ||
8 | + | ||
9 | +if (!function_exists('__autoload')) | ||
10 | +{ | ||
11 | + function __autoload($class_name) { | ||
12 | + require_once $class_name . '.php'; | ||
13 | + } | ||
14 | +} | ||
15 | + | ||
16 | +putenv("LD_LIBRARY_PATH=".getenv("LD_LIBRARY_PATH")); | ||
17 | +putenv("PATH=./:".getenv("DDBASEBIN").":/bin:/usr/bin"); | ||
18 | +set_include_path("./:".getenv("DATAMANAGER")); | ||
19 | + | ||
20 | + | ||
21 | + | ||
22 | +$baseMgr = new DDBaseMgr(); | ||
23 | + | ||
24 | +$baseMgr->convertVIDDTimeToDouble($ViId); | ||
25 | + | ||
26 | +?> |
src/DATA/MANAGER/DDBaseMgr.php
@@ -359,6 +359,48 @@ class DDBaseMgr | @@ -359,6 +359,48 @@ class DDBaseMgr | ||
359 | $this->DDsysDoc->save($this->DDsys); | 359 | $this->DDsysDoc->save($this->DDsys); |
360 | system("makeDDsys"); | 360 | system("makeDDsys"); |
361 | } | 361 | } |
362 | + | ||
363 | + function convertVIDDTimeToDouble($ViId) { | ||
364 | + $XPath = new DOMXpath($this->DDsysDoc); | ||
365 | + | ||
366 | + $dataSet = $XPath->query("//NAME[.='$ViId']"); | ||
367 | + | ||
368 | + if ($dataSet->length == 0) { | ||
369 | + echo "[ERROR] NO $ViId in DDsys.xml".PHP_EOL; | ||
370 | + return FALSE; | ||
371 | + } | ||
372 | + | ||
373 | + $dataSet = $dataSet->item(0); | ||
374 | + | ||
375 | + $locationNodes = $dataSet->parentNode->getElementsByTagName('LOCATION'); | ||
376 | + | ||
377 | + if ($locationNodes->length == 0) { | ||
378 | + echo "[ERROR] Cannot retrieve LOCATION for $ViId in DDsys.xml".PHP_EOL; | ||
379 | + return FALSE; | ||
380 | + } | ||
381 | + | ||
382 | + $location = $locationNodes->item(0)->nodeValue; | ||
383 | + | ||
384 | + | ||
385 | + if (file_exists($location."/LOCK")) { | ||
386 | + echo "[ERROR] VI $ViId already locked by another process".PHP_EOL; | ||
387 | + return FALSE; | ||
388 | + } | ||
389 | + | ||
390 | + echo "[INFO] Lock VI $ViId".PHP_EOL; | ||
391 | + touch($location."/LOCK"); | ||
392 | + | ||
393 | + $WORKING_DIR = getcwd(); | ||
394 | + chdir($location); | ||
395 | + | ||
396 | + echo "[INFO] Cleanup VI $ViId".PHP_EOL; | ||
397 | + system("./clean"); | ||
398 | + echo "[INFO] Convert data files".PHP_EOL; | ||
399 | + system("ConvertDDTimeToDouble *.nc.gz"); | ||
400 | + | ||
401 | + unlink($location."/LOCK"); | ||
402 | + | ||
403 | + } | ||
362 | } | 404 | } |
363 | ?> | 405 | ?> |
364 | 406 |