mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-14 02:50:12 +01:00
Make Archive Policy a standard fieldtype too
This commit is contained in:
parent
fb38eb6b8c
commit
fa3a591f15
@ -83,6 +83,11 @@ valuetypes = {
|
|||||||
[ "Bitcoin" ],
|
[ "Bitcoin" ],
|
||||||
[ ]),
|
[ ]),
|
||||||
|
|
||||||
|
'archive' : FieldType("Archive Policy",
|
||||||
|
r'^[0-9]+ versions$', None,
|
||||||
|
[ "Archive Policy" ],
|
||||||
|
[ ]),
|
||||||
|
|
||||||
'bool' : FieldType("Boolean",
|
'bool' : FieldType("Boolean",
|
||||||
['yes', 'no'], None,
|
['yes', 'no'], None,
|
||||||
[ ],
|
[ ],
|
||||||
@ -101,8 +106,6 @@ valuetypes = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def check_metadata(info):
|
def check_metadata(info):
|
||||||
|
|
||||||
# Generic fields and attributes
|
|
||||||
for k, t in valuetypes.iteritems():
|
for k, t in valuetypes.iteritems():
|
||||||
for field in [f for f in t.fields if f in info]:
|
for field in [f for f in t.fields if f in info]:
|
||||||
t.check(info[field], info['id'])
|
t.check(info[field], info['id'])
|
||||||
@ -114,16 +117,6 @@ def check_metadata(info):
|
|||||||
if k == 'bool':
|
if k == 'bool':
|
||||||
info[field] = info[field] == "yes"
|
info[field] = info[field] == "yes"
|
||||||
|
|
||||||
# Special fields
|
|
||||||
if info['Archive Policy']:
|
|
||||||
if not re.match(r'^[0-9]+ versions$', info['Archive Policy']):
|
|
||||||
raise MetaDataException("Invalid archive policy '%s' in %s"
|
|
||||||
% (info['Archive Policy'], info["id"]))
|
|
||||||
versions = int(info['Archive Policy'][:-9])
|
|
||||||
if versions < 1 or versions > 20:
|
|
||||||
raise MetaDataException("Silly number of versions '%s' for archive policy in %s"
|
|
||||||
% (versions, info["id"]))
|
|
||||||
|
|
||||||
# Formatter for descriptions. Create an instance, and call parseline() with
|
# Formatter for descriptions. Create an instance, and call parseline() with
|
||||||
# each line of the description source from the metadata. At the end, call
|
# each line of the description source from the metadata. At the end, call
|
||||||
# end() and then text_plain, text_wiki and text_html will contain the result.
|
# end() and then text_plain, text_wiki and text_html will contain the result.
|
||||||
|
Loading…
Reference in New Issue
Block a user