def depfind(packages): deplist = {} for p in packages: for repoid, repo in repos.items(): if p.paket.adi in repo.paketler.keys(): deplist[p.paket.adi] = repo.depcheck(p.paket.adi) return deplist
def depfind(packages): deplist = {} for p in packages: for repoid, repo in repos.items(): try: if p.paket.adi in repo.paketler.keys(): deplist[p.paket.adi] = repo.depcheck(p.paket.adi) except: print("sorunlu paket ", p.paket.adi) tb.print_exc() pass return deplist
def gitcommit(fname): f = "/tmp/%s" % fname p = Push(f) if p.reindex == True: rp = ses.query(Repo).all() for r in rp: repos[r.id] = RepoView(r, True, pisi20repo) d = p.db() bra = p.ref rep = p.data['repository']["full_name"].replace("https://github.com/", "") if check_branch_db(rep, bra) == True: tar = p.data['repository']['updated_at'] tar = tar.replace("Z", "").replace("T", " ") t = datetime.strptime(tar, "%Y-%m-%d %H:%M:%S") for _id, com in p.db2().items(): print "gitcommit, com.modified :", com['modified'] id = com['id'] url = com['url'] print com['timestamp'], len(com['modified']) for pkg in com['modified']: pkg = pkg.strip() pkgid = paketID(pkg) if pkgid == None: ppp = Paket(adi=pkg, aciklama="%s icin aciklama eklenmeli" % pkg) ses.add(ppp) ses.commit() pkgid = paketID(pkg) if commitCheck(pkgid, id) == 0: deplist = [] for repoid, repo in repos.items(): if pkg in repo.paketler.keys(): deplist = repo.depcheck(pkg) drm = 0 state = True for dep in deplist: state = state and dep if state == False: drm = 2 k = Kuyruk(tarih=t, paket_id=pkgid, commit_id=id, \ commit_url=url, durum=drm, repository=rep, \ branch=bra) ses.add(k) ses.commit() ses.flush() else: print pkg, " sorun var" return p.ref return p.ref
def gitcommit(fname): f = "/tmp/%s" % fname p = Push(f) if p.reindex == True: rp = ses.query(Repo).all() for r in rp: repos[r.id] = RepoView(r, True, pisi20repo) d = p.db() bra = p.ref rep = p.data['repository']["full_name"].replace("https://github.com/", "") if check_branch_db(rep, bra) == True: tar = p.data['repository']['updated_at'] tar = tar.replace("Z","").replace("T"," ") t = datetime.strptime(tar,"%Y-%m-%d %H:%M:%S") for _id, com in p.db2().items(): print "gitcommit, com.modified :",com['modified'] id = com['id'] url = com['url'] print com['timestamp'], len(com['modified']) for pkg in com['modified']: pkg = pkg.strip() pkgid = paketID(pkg) if pkgid == None: ppp = Paket(adi=pkg, aciklama="%s icin aciklama eklenmeli" % pkg) ses.add(ppp) ses.commit() pkgid = paketID(pkg) if commitCheck(pkgid, id) == 0: deplist = [] for repoid, repo in repos.items(): if pkg in repo.paketler.keys(): deplist = repo.depcheck(pkg) drm = 0 state = True for dep in deplist: state = state and dep if state == False: drm = 2 k = Kuyruk(tarih=t, paket_id=pkgid, commit_id=id, \ commit_url=url, durum=drm, repository=rep, \ branch=bra) ses.add(k) ses.commit() ses.flush() else: print pkg, " sorun var" return p.ref return p.ref
def docker_image_name(r,b): for k, v in repos.items(): if ((v.repo == r) and (v.branch == b)): return v.dockerimage return None
def check_branch(r, b): for k, v in repos.items(): if ((v.repo == r) and (v.branch == b)): return True return False
def binpackage(name): for k,v in repos.items(): if name in v.paketler: return "%s True" % name else: return "%s False" % name
def binpackage(name): for k, v in repos.items(): if name in v.paketler: return "%s True" % name else: return "%s False" % name
def docker_image_name(r, b): for k, v in repos.items(): if ((v.repo == r) and (v.branch == b)): return v.dockerimage return None
def requestPkg(email): try: gonullu_id = ses.query(Gonullu).filter(Gonullu.email == email).one().id except: cevap = { 'state': states.MAILERR, 'durum': 'mail yok', 'mesaj': "[email protected] adresine mektup atarak gonullu olmak istediginizi belirtin" } return jsonify(cevap) try: kuyruk = ses.query(Kuyruk).filter(Kuyruk.durum == 0).order_by( Kuyruk.id.asc()).first() k = ses.query(Kuyruk) k = k.filter(Kuyruk.id == kuyruk.id) kayit = k.one() except: cevap = { 'state': states.NOPACKAGE, 'message': 'No package in queue', 'durum': 'paket yok', 'mesaj': 'Daha fazla bekleyin' } return jsonify(cevap) kayit.durum = 100 ses.flush() yeniGorev = Gorev(gonullu_id=gonullu_id, kuyruk_id=kuyruk.id) ses.add(yeniGorev) ses.flush() docker_image = docker_image_name(kuyruk.repository, kuyruk.branch) repobinary = "" for repoid, r in repos.items(): if (r.repo == kuyruk.repository) and (r.branch == kuyruk.branch): repobinary = r.binary_repo_dir paketadi = ses.query(Paket).filter(Paket.id == kuyruk.paket_id).first().adi ses.commit() krn = False if paketadi in blacklist: krn = True if docker_image is not None: cevap = { 'state': states.OK, 'durum': 'ok', 'kuyruk_id': kuyruk.id, 'queue_id': kuyruk.id, 'paket': paketadi, 'package': paketadi, 'commit_id': kuyruk.commit_id, 'repo': kuyruk.repository, 'branch': kuyruk.branch, 'kernel_required': krn, 'kernel_gerekli': krn, 'dockerimage': docker_image, 'binary_repo_dir': repobinary } print(">>>>> ", cevap) return jsonify(cevap) else: cevap = { 'state': states.NODOCKERIMAGE, 'message': 'No docker image set for repository %s branch %s' % (kuyruk.repository, kuyruk.branch) } return jsonify(cevap)