/** * @dataProvider getReadersNoHeadersFirstRow */ public function testAdvanceToNoHeadersFirstRow(Reader $reader) { $row = array(0 => 'Some Meta Data', 1 => '', 2 => ''); $actualRow = $reader->getRow(); $this->assertEquals($row, $actualRow); // give it the ol' one-two-switcharoo $reader->advanceTo(3); $reader->getRow(); $reader->advanceTo(0); $this->assertEquals($row, $reader->getRow()); }
public function testCsv() { $filename = __DIR__ . '/../../_data/user-groups.csv'; $id = $this->api->userGroups()->postByCsv($filename); while (1) { $result = $this->api->csv()->result($id); if (!$result['done']) { continue; } if ($result['success']) { self::assertTrue(true); } else { self::fail($result['errorCode']); } break; } $content = $this->api->userGroups()->getByCsv(); $path = __DIR__ . '/../../_output/export-user-groups.csv'; file_put_contents($path, $content); $getCsv = new Reader($path, 'r+', false); while ($row = $getCsv->getRow()) { if ("example-title1" == reset($row)) { self::assertEquals($row, ["*****@*****.**", "example-group1"]); } if ("example-title2" == reset($row)) { self::assertEquals($row, ["*****@*****.**", "example-group2"]); } } }
public function testCsv() { $content = $this->api->organizations()->getByCsv(); $path = __DIR__ . '/../../_output/export-organizations.csv'; file_put_contents($path, $content); $filename = __DIR__ . '/../../_data/orgs.csv'; $id = $this->api->organizations()->postByCsv($filename); while (1) { $result = $this->api->csv()->result($id); if (!$result['done']) { continue; } if ($result['success']) { self::assertTrue(true); } else { self::fail($result['errorCode']); } break; } $content = $this->api->organizations()->getByCsv(); $path = __DIR__ . '/../../_output/export-organizations1.csv'; file_put_contents($path, $content); $getCsv = new Reader($path, 'r+', false); $flg1 = $flg2 = false; while ($row = $getCsv->getRow()) { if ("example-org1" == reset($row)) { $flg1 = true; } if ("example-org2" == reset($row)) { $flg2 = true; } } self::assertTrue($flg1 and $flg2); $filename = __DIR__ . '/../../_output/export-organizations.csv'; $id = $this->api->organizations()->postByCsv($filename); while (1) { $result = $this->api->csv()->result($id); if (!$result['done']) { continue; } if ($result['success']) { self::assertTrue(true); } else { self::fail($result['errorCode']); } break; } }
public function testGet() { $content = $this->api->csv()->get('user'); $path = __DIR__ . '/../../_output/export-csv.csv'; file_put_contents($path, $content); $getCsv = new Reader($path, 'r+', false); $flg = false; while ($row = $getCsv->getRow()) { if (UserTestHelper::getConfig()['login'] == reset($row)) { $flg = true; } } self::assertTrue($flg); try { $this->api->csv()->get('aaa'); self::fail('Not throw InvalidArgumentException.'); } catch (\InvalidArgumentException $e) { self::assertTrue(true); } }
/** * CSV * datasetName, newDatasetName */ $CkanManager->resultsDir = $results_dir; foreach (glob(CKANMNGR_DATA_DIR . '/rename*.csv') as $csv_file) { $status = PHP_EOL . PHP_EOL . basename($csv_file) . PHP_EOL . PHP_EOL; echo $status; // fix wrong END-OF-LINE file_put_contents($csv_file, preg_replace('/[\\r\\n]+/', "\n", file_get_contents($csv_file))); $basename = str_replace('.csv', '', basename($csv_file)); file_put_contents($results_dir . '/' . $basename . '_rename.log', $status, FILE_APPEND | LOCK_EX); $csv = new EasyCSV\Reader($csv_file, 'r+', false); $i = 1; while (true) { $row = $csv->getRow(); if (!$row) { break; } // skip headers if (in_array(trim(strtolower($row['0'])), ['dataset', 'url', 'old dataset url', 'from'])) { continue; } $datasetName = trim(basename($row['0'])); $newDatasetName = basename($row['1']); printf('[%04d] ', $i++); $CkanManager->renameDataset($datasetName, $newDatasetName, $basename); } } // show running time on finish timer();
// Initialize cURL headers foreach (glob(CKANMNGR_DATA_DIR . '/check_*.csv') as $csv_file) { $status = PHP_EOL . PHP_EOL . basename($csv_file) . PHP_EOL . PHP_EOL; echo $status; $basename = str_replace('.csv', '', basename($csv_file)); // fix wrong END-OF-LINE file_put_contents($csv_file, preg_replace('/[\\r\\n]+/', "\n", file_get_contents($csv_file))); $csv_source = new EasyCSV\Reader($csv_file, 'r+', false); $csv_destination = new EasyCSV\Writer($results_dir . '/' . $basename . '_log.csv'); $csv_destination->writeRow(['dataset', 'status', 'aapi found']); $i = 0; while (true) { if (!($i++ % 100)) { echo $i . PHP_EOL; } $row = $csv_source->getRow(); if (!$row) { break; } // skip headers if (in_array(trim(strtolower($row[0])), ['data.gov url'])) { continue; } $url = strtolower($row[0]); if (!strpos($url, '/dataset/')) { $csv_destination->writeRow([$url, 'not a dataset', '0']); continue; } $dataset = try_get_dataset($curl_ch, str_replace('/dataset/', '/api/rest/dataset/', $url)); if (200 !== $dataset['info']['http_code']) { // Redirect check
/** * @dataProvider getReaders * @expectedException \LogicException */ public function testAdvanceToHeaderLine(Reader $reader) { $reader->getRow(); $reader->advanceTo(0); }
/** * {@inheritdoc} */ public function readerTest() { $csv = new Reader($this->path, 'r+', false); while ($row = $csv->getRow()) { } }