mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-13 02:30:11 +01:00
More import tool improvements
This commit is contained in:
parent
d3ee954ab2
commit
8f3f7433ee
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# checkmarket2.py - part of the FDroid server tools
|
||||
# checkupdates.py - part of the FDroid server tools
|
||||
# Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
|
11
common.py
11
common.py
@ -517,7 +517,16 @@ def write_metadata(dest, app):
|
||||
for build in app['builds']:
|
||||
writecomments('build:' + build['version'])
|
||||
mf.write('Build Version:')
|
||||
mf.write('\\\n'.join(build['origlines']) + '\n')
|
||||
if build.has_key('origlines'):
|
||||
# Keeping the original formatting if we loaded it from a file...
|
||||
mf.write('\\\n'.join(build['origlines']) + '\n')
|
||||
else:
|
||||
mf.write(build['version'] + ',' + build['vercode'] + ',' +
|
||||
build['commit'])
|
||||
for key,value in build.iteritems():
|
||||
if key not in ['version', 'vercode', 'commit']:
|
||||
mf.write(',' + key + '=' + value)
|
||||
mf.write('\n')
|
||||
if len(app['builds']) > 0:
|
||||
mf.write('\n')
|
||||
writefield('Update Check Mode')
|
||||
|
31
import.py
31
import.py
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user