euscan/euscawww: Removing unused imports, fixed some typos and PEP8 cleaning
Signed-off-by: volpino <fox91@anche.no>
This commit is contained in:
@ -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)
|
||||
|
@ -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],
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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):
|
||||
|
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user