euscan/euscawww: Removing unused imports, fixed some typos and PEP8 cleaning

Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
volpino
2012-08-07 09:39:49 +02:00
parent b03541c97d
commit 952d9505b2
18 changed files with 105 additions and 49 deletions

View File

@ -1,12 +1,12 @@
import os, sys
import os
import sys
import pkgutil
from euscan import CONFIG, output
import euscan.mangling
from gentoolkit.metadata import MetaData
handlers = {'package' : [], 'url' : [], 'all' : {}}
handlers = {'package': [], 'url': [], 'all': {}}
# autoimport all modules in this directory and append them to handlers list
for loader, module_name, is_pkg in pkgutil.walk_packages(__path__):
@ -19,6 +19,7 @@ for loader, module_name, is_pkg in pkgutil.walk_packages(__path__):
handlers['package'].append(module)
handlers['all'][module.HANDLER_NAME] = module
# sort handlers by priority
def sort_handlers(handlers):
return sorted(
@ -30,6 +31,7 @@ def sort_handlers(handlers):
handlers['package'] = sort_handlers(handlers['package'])
handlers['url'] = sort_handlers(handlers['url'])
def find_best_handler(kind, pkg, *args):
"""
Find the best handler for the given package
@ -39,6 +41,7 @@ def find_best_handler(kind, pkg, *args):
return handler
return None
def find_handlers(kind, names):
ret = []
@ -49,12 +52,14 @@ def find_handlers(kind, names):
return ret
def get_metadata(pkg):
metadata = {}
pkg_metadata = None
meta_override = os.path.join('metadata', pkg.category, pkg.name, 'metadata.xml')
meta_override = os.path.join('metadata', pkg.category, pkg.name,
'metadata.xml')
try:
if os.path.exists(meta_override):
@ -99,10 +104,11 @@ def get_metadata(pkg):
if not metadata[handler][i]['data']:
metadata[handler][i]['data'] = node.text
else:
metadata[handler] = [{'type' : handler, 'data' : node.text }]
metadata[handler] = [{'type': handler, 'data': node.text}]
return metadata
def scan_pkg(pkg_handler, pkg, options, on_progress=None):
versions = []
@ -117,6 +123,7 @@ def scan_pkg(pkg_handler, pkg, options, on_progress=None):
return versions
def scan_url(pkg, urls, options, on_progress=None):
versions = []
@ -158,6 +165,7 @@ def scan_url(pkg, urls, options, on_progress=None):
return versions
def scan(pkg, urls, on_progress=None):
"""
Scans upstream for the given package.
@ -174,7 +182,8 @@ def scan(pkg, urls, on_progress=None):
pkg_handlers = find_handlers('package', metadata.keys())
if not pkg_handlers:
pkg_handler = find_best_handler('package', pkg)
if pkg_handler: pkg_handlers = [pkg_handler]
if pkg_handler:
pkg_handlers = [pkg_handler]
for pkg_handler in pkg_handlers:
options = metadata.get(pkg_handler.HANDLER_NAME, [{}])
@ -185,6 +194,7 @@ def scan(pkg, urls, on_progress=None):
return versions
def mangle(kind, name, string):
if name not in handlers['all']:
return None
@ -193,8 +203,10 @@ def mangle(kind, name, string):
return None
return getattr(handler, 'mangle_%s' % kind)(string)
def mangle_url(name, string):
return mangle('url', name, string)
def mangle_version(name, string):
return mangle('version', name, string)

View File

@ -11,9 +11,11 @@ PRIORITY = 90
_cpan_package_name_re = re.compile("mirror://cpan/authors/.*/([^/.]*).*")
def can_handle(pkg, url=None):
return url and url.startswith('mirror://cpan/')
def guess_package(cp, url):
match = _cpan_package_name_re.search(url)
@ -48,10 +50,10 @@ def mangle_version(up_pv):
# or when last digit is 0. e.g.: 4.11 -> 4.110.0
splitted = up_pv.split(".")
if len(splitted) == 2: # Split second part is sub-groups
if len(splitted) == 2: # Split second part is sub-groups
part = splitted.pop()
for i in xrange(0, len(part), 3):
splitted.append(part[i:i+3])
splitted.append(part[i:i + 3])
if len(splitted) == 2: # add last group if it's missing
splitted.append("0")
@ -74,6 +76,7 @@ def mangle_version(up_pv):
return pv
def cpan_mangle_version(pv):
pos = pv.find('.')
if pos <= 0:
@ -82,19 +85,22 @@ def cpan_mangle_version(pv):
up_pv = up_pv[0:pos] + '.' + up_pv[pos:]
return up_pv
def cpan_vercmp(cp, a, b):
try:
return float(a) - float(b)
except:
return helpers.simple_vercmp(a, b)
def scan_url(pkg, url, options):
cp, ver, rev = portage.pkgsplit(pkg.cpv)
remote_pkg = guess_package(cp, url)
output.einfo("Using CPAN API: %s", remote_pkg)
return scan_pkg(pkg, {'data' : remote_pkg})
return scan_pkg(pkg, {'data': remote_pkg})
def scan_pkg(pkg, options):
remote_pkg = options['data']
@ -142,7 +148,6 @@ def scan_pkg(pkg, options):
if helpers.version_filtered(cp, m_ver, m_pv, cpan_vercmp):
continue
url = 'mirror://cpan/authors/id/%s/%s/%s/%s' % (
version['cpanid'][0],
version['cpanid'][0:1],

View File

@ -135,7 +135,8 @@ def scan_directory_recursive(cp, ver, rev, url, steps, orig_url, options):
versions.append((path, pv, HANDLER_NAME, confidence))
if steps:
ret = scan_directory_recursive(cp, ver, rev, path, steps, orig_url, options)
ret = scan_directory_recursive(cp, ver, rev, path, steps, orig_url,
options)
versions.extend(ret)
return versions

View File

@ -8,6 +8,7 @@ HANDLER_NAME = "kde"
def can_handle(pkg, url):
return url and url.startswith('mirror://kde/')
def clean_results(results):
ret = []
@ -30,7 +31,8 @@ def scan_url(pkg, url, options):
results = generic.brute_force(pkg.cpv, url)
if generic.startswith('mirror://kde/unstable/'):
url = generic.replace('mirror://kde/unstable/', 'mirror://kde/stable/')
url = generic.replace('mirror://kde/unstable/',
'mirror://kde/stable/')
results += generic.brute_force(pkg.cpv, url)
return clean_results(results)

View File

@ -4,6 +4,7 @@ HANDLER_NAME = "pear"
CONFIDENCE = 100
PRIORITY = 90
def can_handle(pkg, url=None):
return url and url.startswith('http://%s.php.net/get/' % HANDLER_NAME)

View File

@ -28,7 +28,7 @@ def scan_url(pkg, url, options):
'http://wiki.python.org/moin/PyPiXmlRpc'
package = guess_package(pkg.cpv, url)
return scan_kg(pkg, [package])
return scan_pkg(pkg, [package])
def scan_pkg(pkg, options):
@ -52,6 +52,7 @@ def scan_pkg(pkg, options):
if helpers.version_filtered(cp, ver, pv):
continue
urls = client.release_urls(package, up_pv)
urls = " ".join([mangling.mangle_url(infos['url'], options) for infos in urls])
urls = " ".join([mangling.mangle_url(infos['url'], options)
for infos in urls])
ret.append((urls, pv, HANDLER_NAME, CONFIDENCE))
return ret

View File

@ -41,7 +41,7 @@ def scan_url(pkg, url, options):
output.einfo("Using RubyGem API: %s" % gem)
return scan_pkg(pkg, {'data' : gem})
return scan_pkg(pkg, {'data': gem})
def scan_pkg(pkg, options):

View File

@ -1,8 +1,6 @@
import re
import urllib2
import portage
import generic
from euscan import output, helpers
@ -14,9 +12,11 @@ CONFIDENCE = 100.0
is_pattern = r"\([^\/]+\)"
def can_handle(*args):
return False
def handle_directory_patterns(base, file_pattern):
"""
Directory pattern matching
@ -55,6 +55,7 @@ def handle_directory_patterns(base, file_pattern):
return [("/".join((basedir, path, final)), file_pattern)
for _, path in scan_data]
def read_options(options):
try:
base, file_pattern = options['data'].split(" ")[:2]
@ -75,6 +76,7 @@ def read_options(options):
return base, file_pattern
def scan_pkg(pkg, options):
output.einfo("Using watch data")
@ -95,4 +97,3 @@ def scan_pkg(pkg, options):
)
return results