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,
Ejemplo n.º 3
0
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,))
Ejemplo n.º 5
0
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,
    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)
Ejemplo n.º 7
0
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]
Ejemplo n.º 8
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)