Skip to content

Commit

Permalink
Releasing version 2.2.3
Browse files Browse the repository at this point in the history
Releasing version 2.2.3
  • Loading branch information
khs28gu authored Mar 19, 2019
2 parents a3e4b32 + db68e49 commit c27f689
Show file tree
Hide file tree
Showing 75 changed files with 3,499 additions and 2,086 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.

The format is based on `Keep a Changelog <http://keepachangelog.com/>`_.

====================
2.2.3 - 2019-03-19
====================

Added
-----
* Support for specifying metadata on node pools in the Container Engine for Kubernetes service
* Support for provisioning a new autonomous database or autonomous data warehouse as a clone of another in the Database service

Changed
-------
* Updated vendored packages. idna==2.8, PyJWT==1.7.1, requests==2.21.0, six==1.12.0, urllib3==1.24.1, requests==2.21.0

====================
2.2.2 - 2019-03-12
====================
Expand Down
2 changes: 2 additions & 0 deletions docs/api/database.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Database
oci.database.models.CreateAutonomousDataWarehouseBackupDetails
oci.database.models.CreateAutonomousDataWarehouseDetails
oci.database.models.CreateAutonomousDatabaseBackupDetails
oci.database.models.CreateAutonomousDatabaseBase
oci.database.models.CreateAutonomousDatabaseCloneDetails
oci.database.models.CreateAutonomousDatabaseDetails
oci.database.models.CreateBackupDetails
oci.database.models.CreateDataGuardAssociationDetails
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CreateAutonomousDatabaseBase
============================

.. currentmodule:: oci.database.models

.. autoclass:: CreateAutonomousDatabaseBase
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
CreateAutonomousDatabaseCloneDetails
====================================

.. currentmodule:: oci.database.models

.. autoclass:: CreateAutonomousDatabaseCloneDetails
:show-inheritance:
:special-members: __init__
:members:
:undoc-members:
:inherited-members:
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
certifi
configparser==3.5.0
coverage==4.4.1
cryptography==2.1.4
cryptography==2.4.2
flake8==3.5.0
mock==2.0.0
pyOpenSSL==17.5.0
pyOpenSSL==18.0.0
pytest==3.2.3
pytest-catchlog==1.2.2
pytest-cov==2.5.1
Expand Down
45 changes: 27 additions & 18 deletions src/oci/_vendor/idna/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ class InvalidCodepointContext(IDNAError):


def _combining_class(cp):
return unicodedata.combining(unichr(cp))
v = unicodedata.combining(unichr(cp))
if v == 0:
if not unicodedata.name(unichr(cp)):
raise ValueError("Unknown character in unicodedata")
return v

def _is_script(cp, script):
return intranges_contain(ord(cp), idnadata.scripts[script])
Expand Down Expand Up @@ -75,7 +79,6 @@ def check_bidi(label, check_ltr=False):
raise IDNABidiError('Unknown directionality in label {0} at position {1}'.format(repr(label), idx))
if direction in ['R', 'AL', 'AN']:
bidi_label = True
break
if not bidi_label and not check_ltr:
return True

Expand Down Expand Up @@ -248,8 +251,13 @@ def check_label(label):
if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']):
continue
elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']):
if not valid_contextj(label, pos):
raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label)))
try:
if not valid_contextj(label, pos):
raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format(
_unot(cp_value), pos+1, repr(label)))
except ValueError:
raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format(
_unot(cp_value), pos+1, repr(label)))
elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']):
if not valid_contexto(label, pos):
raise InvalidCodepointContext('Codepoint {0} not allowed at position {1} in {2}'.format(_unot(cp_value), pos+1, repr(label)))
Expand All @@ -263,10 +271,7 @@ def alabel(label):

try:
label = label.encode('ascii')
try:
ulabel(label)
except IDNAError:
raise IDNAError('The label {0} is not a valid A-label'.format(label))
ulabel(label)
if not valid_label_length(label):
raise IDNAError('Label too long')
return label
Expand Down Expand Up @@ -321,10 +326,10 @@ def uts46_remap(domain, std3_rules=True, transitional=False):
replacement = uts46row[2] if len(uts46row) == 3 else None
if (status == "V" or
(status == "D" and not transitional) or
(status == "3" and std3_rules and replacement is None)):
(status == "3" and not std3_rules and replacement is None)):
output += char
elif replacement is not None and (status == "M" or
(status == "3" and std3_rules) or
(status == "3" and not std3_rules) or
(status == "D" and transitional)):
output += replacement
elif status != "I":
Expand All @@ -348,15 +353,17 @@ def encode(s, strict=False, uts46=False, std3_rules=False, transitional=False):
labels = s.split('.')
else:
labels = _unicode_dots_re.split(s)
while labels and not labels[0]:
del labels[0]
if not labels:
if not labels or labels == ['']:
raise IDNAError('Empty domain')
if labels[-1] == '':
del labels[-1]
trailing_dot = True
for label in labels:
result.append(alabel(label))
s = alabel(label)
if s:
result.append(s)
else:
raise IDNAError('Empty label')
if trailing_dot:
result.append(b'')
s = b'.'.join(result)
Expand All @@ -377,15 +384,17 @@ def decode(s, strict=False, uts46=False, std3_rules=False):
labels = _unicode_dots_re.split(s)
else:
labels = s.split(u'.')
while labels and not labels[0]:
del labels[0]
if not labels:
if not labels or labels == ['']:
raise IDNAError('Empty domain')
if not labels[-1]:
del labels[-1]
trailing_dot = True
for label in labels:
result.append(ulabel(label))
s = ulabel(label)
if s:
result.append(s)
else:
raise IDNAError('Empty label')
if trailing_dot:
result.append(u'')
return u'.'.join(result)
Loading

0 comments on commit c27f689

Please sign in to comment.