Add Author Name and Author Email fields. (Closes: #90)

This commit is contained in:
Dominik George 2016-01-03 20:49:36 +01:00
parent 622195bf16
commit 7f3434ea50
No known key found for this signature in database
GPG Key ID: B79A3C16A0C4F296
8 changed files with 5985 additions and 5920 deletions

View File

@ -474,6 +474,8 @@ The following sections describe the fields recognised within the file.
@menu
* Categories::
* Author Name::
* Author Email::
* License::
* Auto Name::
* Name::
@ -524,6 +526,28 @@ for older clients to at least see one category.
This is converted to (@code{<categories>}) in the public index file.
@node Author Name
@section Author Name
@cindex Author Name
The name of the author, either full, abbreviated or pseudonym. If
present, it should represent the name(s) as published by upstream,
e.g. in their copyright or authors file. This can be omitted (or left
blank).
This is converted to (@code{<author>}) in the public index file.
@node Author Email
@section Author Email
@cindex Author Email
The e-mail address of the author(s). This can be omitted (or left
blank).
This is converted to (@code{<email>}) in the public index file.
@node License
@section License

View File

@ -62,6 +62,8 @@ app_fields = set([
'Provides',
'Categories',
'License',
'Author Name',
'Author Email',
'Web Site',
'Source Code',
'Issue Tracker',
@ -103,6 +105,8 @@ class App():
self.Provides = None
self.Categories = ['None']
self.License = 'Unknown'
self.AuthorName = None
self.AuthorEmail = None
self.WebSite = ''
self.SourceCode = ''
self.IssueTracker = ''
@ -440,6 +444,10 @@ valuetypes = {
r'^http[s]?://', None,
["WebSite", "SourceCode", "IssueTracker", "Changelog", "Donate"], []),
FieldValidator("Email",
r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$', None,
["AuthorEmail"], []),
FieldValidator("Bitcoin address",
r'^[a-zA-Z0-9]{27,34}$', None,
["Bitcoin"],
@ -1228,6 +1236,8 @@ def write_plaintext_metadata(mf, app, w_comment, w_field, w_build):
w_field_nonempty('Provides')
w_field_always('Categories')
w_field_always('License')
w_field_nonempty('Author Name')
w_field_nonempty('Author Email')
w_field_always('Web Site')
w_field_always('Source Code')
w_field_always('Issue Tracker')

View File

@ -103,7 +103,7 @@ def update_wiki(apps, sortedids, apks):
requiresroot = 'Yes'
else:
requiresroot = 'No'
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|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|license=%s|root=%s|author=%s|email=%s}}\n' % (
appid,
app.Name,
time.strftime('%Y-%m-%d', app.added) if app.added else '',
@ -117,7 +117,9 @@ def update_wiki(apps, sortedids, apks):
app.Bitcoin,
app.Litecoin,
app.License,
requiresroot)
requiresroot,
app.AuthorName,
app.AuthorEmail)
if app.Provides:
wikidata += "This app provides: %s" % ', '.join(app.Summary.split(','))
@ -850,6 +852,8 @@ def make_index(apps, sortedids, apks, repodir, archive, categories):
addElement('source', app.SourceCode, doc, apel)
addElement('tracker', app.IssueTracker, doc, apel)
addElementNonEmpty('changelog', app.Changelog, doc, apel)
addElementNonEmpty('author', app.AuthorName, doc, apel)
addElementNonEmpty('email', app.AuthorEmail, doc, apel)
addElementNonEmpty('donate', app.Donate, doc, apel)
addElementNonEmpty('bitcoin', app.Bitcoin, doc, apel)
addElementNonEmpty('litecoin', app.Litecoin, doc, apel)

View File

@ -48,386 +48,390 @@ sS'No Source Since'
p24
S''
p25
sS'Repo Type'
sS'Author Name'
p26
S'git'
NsS'Repo Type'
p27
sS'Auto Name'
S'git'
p28
sS'Auto Name'
p29
g25
sS'Categories'
p29
(lp30
p30
(lp31
S'None'
p31
aS'Navigation'
p32
asS'Source Code'
aS'Navigation'
p33
S'https://github.com/osmandapp/Osmand'
asS'Source Code'
p34
sS'added'
S'https://github.com/osmandapp/Osmand'
p35
NsS'Update Check Ignore'
sS'added'
p36
NsS'Name'
NsS'Update Check Ignore'
p37
S'OsmAnd~'
NsS'Name'
p38
sS'License'
S'OsmAnd~'
p39
S'GPLv3'
sS'License'
p40
sS'Changelog'
S'GPLv3'
p41
sS'Changelog'
p42
g25
sS'Update Check Mode'
p42
S'None'
p43
sS'Summary'
S'None'
p44
S'Offline/online maps and navigation'
sS'Summary'
p45
sS'Current Version'
S'Offline/online maps and navigation'
p46
S'1.9.5'
sS'Current Version'
p47
sS'Maintainer Notes'
S'1.9.5'
p48
S"\nNo UCMs apply because git never contains actual releases, only pre-releses.\n\nThe build instructions have been moved to a script in the root of the repo,\n'build'. This way it can be updated along with the submodules.\n "
sS'Author Email'
p49
sS'Current Version Code'
NsS'Maintainer Notes'
p50
S'197'
S"\nNo UCMs apply because git never contains actual releases, only pre-releses.\n\nThe build instructions have been moved to a script in the root of the repo,\n'build'. This way it can be updated along with the submodules.\n "
p51
sS'Binaries'
sS'Current Version Code'
p52
NsS'builds'
S'197'
p53
(lp54
(dp55
sS'Binaries'
p54
NsS'builds'
p55
(lp56
(dp57
S'submodules'
p56
p58
I01
sS'vercode'
p57
S'182'
p58
sS'forceversion'
p59
S'182'
p60
sS'forceversion'
p61
I00
sS'oldsdkloc'
p60
p62
I00
sS'gradleprops'
p61
(lp62
sS'kivy'
p63
(lp64
sS'kivy'
p65
I00
sS'patch'
p64
(lp65
sS'scanignore'
p66
(lp67
sS'srclibs'
sS'scanignore'
p68
(lp69
sS'encoding'
sS'srclibs'
p70
(lp71
sS'encoding'
p72
NsS'extlibs'
p71
(lp72
sS'init'
p73
(lp74
sS'init'
p75
g25
sS'version'
p74
S'1.8.2'
p75
sS'build'
p76
S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
S'1.8.2'
p77
sS'rm'
sS'build'
p78
(lp79
sS'subdir'
S'./old-ndk-build.sh && ant -Dsdk.dir="$ANDROID_SDK" -Dndk.dir="$ANDROID_NDK" -DBLACKBERRY_BUILD=false -DBUILD_SUFFIX= -DAPK_NUMBER_VERSION=182 "-DFEATURES=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" -DCLEAN_CPP=false -DPACKAGE_TO_BUILT=net.osmand.plus -DAPK_VERSION=1.8.2 -Dnet.osmand.plus= -Dbuild.version=1.8.2 -Dbuild.version.code=182 -Dnativeoff=false "-DversionFeatures=+play_market +gps_status -parking_plugin -blackberry -amazon -route_nav" clean release'
p79
sS'rm'
p80
S'android/OsmAnd'
p81
sS'forcevercode'
(lp81
sS'subdir'
p82
S'android/OsmAnd'
p83
sS'forcevercode'
p84
I00
sS'preassemble'
p83
(lp84
sS'update'
p85
(lp86
sS'maven'
sS'update'
p87
(lp88
sS'maven'
p89
I00
sS'disable'
p88
p90
I00
sS'output'
p89
S'bin/OsmAnd-release-unsigned.apk'
p90
sS'scandelete'
p91
(lp92
sS'buildjni'
S'bin/OsmAnd-release-unsigned.apk'
p92
sS'scandelete'
p93
S'no'
p94
sS'ndk'
(lp94
sS'buildjni'
p95
NsS'target'
S'no'
p96
NsS'antcommands'
sS'ndk'
p97
(lp98
sS'gradle'
NsS'target'
p98
NsS'antcommands'
p99
(lp100
sS'prebuild'
sS'gradle'
p101
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p102
sS'novcheck'
(lp102
sS'prebuild'
p103
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p104
sS'novcheck'
p105
I00
sS'commit'
p104
p106
S'76ada6c8a08afe69acb755503373ac36328ef665'
p105
sa(dp106
g56
I01
sg57
S'183'
p107
sa(dp108
g58
I01
sg59
I00
sg60
I00
S'183'
p109
sg61
(lp108
sg63
I00
sg64
(lp109
sg66
sg62
I00
sg63
(lp110
sg68
sg65
I00
sg66
(lp111
sg70
Nsg71
sg68
(lp112
sg73
sg70
(lp113
sg72
Nsg73
(lp114
sg75
g25
sg74
S'1.8.3'
p113
sg76
S'../../build'
p114
S'1.8.3'
p115
sg78
(lp115
sg80
S'android/OsmAnd'
S'../../build'
p116
sg82
I00
sg83
sg80
(lp117
sg82
S'android/OsmAnd'
p118
sg84
I00
sg85
(lp118
(lp119
sg87
I00
sg88
I00
sg89
S'bin/OsmAnd-release-unsigned.apk'
p119
sg91
(lp120
sg93
S'no'
sg89
I00
sg90
I00
sg91
S'bin/OsmAnd-release-unsigned.apk'
p121
sg95
Nsg96
Nsg97
sg93
(lp122
sg99
(lp123
sg95
S'no'
p123
sg97
Nsg98
Nsg99
(lp124
sg101
g25
(lp125
sg103
g25
sg105
I00
sg104
sg106
S'1.8.3'
p124
sa(dp125
g56
I01
sg57
S'196'
p126
sg59
I00
sg60
I00
sg61
(lp127
sg63
I00
sg64
(lp128
sg66
(lp129
sg68
(lp130
sg70
Nsg71
(lp131
sg73
g25
sg74
S'1.9.4'
p132
sg76
S'../../build'
p133
sg78
(lp134
sg80
S'android/OsmAnd'
p135
sg82
I00
sg83
(lp136
sg85
(lp137
sg87
I00
sg88
I00
sg89
S'bin/OsmAnd-release-unsigned.apk'
p138
sg91
(lp139
sg93
S'no'
p140
sg95
S'r10d'
p141
sg96
Nsg97
(lp142
sg99
(lp143
sg101
g25
sg103
I00
sg104
S'1.9.4'
p144
sa(dp145
g56
sa(dp127
g58
I01
sg57
S'197'
p146
sg59
I00
sg60
I00
S'196'
p128
sg61
(lp147
I00
sg62
I00
sg63
(lp129
sg65
I00
sg64
(lp148
sg66
(lp149
(lp130
sg68
(lp150
(lp131
sg70
Nsg71
(lp151
sg73
(lp132
sg72
Nsg73
(lp133
sg75
g25
sg74
S'1.9.5'
p152
sg76
S'../../build'
p153
S'1.9.4'
p134
sg78
(lp154
S'../../build'
p135
sg80
S'android/OsmAnd'
p155
(lp136
sg82
S'android/OsmAnd'
p137
sg84
I00
sg83
(lp156
sg85
(lp157
(lp138
sg87
I00
sg88
I00
(lp139
sg89
S'bin/OsmAnd-release-unsigned.apk'
p158
sg91
(lp159
sg93
S'no'
p160
sg95
S'r10d'
p161
sg96
Nsg97
(lp162
sg99
(lp163
sg101
g25
sg103
I00
sg104
sg90
I00
sg91
S'bin/OsmAnd-release-unsigned.apk'
p140
sg93
(lp141
sg95
S'no'
p142
sg97
S'r10d'
p143
sg98
Nsg99
(lp144
sg101
(lp145
sg103
g25
sg105
I00
sg106
S'1.9.4'
p146
sa(dp147
g58
I01
sg59
S'197'
p148
sg61
I00
sg62
I00
sg63
(lp149
sg65
I00
sg66
(lp150
sg68
(lp151
sg70
(lp152
sg72
Nsg73
(lp153
sg75
g25
sg76
S'1.9.5'
p154
sg78
S'../../build'
p155
sg80
(lp156
sg82
S'android/OsmAnd'
p157
sg84
I00
sg85
(lp158
sg87
(lp159
sg89
I00
sg90
I00
sg91
S'bin/OsmAnd-release-unsigned.apk'
p160
sg93
(lp161
sg95
S'no'
p162
sg97
S'r10d'
p163
sg98
Nsg99
(lp164
sg101
(lp165
sg103
g25
sg105
I00
sg106
S'1.9.5'
p164
sasS'FlattrID'
p165
NsS'metadatapath'
p166
S'metadata/net.osmand.plus.xml'
sasS'FlattrID'
p167
sS'Disabled'
NsS'metadatapath'
p168
NsS'Web Site'
S'metadata/net.osmand.plus.xml'
p169
S'http://osmand.net'
sS'Disabled'
p170
sS'Update Check Name'
NsS'Web Site'
p171
NsS'Vercode Operation'
S'http://osmand.net'
p172
NsS'Auto Update Mode'
sS'Update Check Name'
p173
S'None'
NsS'Vercode Operation'
p174
NsS'Auto Update Mode'
p175
S'None'
p176
s.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -280,6 +280,12 @@ class FDroid
case "license":
$license=$el;
break;
case "author":
$author=$el;
break;
case "email":
$email=$el;
break;
case "source":
$source=$el;
break;
@ -399,6 +405,11 @@ class FDroid
$out.="<p>";
if(strlen($web)>0)
$out.='<b>Website:</b> <a href="'.$web.'">'.$web.'</a><br />';
if(isset($author) && strlen($author)>0)
if(isset($email) && strlen($email)>0)
$out.='<b>Author(s):</b> <a href="mailto:'.$email.'">'.$author.'</a><br />';
else
$out.='<b>Author(s):</b> '.$author.'<br />';
if(strlen($issues)>0)
$out.='<b>Issue Tracker:</b> <a href="'.$issues.'">'.$issues.'</a><br />';
if(strlen($source)>0)