]> git.llucax.com Git - mecon/scripts.git/blob - novedades/cargas_de_datos/web019-parciales
Version mejorada. Es capaz de parsear lineas mas complejas.
[mecon/scripts.git] / novedades / cargas_de_datos / web019-parciales
1 #!/usr/bin/php4 -qC
2 <?
3
4 error_reporting( E_ALL );
5
6 $origen  = isset( $argv[1] ) ? $argv[1] : '.';
7 $destino = isset( $argv[2] ) ? $argv[2] : '.';
8 $libdir  = isset( $argv[3] ) ? $argv[3] : getcwd();
9
10 require_once "$libdir/corregir_lib.php";
11
12 $fi = fopen( "$origen/web019", 'r' );
13 $fo = fopen( "$destino/parciales", 'w' );
14 $fe = fopen( 'php://stderr', 'w' );
15
16 $s = fgets( $fi ); // Saca la descripciĆ³n.
17 fputs( $fo, "nrodoc,fecha,desde,hasta,novedad\n" );
18 $c = 1;
19 while ( ( $s = fgets( $fi ) ) !== false ) {
20     if ( preg_match( '/^(\d{10}),([^,]+),(\d{8}),([^,]*),([^,]*),$/', $s, $m ) ) {
21 #    if ( preg_match( '/^(\d{10}),([^,]+),(\d{8}),([:\d]*),([:\d]*),$/', $s, $m ) ) {
22         list( $todo, $doc, $nov, $fecha, $desde, $hasta ) = $m;
23         $doc   = sacar_ceros( $doc );
24         $fecha = invertir_fecha( $fecha );
25         $desde = corregir_hora( $desde );
26         $hasta = corregir_hora( $hasta );
27         $nov   = strtolower( $nov );
28         fputs( $fo, "$doc,$fecha,$desde,$hasta,$nov\n" );
29     } else {
30         fputs( $fe, "ERROR: No se pudo interpretar la fila $c: $s.\n" );
31     }
32     $c++;
33 }
34
35 ?>