diff options
author | Steve Dibb <beandog@gentoo.org> | 2010-02-08 16:43:20 +0000 |
---|---|---|
committer | Steve Dibb <beandog@gentoo.org> | 2010-02-08 16:43:20 +0000 |
commit | bf4a9c7a838ee8ac279fd0084535d67b1b59930a (patch) | |
tree | e569de6a6fa256facf5099265d972a045734a931 | |
parent | Stop extending PortageTree and use singleton instead (diff) | |
download | znurt-org-backend-bf4a9c7a838ee8ac279fd0084535d67b1b59930a.tar.gz znurt-org-backend-bf4a9c7a838ee8ac279fd0084535d67b1b59930a.tar.bz2 znurt-org-backend-bf4a9c7a838ee8ac279fd0084535d67b1b59930a.zip |
Use new classes
git-svn-id: file:///var/svn/portage@81 3218660a-b0cf-4799-a991-8ddcc5b9e0f3
-rw-r--r-- | import.packages.php | 86 |
1 files changed, 74 insertions, 12 deletions
diff --git a/import.packages.php b/import.packages.php index ea555c4..0692f7c 100644 --- a/import.packages.php +++ b/import.packages.php @@ -1,6 +1,6 @@ <? -// $verbose = true; + $verbose = true; // $debug = false; /** @@ -38,7 +38,11 @@ require_once 'class.portage.category.php'; require_once 'class.portage.package.php'; + require_once 'class.portage.package.changelog.php'; + require_once 'class.portage.package.manifest.php'; require_once 'class.db.package.php'; + require_once 'class.db.package.changelog.php'; + require_once 'class.db.package.manifest.php'; $arr_update = array(); @@ -120,21 +124,79 @@ foreach($arr_diff['insert'] as $package_name) { $p = new PortagePackage($category_name, $package_name); + $ch = new PackageChangelog($category_name, $package_name); + $ma = new PackageManifest($category_name, $package_name); $arr_insert = array( 'category' => $category_id, 'name' => $package_name, - 'changelog' => $p->changelog, 'portage_mtime' => $p->portage_mtime, - 'changelog_mtime' => $p->changelog_mtime, - 'metadata_mtime' => $p->metadata_mtime, ); $db->autoExecute($table, $arr_insert, MDB2_AUTOQUERY_INSERT); + + $package_id = $db->lastInsertID(); + + // New changelog entry + $arr_insert = array( + 'package' => $package_id, + 'changelog' => $ch->changelog, + 'mtime' => $ch->mtime, + 'hash' => $ch->hash, + 'filesize' => $ch->filesize, + ); + + $db->autoExecute('package_changelog', $arr_insert, MDB2_AUTOQUERY_INSERT); + + // New Manifest entry + $arr_insert = array( + 'package' => $package_id, + 'manifest' => $ma->manifest, + 'mtime' => $ma->mtime, + 'hash' => $ma->hash, + 'filesize' => $ma->filesize, + ); + + $db->autoExecute('package_manifest', $arr_insert, MDB2_AUTOQUERY_INSERT); + + // Import package files + $arr = $ma->getDistfiles(); + + foreach($arr as $filename) { + + $arr_insert = array( + 'package' => $package_id, + 'filename' => $filename, + 'type' => 'DIST', + 'hash' => $ma->getHash($filename), + 'filesize' => $ma->getFilesize($filename), + ); + + $db->autoExecute('package_files', $arr_insert, MDB2_AUTOQUERY_INSERT); + + } + + // Import patches + $arr = $ma->getFiles(); + + foreach($arr as $filename) { + + $arr_insert = array( + 'package' => $package_id, + 'filename' => $filename, + 'type' => 'AUX', + 'hash' => $ma->getHash($filename), + 'filesize' => $ma->getFilesize($filename), + ); + + $db->autoExecute('package_files', $arr_insert, MDB2_AUTOQUERY_INSERT); + + } + } } } - unset($c); + unset($c, $p, $ch, $ma); foreach($arr_update as $category_name => $arr_packages) { @@ -162,13 +224,13 @@ $db_package->status = 1; } - if($p->changelog_mtime != $db_package->changelog_mtime) { - $db_package->changelog_mtime = $p->changelog_mtime; - $db_package->changelog = $p->changelog; - } - - if($p->metadata_mtime != $db_package->metadata_mtime) - $db_package->metadata_mtime = $p->metadata_mtime; +// if($p->changelog_mtime != $db_package->changelog_mtime) { +// $db_package->changelog_mtime = $p->changelog_mtime; +// $db_package->changelog = $p->changelog; +// } +// +// if($p->metadata_mtime != $db_package->metadata_mtime) +// $db_package->metadata_mtime = $p->metadata_mtime; } } |