mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-09-11 15:13:27 +02:00
More import tool improvements
This commit is contained in:
parent
d3ee954ab2
commit
8f3f7433ee
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- 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
|
# Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# 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']:
|
for build in app['builds']:
|
||||||
writecomments('build:' + build['version'])
|
writecomments('build:' + build['version'])
|
||||||
mf.write('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:
|
if len(app['builds']) > 0:
|
||||||
mf.write('\n')
|
mf.write('\n')
|
||||||
writefield('Update Check Mode')
|
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())
|
print 'Unable to find source at ' + sourcecode + ' - return code ' + str(req.getcode())
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
page = req.read()
|
page = req.read()
|
||||||
|
repotype = None
|
||||||
index = page.find('hg clone')
|
index = page.find('hg clone')
|
||||||
if index != -1:
|
if index != -1:
|
||||||
repotype = 'hg'
|
repotype = 'hg'
|
||||||
@ -82,7 +83,17 @@ elif url.startswith('http://code.google.com/p/'):
|
|||||||
print "Error while getting repo address"
|
print "Error while getting repo address"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
repo = repo[:index]
|
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"
|
print "Unable to determine vcs type"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
@ -110,7 +121,7 @@ if not os.path.exists(manifest):
|
|||||||
|
|
||||||
# Extract some information...
|
# Extract some information...
|
||||||
vcsearch = re.compile(r'.*android:versionCode="([^"]+)".*').search
|
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
|
psearch = re.compile(r'.*package="([^"]+)".*').search
|
||||||
version = None
|
version = None
|
||||||
vercode = None
|
vercode = None
|
||||||
@ -141,7 +152,7 @@ if not vercode:
|
|||||||
# Make sure it's actually new...
|
# Make sure it's actually new...
|
||||||
for app in apps:
|
for app in apps:
|
||||||
if app['id'] == package:
|
if app['id'] == package:
|
||||||
print "Package ' + package + ' already exists"
|
print "Package " + package + " already exists"
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Construct the metadata...
|
# Construct the metadata...
|
||||||
@ -151,6 +162,20 @@ app['Web Site'] = url
|
|||||||
app['Source Code'] = sourcecode
|
app['Source Code'] = sourcecode
|
||||||
app['Repo Type'] = repotype
|
app['Repo Type'] = repotype
|
||||||
app['Repo'] = repo
|
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')
|
metafile = os.path.join('metadata', package + '.txt')
|
||||||
common.write_metadata(metafile, app)
|
common.write_metadata(metafile, app)
|
||||||
print "Wrote " + metafile
|
print "Wrote " + metafile
|
||||||
|
Loading…
Reference in New Issue
Block a user