cur = cur[bit] if package not in cur[""]: cur[""].append(package) f.close() import MySQLdb as mysql import sys import os sys.path.append(os.getcwd()) from utils import helper import gtk HOST, USER, PASSWORD, DB = helper.mysql_settings() con = mysql.connect(host=HOST,user=USER,passwd=PASSWORD,db=DB) cur = con.cursor() def to_source(name): cur.execute("SELECT name,id,source_id FROM packages WHERE name = %s",(name,)) row = cur.fetchone() return row def fill(store, parent, data): keys = data.keys() keys.sort() for key in keys: if key!="": new = store.append(parent, ("<b>"+key+"</b> "+str(len(data[key])),"","")) fill(store, new, data[key])
import MySQLdb as mysql import datetime import sys sys.path.append("") #open the file from utils import helper HOST, USER, PASSWORD, DATABASE = helper.mysql_settings() con = mysql.connect(host=HOST, user=USER, passwd=PASSWORD, db=DATABASE) cur = con.cursor() print "creating link_sources" try: cur.execute("""CREATE TABLE link_sources ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, description TEXT ) ENGINE=INNODB""") except: print "table exists" print "creating links" try: cur.execute("""CREATE TABLE links ( id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, link_source_id INT UNSIGNED, package_id1 INT UNSIGNED, distro_id1 INT UNSIGNED, package_id2 INT UNSIGNED, distro_id2 INT UNSIGNED, strength TINYINT UNSIGNED DEFAULT 255,
import MySQLdb as mysql import sys import os import datetime sys.path.append(os.getcwd()) from utils import helper HOST, USER, PASSWORD, DB = helper.mysql_settings() con = mysql.connect(host=HOST, user=USER, passwd=PASSWORD, db=DB) VERBOSE = False VERBOSE_RESULT = False UPSTREAM_NOTES = False #UPSTREAM_NOTES = True def get_age(distro, package, branch=None, arch=None, now=None): cur = con.cursor() #print "query upstream" q = "SELECT releases.version, MIN(releases.released) FROM releases, packages WHERE releases.package_id = packages.id AND packages.name=%s AND releases.version!='9999' AND releases.repo_id IS NULL GROUP BY releases.version ORDER BY MIN(releases.released)" cur.execute(q, (package, )) if cur.rowcount == 0: if VERBOSE: print "falling back to approximate upstream" q = "SELECT releases.version, MIN(releases.released) FROM releases, packages WHERE releases.package_id = packages.id AND packages.name=%s AND releases.version!='9999' GROUP BY releases.version ORDER BY MIN(releases.released)" cur.execute(q, (package, )) upstream = []
import MySQLdb as mysql import sys import os import datetime sys.path.append(os.getcwd()) from utils import helper HOST, USER, PASSWORD, DB = helper.mysql_settings() AHOST, AUSER, APASSWORD, ADB = helper.mysql_settings("abstract") con = mysql.connect(host=HOST,user=USER,passwd=PASSWORD,db=DB) cur = con.cursor() acon = mysql.connect(host=AHOST,user=AUSER,passwd=APASSWORD,db=ADB) acur = acon.cursor() cur.execute("SELECT package_id1, package_id2, strength FROM links, link_sources WHERE link_source_id=link_sources.id AND link_sources.description='By hand.'") acur.execute("SELECT id FROM link_sources WHERE link_sources.description='By hand.'") by_hand = acur.fetchone()[0] for id1, id2, strength in cur: cur.execute("SELECT name FROM packages WHERE id = %s",(id1,)) name1 = cur.fetchone()[0] acur.execute("SELECT id FROM packages WHERE name = %s",(name1,)) aid1 = acur.fetchone()[0] cur.execute("SELECT name FROM packages WHERE id = %s",(id2,)) name2 = cur.fetchone()[0] acur.execute("SELECT id FROM packages WHERE name = %s",(name2,))
def __init__(self, pkgs=[]): self.window = gtk.Window() self.window.set_default_size(500, 300) self.window.show() hbox = gtk.VPaned() hbox.show() self.graph = chart.LineChart() self.graph.set_size_request(500, 200) self.graph.connect('select', self.select) hbox.pack1(self.graph, True) self.graph.show() vbox = gtk.VBox() vbox.show() # add distro stuff h = gtk.HBox() self.distro = gtk.combo_box_new_text() self.distro.connect("changed", self.distro_changed) h.add(self.distro) self.branch = gtk.combo_box_new_text() self.branch.connect("changed", self.branch_changed) h.add(self.branch) self.arch = gtk.combo_box_new_text() h.add(self.arch) self.color = gtk.ColorButton() h.add(self.color) self.add = gtk.Button(stock=gtk.STOCK_ADD) self.add.connect("clicked", self.add_distro) h.add(self.add) h.show_all() vbox.pack_start(h, False, False) # package stuff vbox2 = gtk.VBox() vbox2.show() self.pkg_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) self.packages = [] p_tv = gtk.TreeView(self.pkg_store) #p_tv.set_fixed_height_mode(True) p_tv.set_rules_hint(True) p_tv.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH) #p_tv.set_headers_visible(False) renderer = gtk.CellRendererText() p_tv.append_column(gtk.TreeViewColumn("Packages", renderer, markup=0)) p_tv.append_column(gtk.TreeViewColumn("Version", renderer, text=1)) p_tv.show() sp = gtk.ScrolledWindow() sp.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) sp.show() sp.add(p_tv) vbox2.pack_start(sp) hbox2 = gtk.HBox() hbox2.show() hbox2.pack_start(vbox2, False, False) self.distro_store = gtk.ListStore(str) s = gtk.ScrolledWindow() s.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS) s.show() s.set_vadjustment(sp.props.vadjustment) self.distro_view = gtk.TreeView(self.distro_store) #self.distro_view.set_fixed_height_mode(True) self.distro_view.set_rules_hint(True) self.distro.set_size_request(-1, -1) self.distro_view.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH) #l.set_headers_visible(False) self.distro_view.show() s.add(self.distro_view) hbox2.pack_start(s) vbox.pack_start(hbox2) # add package stuff h = gtk.HBox() self.pkg = gtk.Entry() self.pkg.connect("activate", self.add_pkg_cb) h.pack_start(self.pkg, False, False) self.add = gtk.Button(stock=gtk.STOCK_ADD) self.add.connect("clicked", self.add_pkg_cb) h.pack_start(self.add, False, False) h.show_all() vbox.pack_start(h, False, False) hbox.add(vbox) self.window.add(hbox) self.window.connect("destroy", lambda x: gtk.main_quit()) HOST, USER, PASSWORD, DB = helper.mysql_settings() con = db.connect(host=HOST, user=USER, password=PASSWORD, database=DB) self.distros = {} cur = con.cursor() cur.execute( "SELECT DISTINCT distros.name, branches.branch, repos.architecture FROM distros, repos, branches WHERE distros.id = repos.distro_id AND repos.id = branches.repo_id;" ) for name, branch, arch in cur: if name not in self.distros: self.distros[name] = {} if branch not in self.distros[name]: self.distros[name][branch] = [] if arch not in self.distros[name][branch]: self.distros[name][branch].append(arch) con.close() for d in self.distros.keys(): self.distro.append_text(d) self.current = datetime.now() self._histories = [] for p in pkgs: self.add_pkg(p)
import MySQLdb as mysql import sys import os import datetime sys.path.append(os.getcwd()) from utils import helper HOST, USER, PASSWORD, DB = helper.mysql_settings() AHOST, AUSER, APASSWORD, ADB = helper.mysql_settings("abstract") con = mysql.connect(host=HOST, user=USER, passwd=PASSWORD, db=DB) cur = con.cursor() acon = mysql.connect(host=AHOST, user=AUSER, passwd=APASSWORD, db=ADB) acur = acon.cursor() cur.execute( "SELECT package_id1, package_id2, strength FROM links, link_sources WHERE link_source_id=link_sources.id AND link_sources.description='By hand.'" ) acur.execute( "SELECT id FROM link_sources WHERE link_sources.description='By hand.'") by_hand = acur.fetchone()[0] for id1, id2, strength in cur: cur.execute("SELECT name FROM packages WHERE id = %s", (id1, )) name1 = cur.fetchone()[0] acur.execute("SELECT id FROM packages WHERE name = %s", (name1, )) aid1 = acur.fetchone()[0]
def __init__(self, pkgs=[]): self.window = gtk.Window() self.window.set_default_size(500,300) self.window.show() hbox = gtk.VPaned() hbox.show() self.graph = chart.LineChart() self.graph.set_size_request(500,200) self.graph.connect('select',self.select) hbox.pack1(self.graph,True) self.graph.show() vbox = gtk.VBox() vbox.show() # add distro stuff h = gtk.HBox() self.distro = gtk.combo_box_new_text() self.distro.connect("changed",self.distro_changed) h.add(self.distro) self.branch = gtk.combo_box_new_text() self.branch.connect("changed",self.branch_changed) h.add(self.branch) self.arch = gtk.combo_box_new_text() h.add(self.arch) self.color = gtk.ColorButton() h.add(self.color) self.add = gtk.Button(stock=gtk.STOCK_ADD) self.add.connect("clicked",self.add_distro) h.add(self.add) h.show_all() vbox.pack_start(h,False,False) # package stuff vbox2 = gtk.VBox() vbox2.show() self.pkg_store = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING) self.packages = [] p_tv = gtk.TreeView(self.pkg_store) #p_tv.set_fixed_height_mode(True) p_tv.set_rules_hint(True) p_tv.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH) #p_tv.set_headers_visible(False) renderer = gtk.CellRendererText() p_tv.append_column(gtk.TreeViewColumn("Packages",renderer,markup=0)) p_tv.append_column(gtk.TreeViewColumn("Version",renderer,text=1)) p_tv.show() sp = gtk.ScrolledWindow() sp.set_policy(gtk.POLICY_NEVER,gtk.POLICY_ALWAYS) sp.show() sp.add(p_tv) vbox2.pack_start(sp) hbox2 = gtk.HBox() hbox2.show() hbox2.pack_start(vbox2,False,False) self.distro_store = gtk.ListStore(str) s = gtk.ScrolledWindow() s.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_ALWAYS) s.show() s.set_vadjustment(sp.props.vadjustment) self.distro_view = gtk.TreeView(self.distro_store) #self.distro_view.set_fixed_height_mode(True) self.distro_view.set_rules_hint(True) self.distro.set_size_request(-1,-1) self.distro_view.set_grid_lines(gtk.TREE_VIEW_GRID_LINES_BOTH) #l.set_headers_visible(False) self.distro_view.show() s.add(self.distro_view) hbox2.pack_start(s) vbox.pack_start(hbox2) # add package stuff h = gtk.HBox() self.pkg = gtk.Entry() self.pkg.connect("activate",self.add_pkg_cb) h.pack_start(self.pkg,False,False) self.add = gtk.Button(stock=gtk.STOCK_ADD) self.add.connect("clicked",self.add_pkg_cb) h.pack_start(self.add,False,False) h.show_all() vbox.pack_start(h,False,False) hbox.add(vbox) self.window.add(hbox) self.window.connect("destroy",lambda x: gtk.main_quit()) HOST, USER, PASSWORD, DB = helper.mysql_settings() con = db.connect(host=HOST,user=USER,password=PASSWORD,database=DB) self.distros = {} cur = con.cursor() cur.execute("SELECT DISTINCT distros.name, branches.branch, repos.architecture FROM distros, repos, branches WHERE distros.id = repos.distro_id AND repos.id = branches.repo_id;") for name, branch, arch in cur: if name not in self.distros: self.distros[name] = {} if branch not in self.distros[name]: self.distros[name][branch] = [] if arch not in self.distros[name][branch]: self.distros[name][branch].append(arch) con.close() for d in self.distros.keys(): self.distro.append_text(d) self.current = datetime.now() self._histories = [] for p in pkgs: self.add_pkg(p)