diff bin/publishdebianpackages.py @ 414:e0539b483b04 treepkg-status

moved data handling in publishdebianpackages into seperate module
author Bjoern Ricks <bricks@intevation.de>
date Mon, 26 Jul 2010 08:28:48 +0000
parents 94a6ae627b31
children 4980f8d5014a
line wrap: on
line diff
--- a/bin/publishdebianpackages.py	Fri Jul 23 16:40:38 2010 +0000
+++ b/bin/publishdebianpackages.py	Mon Jul 26 08:28:48 2010 +0000
@@ -12,7 +12,6 @@
 import os
 import sys
 import shlex
-import sqlite3
 
 from optparse import OptionParser
 from ConfigParser import SafeConfigParser
@@ -24,6 +23,8 @@
 from treepkg.publish import *
 from treepkg.util import md5sum
 from treepkg.info.status import TreepkgInfo
+from treepkg.info.data import Package
+from treepkg.info.data import CacheDb
 
 config_desc = ["distribution", "section", "num_newest",
                "build_user", "build_host", "build_listpackages",
@@ -35,90 +36,6 @@
                ("cachedir",
                 lambda s: expand_filename(remove_trailing_slashes(s)))]
 
-class Package:
-    
-    def __init__(self, filename, trackname, packagename, packagepath, arch, md5sum):
-        self.filename = filename
-        self.trackname = trackname
-        self.name = packagename
-        self.sourcepath = packagepath
-        self.arch = arch
-        self.md5sum = md5sum
-
-
-class CacheDb:
-
-
-    def __init__(self, file):
-        self.SELECT_PACKAGE_TMPL = """SELECT * FROM packages 
-                                   WHERE filename = ?"""
-        self.file = file
-        self.conn = sqlite3.connect(file)
-        self.cursor = self.conn.cursor()
-        self.init_db(file)
-
-    def init_db(self, file):
-        self.cursor.execute(
-               """CREATE TABLE IF NOT EXISTS packages (
-                  filename TEXT PRIMARY KEY,
-                  trackname TEXT,
-                  packagename TEXT,
-                  sourcepath TEXT,
-                  arch TEXT, 
-                  md5sum TEXT )""")
-        self.conn.commit()
-
-
-    def add_package(self, package):
-        self.cursor.execute(self.SELECT_PACKAGE_TMPL, (package.filename,))
-        row = self.cursor.fetchone()
-        if not row:
-            self.insert_package(package)
-        else:
-            self.update_package(package)
-
-    def insert_package(self, package):
-        INSERT_TMPL = """INSERT INTO packages VALUES (
-                         ?, ?, ? ,? ,?, ?)"""
-        self.cursor.execute(INSERT_TMPL, (package.filename,
-                            package.trackname,
-                            package.name,
-                            package.sourcepath,
-                            package.arch,
-                            package.md5sum))
-        self.conn.commit()
-
-    def update_package(self, package):
-        UPDATE_TMPL = """UPDATE packages set md5sum = '?' 
-                         WHERE filename in (?)"""
-        self.cursor.execute(UPDATE_TMPL, (package.md5sum, package.filename))
-        self.conn.commit()
-
-    def get_package(self, filename):
-        self.cursor.execute(self.SELECT_PACKAGE_TMPL, (filename,))
-        row = self.cursor.fetchone()
-        if not row:
-            return None
-        return Package(row[0], row[1], row[2], row[3], row[4], row[5]) 
-
-    def get_old_packages(self, newfiles):
-        SELECT_TMPL = """SELECT * FROM packages 
-                      WHERE filename not in (%s)"""
-        tmp = ", ".join(['?'] * len(newfiles))
-        self.cursor.execute(SELECT_TMPL % tmp, newfiles)
-        return [Package(*row) for row in self.cursor.fetchall()]
-
-    def remove_packages(self, files):
-        DELET_TMPL = """DELETE FROM packages 
-                     WHERE filename in (%s)"""
-        tmp = ", ".join(['?'] * len(files))
-        self.cursor.execute(DELET_TMPL % tmp, files)
-        self.conn.commit()
-
-    def get_packages(self):
-        SELECT_TMPL = "SELECT * FROM packages" 
-        self.cursor.execute(SELECT_TMPL)
-        return [Package(*row) for row in self.cursor.fetchall()]
 
 def read_config(filename):
     if not os.path.exists(filename):
@@ -155,7 +72,8 @@
     runremote = prefix_for_remote_command(variables["build_user"],
                                           variables["build_host"])
     xml = capture_output(cmdexpand("@runremote $build_listpackages"
-                                     " --newest=$num_newest",
+                                     " --newest=$num_newest"
+                                     " --only-successful",
                                      runremote=runremote,
                                      **variables))
     return TreepkgInfo.fromxml(xml)
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)