More import tool improvements

This commit is contained in:
Ciaran Gultnieks 2012-02-11 15:27:09 +00:00
parent d3ee954ab2
commit 8f3f7433ee
3 changed files with 39 additions and 5 deletions

View file

@ -73,6 +73,7 @@ elif url.startswith('http://code.google.com/p/'):
print 'Unable to find source at ' + sourcecode + ' - return code ' + str(req.getcode())
sys.exit(1)
page = req.read()
repotype = None
index = page.find('hg clone')
if index != -1:
repotype = 'hg'
@ -82,7 +83,17 @@ elif url.startswith('http://code.google.com/p/'):
print "Error while getting repo address"
sys.exit(1)
repo = repo[:index]
else:
if not repotype:
index=page.find('git clone')
if index != -1:
repotype = 'git'
repo = page[index + 10:]
index = repo.find('<')
if index == -1:
print "Error while getting repo address"
sys.exit(1)
repo = repo[:index]
if not repotype:
print "Unable to determine vcs type"
sys.exit(1)
@ -110,7 +121,7 @@ if not os.path.exists(manifest):
# Extract some information...
vcsearch = re.compile(r'.*android:versionCode="([^"]+)".*').search
vnsearch = re.compile(r'.*android:versionName="([^"]+)".').search
vnsearch = re.compile(r'.*android:versionName="([^"]+)".*').search
psearch = re.compile(r'.*package="([^"]+)".*').search
version = None
vercode = None
@ -141,7 +152,7 @@ if not vercode:
# Make sure it's actually new...
for app in apps:
if app['id'] == package:
print "Package ' + package + ' already exists"
print "Package " + package + " already exists"
sys.exit(1)
# Construct the metadata...
@ -151,6 +162,20 @@ app['Web Site'] = url
app['Source Code'] = sourcecode
app['Repo Type'] = repotype
app['Repo'] = repo
# Create a build line...
build = {}
build['version'] = version
build['vercode'] = vercode
build['commit'] = '?'
if options.subdir:
build['subdir'] = options.subdir
if os.path.exists(os.path.join(root_dir, 'jni')):
build['buildjni'] = 'yes'
app['builds'].append(build)
app['comments'].append(('build:' + version,
"#Generated by import.py - check this is the right version, and find the right commit!"))
metafile = os.path.join('metadata', package + '.txt')
common.write_metadata(metafile, app)
print "Wrote " + metafile