From 8df0332475991884b8e1801d31f9c3e06d06bf9f Mon Sep 17 00:00:00 2001
From: Nicola Lunghi <nick83ola@gmail.com>
Date: Thu, 14 Nov 2019 18:58:56 +0000
Subject: [PATCH] setup.cfg: add non GPL format option

This is a rewrite of the following upstream commits:

 - 10f8a3e Add format validators as separate modules
 - af37707 non GPL format option

removing all the non necessary bits (tox in particular)

Original author: Nicolas Aimetti <naimetti@yahoo.com.ar>

Upstream-status: Backported. [ to be removed for releases > 3.1.1 ]
---
 jsonschema/_format.py | 33 ++++++++++++++++++++++++++++-----
 setup.cfg             |  6 ++++++
 2 files changed, 34 insertions(+), 5 deletions(-)

diff --git a/jsonschema/_format.py b/jsonschema/_format.py
index aa04090..c967d98 100644
--- a/jsonschema/_format.py
+++ b/jsonschema/_format.py
@@ -248,7 +248,26 @@ else:
 try:
     import rfc3987
 except ImportError:
-    pass
+    try:
+        from rfc3986_validator import validate_rfc3986
+    except ImportError:
+        pass
+    else:
+        @_checks_drafts(name="uri",)
+        def is_uri(instance):
+            if not isinstance(instance, str_types):
+                return True
+            return validate_rfc3986(instance, rule="URI")
+
+        @_checks_drafts(
+            draft6="uri-reference",
+            draft7="uri-reference",
+            raises=ValueError,
+        )
+        def is_uri_reference(instance):
+            if not isinstance(instance, str_types):
+                return True
+            return validate_rfc3986(instance, rule="URI_reference")
 else:
     @_checks_drafts(draft7="iri", raises=ValueError)
     def is_iri(instance):
@@ -280,15 +299,19 @@ else:
 
 
 try:
-    import strict_rfc3339
+    from strict_rfc3339 import validate_rfc3339
 except ImportError:
-    pass
-else:
+    try:
+        from rfc3339_validator import validate_rfc3339
+    except ImportError:
+        validate_rfc3339 = None
+
+if validate_rfc3339:
     @_checks_drafts(name="date-time")
     def is_datetime(instance):
         if not isinstance(instance, str_types):
             return True
-        return strict_rfc3339.validate_rfc3339(instance)
+        return validate_rfc3339(instance)
 
     @_checks_drafts(draft7="time")
     def is_time(instance):
diff --git a/setup.cfg b/setup.cfg
index 74bc4a7..878221c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -40,6 +40,12 @@ format =
 	rfc3987
 	strict-rfc3339
 	webcolors
+format_nongpl =
+	idna
+	jsonpointer>1.13
+	webcolors
+	rfc3986-validator>0.1.0
+	rfc3339-validator
 
 [options.entry_points]
 console_scripts = 
-- 
2.20.1

