Skip to content

Commit

Permalink
Release v2.0.2 (#102)
Browse files Browse the repository at this point in the history
* Fix image upload v2 (#91)

* Add upload_image functionality to new beta script

* Updated for new location of files with Boolean flag for front/rear image

* fixing the requests verify missing issue #95 (#96)

* Bumping deps. Closes PR#99 and PR#98 (#100)

* Added ability for IGNORE_SSL_ERRORS to dictate if the images upload verifys the request (#101)

---------

Co-authored-by: J vanBemmel <[email protected]>
  • Loading branch information
danner26 and jbemmel authored Aug 1, 2023
1 parent 8ad3ed7 commit 136344d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
9 changes: 5 additions & 4 deletions netbox_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ def __init__(self, settings):
self.connect_api()
self.verify_compatibility()
self.existing_manufacturers = self.get_manufacturers()
self.device_types = DeviceTypes(self.netbox, self.handle, self.counter)
self.device_types = DeviceTypes(self.netbox, self.handle, self.counter, self.ignore_ssl)

def connect_api(self):
try:
self.netbox = pynetbox.api(self.url, token=self.token)
if self.ignore_ssl:
self.handle.verbose_log("IGNORE_SSL_ERRORS is True, catching exception and disabling SSL verification.")
requests.packages.urllib3.disable_warnings()
#requests.packages.urllib3.disable_warnings()
self.netbox.http_session.verify = False
except Exception as e:
self.handle.exception("Exception", 'NetBox API Error', e)
Expand Down Expand Up @@ -183,11 +183,12 @@ class DeviceTypes:
def __new__(cls, *args, **kwargs):
return super().__new__(cls)

def __init__(self, netbox, handle, counter):
def __init__(self, netbox, handle, counter, ignore_ssl):
self.netbox = netbox
self.handle = handle
self.counter = counter
self.existing_device_types = self.get_device_types()
self.ignore_ssl = ignore_ssl

def get_device_types(self):
return {str(item): item for item in self.netbox.dcim.device_types.all()}
Expand Down Expand Up @@ -478,7 +479,7 @@ def upload_images(self,baseurl,token,images,device_type):
headers = { "Authorization": f"Token {token}" }

files = { i: (os.path.basename(f), open(f,"rb") ) for i,f in images.items() }
response = requests.patch(url, headers=headers, files=files, verify=False)
response = requests.patch(url, headers=headers, files=files, verify=(not self.ignore_ssl))

self.handle.log( f'Images {images} updated at {url}: {response}' )
self.counter["images"] += len(images)
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
GitPython==3.1.31
GitPython==3.1.32
pynetbox==7.0.1
python-dotenv==1.0.0
PyYAML==6.0
PyYAML==6.0.1

0 comments on commit 136344d

Please sign in to comment.