1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-10-02 09:10:11 +02:00
This commit is contained in:
Daniel Martí 2015-06-03 15:52:01 +02:00
commit 4b59f913f1
6 changed files with 39 additions and 2 deletions

View File

@ -470,6 +470,7 @@ The following sections describe the fields recognised within the file.
* Web Site::
* Source Code::
* Issue Tracker::
* Changelog::
* Donate::
* FlattrID::
* Bitcoin::
@ -634,6 +635,16 @@ applications have one.
This is converted to (@code{<tracker>}) in the public index file.
@node Changelog
@section Changelog
@cindex Changelog
The URL for the application's changelog. Optional, since not all
applications have one.
This is converted to (@code{<changelog>}) in the public index file.
@node Donate
@section Donate

View File

@ -128,6 +128,7 @@ def main():
# Figure out what kind of project it is...
projecttype = None
issuetracker = None
changelog = None
license = None
website = url # by default, we might override it
if url.startswith('git://'):
@ -143,6 +144,7 @@ def main():
sourcecode = url
issuetracker = url + '/issues'
website = ""
changelog = url + '/commits'
elif url.startswith('https://gitlab.com/'):
projecttype = 'gitlab'
repo = url
@ -286,6 +288,8 @@ def main():
app['Source Code'] = sourcecode
if issuetracker:
app['Issue Tracker'] = issuetracker
if changelog:
app['Changelog'] = changelog
if license:
app['License'] = license
app['Repo Type'] = repotype

View File

@ -74,6 +74,14 @@ regex_warnings = {
# (re.compile(r'.*://code\.google\.com/.*'),
# "code.google.com will be soon switching down, perhaps it moved to github.com?"),
],
'Changelog': [
(re.compile(r'.*[^sS]://code\.google\.com/.*'),
"code.google.com URLs should always use https:// not http://"),
(re.compile(r'.*[^sS]://github\.com/.*'),
"github URLs should always use https:// not http://"),
(re.compile(r'.*[^sS]://gitorious\.org/.*'),
"gitorious URLs should always use https:// not http://"),
],
'License': [
(re.compile(r'^(|None|Unknown)$'),
"No license specified"),
@ -117,6 +125,10 @@ regex_pedantic = {
(re.compile(r'.*github\.com/[^/]+/[^/]+/issues/.*'),
"/issues is often enough on its own"),
],
'Changelog': [
(re.compile(r'.*commit.*', re.IGNORECASE),
"Not every commit log is suitable as change log"),
],
'Summary': [
(re.compile(r'.*[a-z0-9][.!?][ $]'),
"Punctuation should be avoided"),

View File

@ -48,6 +48,7 @@ app_defaults = OrderedDict([
('Web Site', ''),
('Source Code', ''),
('Issue Tracker', ''),
('Changelog', ''),
('Donate', None),
('FlattrID', None),
('Bitcoin', None),
@ -169,7 +170,7 @@ valuetypes = {
FieldValidator("HTTP link",
r'^http[s]?://', None,
["Web Site", "Source Code", "Issue Tracker", "Donate"], []),
["Web Site", "Source Code", "Issue Tracker", "Changelog", "Donate"], []),
FieldValidator("Bitcoin address",
r'^[a-zA-Z0-9]{27,34}$', None,
@ -830,6 +831,7 @@ def write_metadata(dest, app):
writefield('Web Site')
writefield('Source Code')
writefield('Issue Tracker')
writefield('Changelog')
writefield_nonempty('Donate')
writefield_nonempty('FlattrID')
writefield_nonempty('Bitcoin')

View File

@ -94,7 +94,7 @@ def update_wiki(apps, sortedids, apks):
if app['AntiFeatures']:
for af in app['AntiFeatures'].split(','):
wikidata += '{{AntiFeature|' + af + '}}\n'
wikidata += '{{App|id=%s|name=%s|added=%s|lastupdated=%s|source=%s|tracker=%s|web=%s|donate=%s|flattr=%s|bitcoin=%s|litecoin=%s|dogecoin=%s|license=%s|root=%s}}\n' % (
wikidata += '{{App|id=%s|name=%s|added=%s|lastupdated=%s|source=%s|tracker=%s|web=%s|changelog=%s|donate=%s|flattr=%s|bitcoin=%s|litecoin=%s|dogecoin=%s|license=%s|root=%s}}\n' % (
appid,
app['Name'],
time.strftime('%Y-%m-%d', app['added']) if 'added' in app else '',
@ -102,6 +102,7 @@ def update_wiki(apps, sortedids, apks):
app['Source Code'],
app['Issue Tracker'],
app['Web Site'],
app['Changelog'],
app['Donate'],
app['FlattrID'],
app['Bitcoin'],
@ -814,6 +815,7 @@ def make_index(apps, sortedids, apks, repodir, archive, categories):
addElement('web', app['Web Site'], doc, apel)
addElement('source', app['Source Code'], doc, apel)
addElement('tracker', app['Issue Tracker'], doc, apel)
addElement('changelog', app['Changelog'], doc, apel)
if app['Donate']:
addElement('donate', app['Donate'], doc, apel)
if app['Bitcoin']:
@ -1133,6 +1135,7 @@ def main():
f.write("Web Site:\n")
f.write("Source Code:\n")
f.write("Issue Tracker:\n")
f.write("Changelog:\n")
f.write("Summary:" + apk['name'] + "\n")
f.write("Description:\n")
f.write(apk['name'] + "\n")

View File

@ -285,6 +285,9 @@ class FDroid
case "tracker":
$issues=$el;
break;
case "changelog":
$changelog=$el;
break;
case "donate":
$donate=$el;
break;
@ -399,6 +402,8 @@ class FDroid
$out.='<b>Issue Tracker:</b> <a href="'.$issues.'">'.$issues.'</a><br />';
if(strlen($source)>0)
$out.='<b>Source Code:</b> <a href="'.$source.'">'.$source.'</a><br />';
if(strlen($changelog)>0)
$out.='<b>Changelog:</b> <a href="'.$changelog.'">'.$changelog.'</a><br />';
if(isset($donate) && strlen($donate)>0)
$out.='<b>Donate:</b> <a href="'.$donate.'">'.$donate.'</a><br />';
if(isset($flattr) && strlen($flattr)>0)