mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-10-03 17:50:11 +02:00
remove json metadata support
This commit is contained in:
parent
29eea3f739
commit
bc1398f594
@ -18,7 +18,6 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License
|
# You should have received a copy of the GNU Affero General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
import json
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import glob
|
import glob
|
||||||
@ -867,10 +866,8 @@ def read_metadata(xref=True, check_vcs=[], refresh=True, sort_by_time=False):
|
|||||||
os.makedirs(basedir)
|
os.makedirs(basedir)
|
||||||
|
|
||||||
metadatafiles = (glob.glob(os.path.join('metadata', '*.txt'))
|
metadatafiles = (glob.glob(os.path.join('metadata', '*.txt'))
|
||||||
+ glob.glob(os.path.join('metadata', '*.json'))
|
|
||||||
+ glob.glob(os.path.join('metadata', '*.yml'))
|
+ glob.glob(os.path.join('metadata', '*.yml'))
|
||||||
+ glob.glob('.fdroid.txt')
|
+ glob.glob('.fdroid.txt')
|
||||||
+ glob.glob('.fdroid.json')
|
|
||||||
+ glob.glob('.fdroid.yml'))
|
+ glob.glob('.fdroid.yml'))
|
||||||
|
|
||||||
if sort_by_time:
|
if sort_by_time:
|
||||||
@ -884,7 +881,7 @@ def read_metadata(xref=True, check_vcs=[], refresh=True, sort_by_time=False):
|
|||||||
|
|
||||||
for metadatapath in metadatafiles:
|
for metadatapath in metadatafiles:
|
||||||
if metadatapath == '.fdroid.txt':
|
if metadatapath == '.fdroid.txt':
|
||||||
warn_or_exception(_('.fdroid.txt is not supported! Convert to .fdroid.yml or .fdroid.json.'))
|
warn_or_exception(_('.fdroid.txt is not supported! Convert to .fdroid.yml'))
|
||||||
appid, _ignored = fdroidserver.common.get_extension(os.path.basename(metadatapath))
|
appid, _ignored = fdroidserver.common.get_extension(os.path.basename(metadatapath))
|
||||||
if appid != '.fdroid' and not fdroidserver.common.is_valid_package_name(appid):
|
if appid != '.fdroid' and not fdroidserver.common.is_valid_package_name(appid):
|
||||||
warn_or_exception(_("{appid} from {path} is not a valid Java Package Name!")
|
warn_or_exception(_("{appid} from {path} is not a valid Java Package Name!")
|
||||||
@ -1060,8 +1057,6 @@ def parse_metadata(metadatapath, check_vcs=False, refresh=True):
|
|||||||
with open(metadatapath, 'r') as mf:
|
with open(metadatapath, 'r') as mf:
|
||||||
if ext == 'txt':
|
if ext == 'txt':
|
||||||
parse_txt_metadata(mf, app)
|
parse_txt_metadata(mf, app)
|
||||||
elif ext == 'json':
|
|
||||||
parse_json_metadata(mf, app)
|
|
||||||
elif ext == 'yml':
|
elif ext == 'yml':
|
||||||
parse_yaml_metadata(mf, app)
|
parse_yaml_metadata(mf, app)
|
||||||
else:
|
else:
|
||||||
@ -1098,20 +1093,6 @@ def parse_metadata(metadatapath, check_vcs=False, refresh=True):
|
|||||||
return app
|
return app
|
||||||
|
|
||||||
|
|
||||||
def parse_json_metadata(mf, app):
|
|
||||||
|
|
||||||
# fdroid metadata is only strings and booleans, no floats or ints.
|
|
||||||
# TODO create schema using https://pypi.python.org/pypi/jsonschema
|
|
||||||
jsoninfo = json.load(mf, parse_int=lambda s: s,
|
|
||||||
parse_float=lambda s: s)
|
|
||||||
app.update(jsoninfo)
|
|
||||||
for f in ['Description', 'Maintainer Notes']:
|
|
||||||
v = app.get(f)
|
|
||||||
if v:
|
|
||||||
app[f] = '\n'.join(v)
|
|
||||||
return app
|
|
||||||
|
|
||||||
|
|
||||||
def parse_yaml_metadata(mf, app):
|
def parse_yaml_metadata(mf, app):
|
||||||
try:
|
try:
|
||||||
yamldata = yaml.load(mf, Loader=SafeLoader)
|
yamldata = yaml.load(mf, Loader=SafeLoader)
|
||||||
|
Loading…
Reference in New Issue
Block a user