From d07e2cdc4a3e387df29dcfea59fc54b764ec9b20 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 17 Oct 2017 09:05:35 +0200 Subject: [PATCH] Remove outdated script This is no longer in use --- copy-to-132.py | 166 ------------------------------------------------- 1 file changed, 166 deletions(-) delete mode 100755 copy-to-132.py diff --git a/copy-to-132.py b/copy-to-132.py deleted file mode 100755 index ca62fa7b..00000000 --- a/copy-to-132.py +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/python - -import sys -import os -import osc -import osc.core -import osc.conf -import xml.etree.ElementTree as ET -import re - -os.environ['OSC_CONFIG'] = os.path.expanduser('~/.oscrc-syncer') - -#initialize osc config -osc.conf.get_config() -osc.conf.config['debug'] = True - -srcmd5s = dict() -revs = dict() - -def parse_prj(prj): - url = osc.core.makeurl(osc.conf.config['apiurl'], ['source', prj], { 'view': 'info', 'nofilename': 1 } ) - f = osc.core.http_GET(url) - root = ET.parse(f) - - ret = dict() - - for si in root.findall('./sourceinfo'): - if si.attrib.has_key('lsrcmd5'): - continue # ignore links - package = si.attrib['package'] - md5 = si.attrib['verifymd5'] - srcmd5s[md5] = si.attrib['srcmd5'] - revs[md5] = si.attrib['rev'] - if re.match('_product.*', package): - continue - ret[package] = md5 - - return ret - -# POSIX system. Create and return a getch that manipulates the tty. -import termios, sys, tty -def _getch(): - - fd = sys.stdin.fileno() - old_settings = termios.tcgetattr(fd) - try: - tty.setraw(fd) - ch = sys.stdin.read(1) - finally: - termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) - return ch - -def get_devel_project(package): - url = osc.core.makeurl(osc.conf.config['apiurl'], ['source', 'openSUSE:Factory', package, '_meta']) - f = osc.core.http_GET(url) - root = ET.parse(f) - for dp in root.findall('./devel'): - return dp.attrib['project'] - - raise 'NOW WHAT?' - -def create_submit(project=None, package=None, rev=None, md5=None): - text = "\n" - text += " \n" - text += " \n" - text += " \n" - text += " \n" - text += " Submit revision " + rev + " of openSUSE:Factory/" + package + "\n" - text += "" - - url = osc.core.makeurl(osc.conf.config['apiurl'], [ 'request' ], { 'cmd': 'create' }) - #print text - print osc.core.http_POST(url, data=text).read() - -def create_delete(package): - text = "\n" - text += " \n" - text += " \n" - text += " \n" - text += " Gone from Factory\n" - text += "" - - url = osc.core.makeurl(osc.conf.config['apiurl'], [ 'request' ], { 'cmd': 'create' }) - #print text - print osc.core.http_POST(url, data=text).read() - -def load_nos(): - ret = set() - with open('nos') as f: - for line in f.readlines(): - ret.add(line.strip()) - return ret - -def save_nos(nos): - with open('nos', 'w') as f: - for key in nos: - f.write(key + "\n") - -def find_request_md5s(package): - url = osc.core.makeurl(osc.conf.config['apiurl'], - ['search', 'request'], - { 'match': "action/target/@project='openSUSE:13.2' and action/target/@package='{}'".format(package) }) - f = osc.core.http_GET(url) - root = ET.parse(f).getroot() - md5s = set() - for rq in root.findall('request'): - for source in rq.findall('.//source'): - md5s.add(source.attrib['rev']) - return md5s - -factory = parse_prj('openSUSE:Factory') -d132 = parse_prj('openSUSE:13.2') - -NOS = load_nos() - -for package in sorted(set(factory) | set(d132)): - prompt = None - - if factory.has_key(package): - - pmd5 = "%s-%s" % ( package, factory[package] ) - if pmd5 in NOS: - continue - - if not d132.has_key(package): - if srcmd5s[factory[package]] in find_request_md5s(package): - continue - elif factory[package] == d132[package]: - continue - elif srcmd5s[factory[package]] in find_request_md5s(package): - print "%s already requested" % pmd5 - continue - else: - url = osc.core.makeurl(osc.conf.config['apiurl'], ['source', 'openSUSE:Factory', package], - { 'unified': 1, 'opackage': package, 'oproject': 'openSUSE:13.2', 'cmd': 'diff', 'expand': 1 } ) - difflines = osc.core.http_POST(url).readlines() - inchanges = False - for line in difflines: - if re.match(r'^Index:.*\.changes', line): - inchanges = True - elif re.match(r'^Index:', line): - inchanges = False - - if inchanges: - print line, - - prompt = "copy diffing package %s ?" % pmd5 - - md5 = srcmd5s[factory[package]] - rev = revs[factory[package]] - devprj = get_devel_project(package) - if devprj == 'openSUSE:Factory': - continue - - print prompt - d = _getch() - if d == 'y': - create_submit(project=devprj, package=package, rev=rev, md5=md5) - elif d == 'n': - NOS.add(pmd5) - save_nos(NOS) - - else: # the 13.2 must have it - print "delete package 13.2/%s-%s" % ( package, d132[package] ) - create_delete(package) -