diff options
author | Steve Dibb <beandog@gentoo.org> | 2010-01-05 06:06:49 +0000 |
---|---|---|
committer | Steve Dibb <beandog@gentoo.org> | 2010-01-05 06:06:49 +0000 |
commit | 94035ee59f70fa3f97dd7635546a25a9f159fff8 (patch) | |
tree | 9ee16f15b2c47dc67a75194fcf3c5f4e224381a9 /import.bugzilla.php | |
parent | Much more flexibliity on importing package masks, should be self-healing now (diff) | |
download | znurt-org-backend-94035ee59f70fa3f97dd7635546a25a9f159fff8.tar.gz znurt-org-backend-94035ee59f70fa3f97dd7635546a25a9f159fff8.tar.bz2 znurt-org-backend-94035ee59f70fa3f97dd7635546a25a9f159fff8.zip |
add comments; cleanup; cosmetics
git-svn-id: file:///var/svn/portage@65 3218660a-b0cf-4799-a991-8ddcc5b9e0f3
Diffstat (limited to 'import.bugzilla.php')
-rw-r--r-- | import.bugzilla.php | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/import.bugzilla.php b/import.bugzilla.php index 3469fa2..0688ad7 100644 --- a/import.bugzilla.php +++ b/import.bugzilla.php @@ -1,11 +1,19 @@ <? + /** + * The bugzilla script grabs a CSV export from Gentoo's bugzilla and inserts them into the database. + * + * The CSV export seems to be non-negotiable in asking for columns, so you're stuck with what you get. + * + * Only executes once a day. Goes rather fast, for the most part. Could probably use some curl error + * checking in case the site is down, unreachable or slow to respond. + */ + require_once 'header.php'; - require_once 'class.portage.tree.php'; - - $tree = new PortageTree(); - -// $verbose = true; + if(!$tree) { + require_once 'class.portage.tree.php'; + $tree = new PortageTree(); + } $import_bugzilla = false; @@ -37,6 +45,8 @@ $url = "http://bugs.gentoo.org/buglist.cgi?bug_file_loc=&bug_file_loc_type=allwordssubstr&bug_id=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bugidtype=include&chfieldfrom=&chfieldto=Now&chfieldvalue=&email1=&email2=&emailtype1=exact&emailtype2=substring&field-1-0-0=product&field-1-1-0=bug_status&field-1-2-0=short_desc&field0-0-0=assigned_to&field0-1-0=assigned_to&field0-2-0=short_desc&keywords=&keywords_type=allwords&long_desc=&long_desc_type=allwordssubstr&product=Gentoo%20Linux&query_format=advanced&remaction=&short_desc=$category_name%2F&short_desc_type=allwordssubstr&status_whiteboard=&status_whiteboard_type=allwordssubstr&type-1-0-0=anyexact&type-1-1-0=anyexact&type-1-2-0=allwordssubstr&type0-0-0=notequals&type0-1-0=notequals&type0-2-0=notsubstring&value-1-0-0=Gentoo%20Linux&value-1-1-0=UNCONFIRMED%2CNEW%2CASSIGNED%2CREOPENED&value-1-2-0=media-video%2F&value0-0-0=maintainer-wanted%40gentoo.org&value0-1-0=maintainer-needed%40gentoo.org&value0-2-0=new%20package&votes=&ctype=csv"; $ch = curl_init($url); + // FIXME write to a *new* temporary file + // FIXME Make sure the CSV is non-empty $fp = fopen("/tmp/bugs.csv", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); @@ -52,6 +62,7 @@ } // FIXME this query takes a while to run + // FIXME Have this run after each category is imported, and query for that $cp. That'll go much faster. $sql = "INSERT INTO package_bugs (bug, package, description, status) SELECT b.bug_id AS bug, p.id AS package, b.short_short_desc, 1 FROM package p INNER JOIN category c ON p.category = c.id INNER JOIN bugzilla b ON b.short_short_desc LIKE ('%' || c.name || '/' || p.name || '%');"; $db->query($sql); |