mirror of
https://github.com/ilri/csv-metadata-quality.git
synced 2024-11-22 13:55:03 +01:00
csv_metadata_quality/check.py: Move all imports to top of file
PEP8 recommends keeping imports at the top of the file. Also, I had to re-work the issn/isbn so they didn't conflict with the functions in check.py (flake8 warned about them being redefined). Imports sorted with isort. See: https://www.python.org/dev/peps/pep-0008/#imports
This commit is contained in:
parent
e0e3ca6c58
commit
d88ea56488
@ -1,3 +1,4 @@
|
|||||||
|
import re
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
@ -6,6 +7,8 @@ import requests_cache
|
|||||||
import spdx_license_list
|
import spdx_license_list
|
||||||
from colorama import Fore
|
from colorama import Fore
|
||||||
from pycountry import languages
|
from pycountry import languages
|
||||||
|
from stdnum import isbn as stdnum_isbn
|
||||||
|
from stdnum import issn as stdnum_issn
|
||||||
|
|
||||||
|
|
||||||
def issn(field):
|
def issn(field):
|
||||||
@ -18,8 +21,6 @@ def issn(field):
|
|||||||
See: https://arthurdejong.org/python-stdnum/doc/1.11/index.html#stdnum.module.is_valid
|
See: https://arthurdejong.org/python-stdnum/doc/1.11/index.html#stdnum.module.is_valid
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from stdnum import issn
|
|
||||||
|
|
||||||
# Skip fields with missing values
|
# Skip fields with missing values
|
||||||
if pd.isna(field):
|
if pd.isna(field):
|
||||||
return
|
return
|
||||||
@ -27,7 +28,7 @@ def issn(field):
|
|||||||
# Try to split multi-value field on "||" separator
|
# Try to split multi-value field on "||" separator
|
||||||
for value in field.split("||"):
|
for value in field.split("||"):
|
||||||
|
|
||||||
if not issn.is_valid(value):
|
if not stdnum_issn.is_valid(value):
|
||||||
print(f"{Fore.RED}Invalid ISSN: {Fore.RESET}{value}")
|
print(f"{Fore.RED}Invalid ISSN: {Fore.RESET}{value}")
|
||||||
|
|
||||||
return field
|
return field
|
||||||
@ -43,8 +44,6 @@ def isbn(field):
|
|||||||
See: https://arthurdejong.org/python-stdnum/doc/1.11/index.html#stdnum.module.is_valid
|
See: https://arthurdejong.org/python-stdnum/doc/1.11/index.html#stdnum.module.is_valid
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from stdnum import isbn
|
|
||||||
|
|
||||||
# Skip fields with missing values
|
# Skip fields with missing values
|
||||||
if pd.isna(field):
|
if pd.isna(field):
|
||||||
return
|
return
|
||||||
@ -52,7 +51,7 @@ def isbn(field):
|
|||||||
# Try to split multi-value field on "||" separator
|
# Try to split multi-value field on "||" separator
|
||||||
for value in field.split("||"):
|
for value in field.split("||"):
|
||||||
|
|
||||||
if not isbn.is_valid(value):
|
if not stdnum_isbn.is_valid(value):
|
||||||
print(f"{Fore.RED}Invalid ISBN: {Fore.RESET}{value}")
|
print(f"{Fore.RED}Invalid ISBN: {Fore.RESET}{value}")
|
||||||
|
|
||||||
return field
|
return field
|
||||||
@ -68,8 +67,6 @@ def separators(field, field_name):
|
|||||||
Prints the field with the invalid multi-value separator.
|
Prints the field with the invalid multi-value separator.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
# Skip fields with missing values
|
# Skip fields with missing values
|
||||||
if pd.isna(field):
|
if pd.isna(field):
|
||||||
return
|
return
|
||||||
@ -278,8 +275,6 @@ def filename_extension(field):
|
|||||||
than .pdf, .xls(x), .doc(x), ppt(x), case insensitive).
|
than .pdf, .xls(x), .doc(x), ppt(x), case insensitive).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import re
|
|
||||||
|
|
||||||
# Skip fields with missing values
|
# Skip fields with missing values
|
||||||
if pd.isna(field):
|
if pd.isna(field):
|
||||||
return
|
return
|
||||||
|
Loading…
Reference in New Issue
Block a user