예제 #1
0
def get_repos(test):
	repos = []
	next_version = None
	for arch in ARCHES:
		directory = helper.open_dir(CRAWL_DIR + arch + "/")
		for is_dir, filename, mod_time in directory:
			if filename.count("-")==2:
				pkg, version, branch = filename.split("-")
				if branch=="release":
					continue
				repo = Repo()
				repo.distro_id = distro_id
				repo.component = pkg
				repo.architecture = arch
				repo.codename = int(version)
				repo.branch = branch
				repos.append(repo)
				downstream.repo(repo, test)
				if branch=="current" and (next_version == None or repo.codename > next_version):
					next_version = repo.codename
	
	for repo in repos:
		if repo.codename==next_version:
			downstream.add_branch(repo, "future", test)
		elif repo.codename==next_version-1:
			downstream.add_branch(repo, "current", test)
		elif repo.codename==next_version-2:
			downstream.add_branch(repo, "lts", test)
		else:
			downstream.add_branch(repo, "past", test)
	return repos
예제 #2
0
def get_repos(test):
    repos = []
    next_version = None
    for arch in ARCHES:
        directory = helper.open_dir(CRAWL_DIR + arch + "/")
        for is_dir, filename, mod_time in directory:
            if filename.count("-") == 2:
                pkg, version, branch = filename.split("-")
                if branch == "release":
                    continue
                repo = Repo()
                repo.distro_id = distro_id
                repo.component = pkg
                repo.architecture = arch
                repo.codename = int(version)
                repo.branch = branch
                repos.append(repo)
                downstream.repo(repo, test)
                if branch == "current" and (next_version == None
                                            or repo.codename > next_version):
                    next_version = repo.codename

    for repo in repos:
        if repo.codename == next_version:
            downstream.add_branch(repo, "future", test)
        elif repo.codename == next_version - 1:
            downstream.add_branch(repo, "current", test)
        elif repo.codename == next_version - 2:
            downstream.add_branch(repo, "lts", test)
        else:
            downstream.add_branch(repo, "past", test)
    return repos
예제 #3
0
def explore(url, depth, good, bad, fn_remove, badv, dead, last_crawl):
	#print url
	pkgs = []
	info = helper.open_dir(url)
	
	if depth!=None and depth>0:
		new_depth = depth - 1
	elif depth==None:
		new_depth = None
	
	if info==None:
		return []
	for d,name,date in info:
		if last_crawl!=None and date!=None and depth<2 and date<last_crawl:
			continue
		
		if d and name not in dead and (depth==None or depth>0):
			if not name.endswith("/"):
				name += "/"
			
			pkgs += explore(url+name, new_depth, good, bad, fn_remove, badv, dead, last_crawl)
		elif not d:
			for token in fn_remove:
				if token in name:
					name = name.replace(token, "")
			rel = parsers.parse_filename(name)
			
			if rel!=None and ((good != None and rel.package in good and bad==None) or (good == None and bad != None and rel.package not in bad)) and not contains(rel.version, badv):
				rel.released = date
				#print "*",rel
				pkgs.append(rel)
			elif rel != None:
				#print rel
				pass
	return pkgs
예제 #4
0
def explore(url, depth, good, bad, fn_remove, badv, dead, last_crawl):
    pkgs = []
    print url
    info = helper.open_dir(url)

    if depth != None and depth > 0:
        new_depth = depth - 1
    elif depth == None:
        new_depth = None

    if info == None:
        return []
    for d, name, date in info:
        if last_crawl != None and date != None and depth < 2 and date < last_crawl:
            continue

        if d and name not in dead and (depth == None or depth > 0):
            if not name.endswith("/"):
                name += "/"

            pkgs += explore(url + name, new_depth, good, bad, fn_remove, badv,
                            dead, last_crawl)
        elif not d:
            for token in fn_remove:
                if token in name:
                    name = name.replace(token, "")
            rel = parsers.parse_filename(name)

            if rel != None and (
                (good != None and rel.package in good and bad == None) or
                (good == None and bad != None and rel.package
                 not in bad)) and not contains(rel.version, badv):
                rel.released = date
                #print "*",rel
                pkgs.append(rel)
            elif rel != None:
                #print rel
                pass
    return pkgs