mirror of
https://github.com/kellyjonbrazil/jc.git
synced 2025-08-08 22:36:48 +02:00
convert size fields and fix issue for optional_deps without a description
This commit is contained in:
@@ -57,8 +57,8 @@ Schema:
|
|||||||
"replaces": [
|
"replaces": [
|
||||||
string
|
string
|
||||||
],
|
],
|
||||||
"download_size": string,
|
"download_size": integer, # in bytes
|
||||||
"installed_size": string,
|
"installed_size": integer, # in bytes
|
||||||
"packager": string,
|
"packager": string,
|
||||||
"build_date": string,
|
"build_date": string,
|
||||||
"validated_by": [
|
"validated_by": [
|
||||||
@@ -108,7 +108,7 @@ Examples:
|
|||||||
],
|
],
|
||||||
"conflicts_with": [],
|
"conflicts_with": [],
|
||||||
"replaces": [],
|
"replaces": [],
|
||||||
"installed_size": "1527.00 KiB",
|
"installed_size": "1563648",
|
||||||
"packager": "Levente Polyak <anthraxx@archlinux.org>",
|
"packager": "Levente Polyak <anthraxx@archlinux.org>",
|
||||||
"build_date": "Sat 11 May 2024 06:14:19 AM +08",
|
"build_date": "Sat 11 May 2024 06:14:19 AM +08",
|
||||||
"install_date": "Fri 24 May 2024 09:50:31 AM +08",
|
"install_date": "Fri 24 May 2024 09:50:31 AM +08",
|
||||||
@@ -205,6 +205,8 @@ def _process(proc_data: List[JSONDictType]) -> List[JSONDictType]:
|
|||||||
|
|
||||||
name_description_fields = {'optional_deps'}
|
name_description_fields = {'optional_deps'}
|
||||||
|
|
||||||
|
size_fields = {'download_size', 'installed_size'}
|
||||||
|
|
||||||
# initial split for field lists
|
# initial split for field lists
|
||||||
for item in proc_data:
|
for item in proc_data:
|
||||||
for key, val in item.items():
|
for key, val in item.items():
|
||||||
@@ -225,11 +227,18 @@ def _process(proc_data: List[JSONDictType]) -> List[JSONDictType]:
|
|||||||
if key in name_description_fields and isinstance(val, list):
|
if key in name_description_fields and isinstance(val, list):
|
||||||
new_list = []
|
new_list = []
|
||||||
for name_desc in val:
|
for name_desc in val:
|
||||||
n, d = name_desc.split(': ')
|
n, *d = name_desc.split(': ')
|
||||||
|
if d == []:
|
||||||
|
d = ''
|
||||||
|
else:
|
||||||
|
d = d[0]
|
||||||
new_obj = {'name': n, 'description': d}
|
new_obj = {'name': n, 'description': d}
|
||||||
new_list.append(new_obj)
|
new_list.append(new_obj)
|
||||||
item[key] = new_list
|
item[key] = new_list
|
||||||
|
|
||||||
|
if key in size_fields:
|
||||||
|
item[key] = jc.utils.convert_size_to_int(val)
|
||||||
|
|
||||||
return proc_data
|
return proc_data
|
||||||
|
|
||||||
|
|
||||||
|
2
tests/fixtures/generic/pacman--packages.json
vendored
2
tests/fixtures/generic/pacman--packages.json
vendored
File diff suppressed because one or more lines are too long
7
tests/fixtures/generic/pacman--packages.out
vendored
7
tests/fixtures/generic/pacman--packages.out
vendored
@@ -5,10 +5,11 @@ Description : Access control list utilities, libraries and headers
|
|||||||
Architecture : x86_64
|
Architecture : x86_64
|
||||||
URL : https://savannah.nongnu.org/projects/acl
|
URL : https://savannah.nongnu.org/projects/acl
|
||||||
Licenses : LGPL
|
Licenses : LGPL
|
||||||
Groups : None
|
Groups : kde-applications kde-sdk
|
||||||
Provides : xfsacl libacl.so=1-64
|
Provides : xfsacl libacl.so=1-64
|
||||||
Depends On : glibc
|
Depends On : glibc
|
||||||
Optional Deps : None
|
Optional Deps : testing: this is a test description
|
||||||
|
name-with-no-description
|
||||||
Required By : advcpmv bfs borg borg2 bup casync cdrtools clifm-git coreutils coreutils-hybrid-git cups emacs emacs-nativecomp emacs-nox emacs-wayland gettext incus incus-tools kio krusader lib32-acl libarchive libisofs logrotate lxd proftpd proxmox-backup-client rsync rsync-reflink sed shadow snapper spice-gtk systemd tar udisks2 udisks2-btrfs udisks2-lvm2 vim vis xfsdump
|
Required By : advcpmv bfs borg borg2 bup casync cdrtools clifm-git coreutils coreutils-hybrid-git cups emacs emacs-nativecomp emacs-nox emacs-wayland gettext incus incus-tools kio krusader lib32-acl libarchive libisofs logrotate lxd proftpd proxmox-backup-client rsync rsync-reflink sed shadow snapper spice-gtk systemd tar udisks2 udisks2-btrfs udisks2-lvm2 vim vis xfsdump
|
||||||
Optional For : diffoscope mkosi mkosi-git
|
Optional For : diffoscope mkosi mkosi-git
|
||||||
Conflicts With : xfsacl
|
Conflicts With : xfsacl
|
||||||
@@ -2007,4 +2008,4 @@ Build Date : Wed 24 Jul 2024 02:42:51 PM +08
|
|||||||
MD5 Sum : None
|
MD5 Sum : None
|
||||||
SHA-256 Sum : 0a9df51cd89fe14b9d40e0b5bc1c13e505f38cbe65277311e6995f45a4f19b1a
|
SHA-256 Sum : 0a9df51cd89fe14b9d40e0b5bc1c13e505f38cbe65277311e6995f45a4f19b1a
|
||||||
Signatures : 6D42BDD116E0068F
|
Signatures : 6D42BDD116E0068F
|
||||||
Extended Data : None
|
Extended Data : None
|
||||||
|
2
tests/fixtures/generic/pacman--qii-zstd.json
vendored
2
tests/fixtures/generic/pacman--qii-zstd.json
vendored
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
[{"repository":"extra","name":"graphicsmagick","version":"1.3.43-1","description":"Image processing system","architecture":"x86_64","url":"http://www.graphicsmagick.org/","licenses":["MIT"],"groups":[],"provides":["Magick.so","libGraphicsMagickWand.so=2-64","libGraphicsMagick.so=3-64","libGraphicsMagick++-Q16.so"],"depends_on":["bzip2","freetype2","lcms2","libltdl","libpng","libsm","libtiff","libwebp","libxext","xz"],"optional_deps":[{"name":"jasper","description":"jp2 module"},{"name":"libwmf","description":"wmf module"},{"name":"libxml2","description":"msl, svg, url modules"},{"name":"ghostscript","description":"pdf, ps modules"},{"name":"libheif","description":"heic module"},{"name":"libjxl","description":"jpeg-xl module"}],"conflicts_with":[],"replaces":[],"download_size":"2.58 MiB","installed_size":"13.97 MiB","packager":"Caleb Maclennan <alerque@archlinux.org>","build_date":"Sat 23 Mar 2024 09:55:47 PM CET","validated_by":["MD5 Sum","SHA-256 Sum","Signature"]}]
|
[{"repository":"extra","name":"graphicsmagick","version":"1.3.43-1","description":"Image processing system","architecture":"x86_64","url":"http://www.graphicsmagick.org/","licenses":["MIT"],"groups":[],"provides":["Magick.so","libGraphicsMagickWand.so=2-64","libGraphicsMagick.so=3-64","libGraphicsMagick++-Q16.so"],"depends_on":["bzip2","freetype2","lcms2","libltdl","libpng","libsm","libtiff","libwebp","libxext","xz"],"optional_deps":[{"name":"jasper","description":"jp2 module"},{"name":"libwmf","description":"wmf module"},{"name":"libxml2","description":"msl, svg, url modules"},{"name":"ghostscript","description":"pdf, ps modules"},{"name":"libheif","description":"heic module"},{"name":"libjxl","description":"jpeg-xl module"}],"conflicts_with":[],"replaces":[],"download_size":2705326,"installed_size":14648606,"packager":"Caleb Maclennan <alerque@archlinux.org>","build_date":"Sat 23 Mar 2024 09:55:47 PM CET","validated_by":["MD5 Sum","SHA-256 Sum","Signature"]}]
|
||||||
|
@@ -13,6 +13,7 @@ sys.path.pop()
|
|||||||
# - `{parser_name}--{some_test_description}.json` for expected JSON after parsing.
|
# - `{parser_name}--{some_test_description}.json` for expected JSON after parsing.
|
||||||
|
|
||||||
class MyTests(unittest.TestCase):
|
class MyTests(unittest.TestCase):
|
||||||
|
maxDiff = None
|
||||||
|
|
||||||
def test_pacman_nodata(self):
|
def test_pacman_nodata(self):
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user