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 @menu
* Categories:: * Categories::
* Author Name::
* Author Email::
* License:: * License::
* Auto Name:: * Auto Name::
* 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. 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 @node License
@section License @section License

View file

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

View file

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

View file

@ -48,386 +48,390 @@ sS'No Source Since'
p24 p24
S'' S''
p25 p25
sS'Repo Type' sS'Author Name'
p26 p26
S'git' NsS'Repo Type'
p27 p27
sS'Auto Name' S'git'
p28 p28
sS'Auto Name'
p29
g25 g25
sS'Categories' sS'Categories'
p29 p30
(lp30 (lp31
S'None' S'None'
p31
aS'Navigation'
p32 p32
asS'Source Code' aS'Navigation'
p33 p33
S'https://github.com/osmandapp/Osmand' asS'Source Code'
p34 p34
sS'added' S'https://github.com/osmandapp/Osmand'
p35 p35
NsS'Update Check Ignore' sS'added'
p36 p36
NsS'Name' NsS'Update Check Ignore'
p37 p37
S'OsmAnd~' NsS'Name'
p38 p38
sS'License' S'OsmAnd~'
p39 p39
S'GPLv3' sS'License'
p40 p40
sS'Changelog' S'GPLv3'
p41 p41
sS'Changelog'
p42
g25 g25
sS'Update Check Mode' sS'Update Check Mode'
p42
S'None'
p43 p43
sS'Summary' S'None'
p44 p44
S'Offline/online maps and navigation' sS'Summary'
p45 p45
sS'Current Version' S'Offline/online maps and navigation'
p46 p46
S'1.9.5' sS'Current Version'
p47 p47
sS'Maintainer Notes' S'1.9.5'
p48 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 p49
sS'Current Version Code' NsS'Maintainer Notes'
p50 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 p51
sS'Binaries' sS'Current Version Code'
p52 p52
NsS'builds' S'197'
p53 p53
(lp54 sS'Binaries'
(dp55 p54
NsS'builds'
p55
(lp56
(dp57
S'submodules' S'submodules'
p56 p58
I01 I01
sS'vercode' sS'vercode'
p57
S'182'
p58
sS'forceversion'
p59 p59
S'182'
p60
sS'forceversion'
p61
I00 I00
sS'oldsdkloc' sS'oldsdkloc'
p60 p62
I00 I00
sS'gradleprops' sS'gradleprops'
p61
(lp62
sS'kivy'
p63 p63
(lp64
sS'kivy'
p65
I00 I00
sS'patch' sS'patch'
p64
(lp65
sS'scanignore'
p66 p66
(lp67 (lp67
sS'srclibs' sS'scanignore'
p68 p68
(lp69 (lp69
sS'encoding' sS'srclibs'
p70 p70
(lp71
sS'encoding'
p72
NsS'extlibs' NsS'extlibs'
p71
(lp72
sS'init'
p73 p73
(lp74
sS'init'
p75
g25 g25
sS'version' sS'version'
p74
S'1.8.2'
p75
sS'build'
p76 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 p77
sS'rm' sS'build'
p78 p78
(lp79 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'
sS'subdir' p79
sS'rm'
p80 p80
S'android/OsmAnd' (lp81
p81 sS'subdir'
sS'forcevercode'
p82 p82
S'android/OsmAnd'
p83
sS'forcevercode'
p84
I00 I00
sS'preassemble' sS'preassemble'
p83
(lp84
sS'update'
p85 p85
(lp86 (lp86
sS'maven' sS'update'
p87 p87
(lp88
sS'maven'
p89
I00 I00
sS'disable' sS'disable'
p88 p90
I00 I00
sS'output' sS'output'
p89
S'bin/OsmAnd-release-unsigned.apk'
p90
sS'scandelete'
p91 p91
(lp92 S'bin/OsmAnd-release-unsigned.apk'
sS'buildjni' p92
sS'scandelete'
p93 p93
S'no' (lp94
p94 sS'buildjni'
sS'ndk'
p95 p95
NsS'target' S'no'
p96 p96
NsS'antcommands' sS'ndk'
p97 p97
(lp98 NsS'target'
sS'gradle' p98
NsS'antcommands'
p99 p99
(lp100 (lp100
sS'prebuild' sS'gradle'
p101 p101
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml' (lp102
p102 sS'prebuild'
sS'novcheck'
p103 p103
S'sed -i \'s/"OsmAnd+"/"OsmAnd~"/g\' build.xml'
p104
sS'novcheck'
p105
I00 I00
sS'commit' sS'commit'
p104 p106
S'76ada6c8a08afe69acb755503373ac36328ef665' S'76ada6c8a08afe69acb755503373ac36328ef665'
p105
sa(dp106
g56
I01
sg57
S'183'
p107 p107
sa(dp108
g58
I01
sg59 sg59
I00 S'183'
sg60 p109
I00
sg61 sg61
(lp108
sg63
I00 I00
sg64 sg62
(lp109 I00
sg66 sg63
(lp110 (lp110
sg68 sg65
I00
sg66
(lp111 (lp111
sg70 sg68
Nsg71
(lp112 (lp112
sg73 sg70
(lp113
sg72
Nsg73
(lp114
sg75
g25 g25
sg74
S'1.8.3'
p113
sg76 sg76
S'../../build' S'1.8.3'
p114 p115
sg78 sg78
(lp115 S'../../build'
sg80
S'android/OsmAnd'
p116 p116
sg82 sg80
I00
sg83
(lp117 (lp117
sg82
S'android/OsmAnd'
p118
sg84
I00
sg85 sg85
(lp118 (lp119
sg87 sg87
I00
sg88
I00
sg89
S'bin/OsmAnd-release-unsigned.apk'
p119
sg91
(lp120 (lp120
sg93 sg89
S'no' I00
sg90
I00
sg91
S'bin/OsmAnd-release-unsigned.apk'
p121 p121
sg95 sg93
Nsg96
Nsg97
(lp122 (lp122
sg99 sg95
(lp123 S'no'
p123
sg97
Nsg98
Nsg99
(lp124
sg101 sg101
g25 (lp125
sg103 sg103
g25
sg105
I00 I00
sg104 sg106
S'1.8.3' S'1.8.3'
p124
sa(dp125
g56
I01
sg57
S'196'
p126 p126
sg59 sa(dp127
I00 g58
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
I01 I01
sg57
S'197'
p146
sg59 sg59
I00 S'196'
sg60 p128
I00
sg61 sg61
(lp147 I00
sg62
I00
sg63 sg63
(lp129
sg65
I00 I00
sg64
(lp148
sg66 sg66
(lp149 (lp130
sg68 sg68
(lp150 (lp131
sg70 sg70
Nsg71 (lp132
(lp151 sg72
sg73 Nsg73
(lp133
sg75
g25 g25
sg74
S'1.9.5'
p152
sg76 sg76
S'../../build' S'1.9.4'
p153 p134
sg78 sg78
(lp154 S'../../build'
p135
sg80 sg80
S'android/OsmAnd' (lp136
p155
sg82 sg82
S'android/OsmAnd'
p137
sg84
I00 I00
sg83
(lp156
sg85 sg85
(lp157 (lp138
sg87 sg87
I00 (lp139
sg88
I00
sg89 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 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' S'1.9.5'
p164
sasS'FlattrID'
p165
NsS'metadatapath'
p166 p166
S'metadata/net.osmand.plus.xml' sasS'FlattrID'
p167 p167
sS'Disabled' NsS'metadatapath'
p168 p168
NsS'Web Site' S'metadata/net.osmand.plus.xml'
p169 p169
S'http://osmand.net' sS'Disabled'
p170 p170
sS'Update Check Name' NsS'Web Site'
p171 p171
NsS'Vercode Operation' S'http://osmand.net'
p172 p172
NsS'Auto Update Mode' sS'Update Check Name'
p173 p173
S'None' NsS'Vercode Operation'
p174 p174
NsS'Auto Update Mode'
p175
S'None'
p176
s. 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": case "license":
$license=$el; $license=$el;
break; break;
case "author":
$author=$el;
break;
case "email":
$email=$el;
break;
case "source": case "source":
$source=$el; $source=$el;
break; break;
@ -399,6 +405,11 @@ class FDroid
$out.="<p>"; $out.="<p>";
if(strlen($web)>0) if(strlen($web)>0)
$out.='<b>Website:</b> <a href="'.$web.'">'.$web.'</a><br />'; $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) if(strlen($issues)>0)
$out.='<b>Issue Tracker:</b> <a href="'.$issues.'">'.$issues.'</a><br />'; $out.='<b>Issue Tracker:</b> <a href="'.$issues.'">'.$issues.'</a><br />';
if(strlen($source)>0) if(strlen($source)>0)