SHOW:
|
|
- or go back to the newest paste.
| 1 | import requests | |
| 2 | import csv | |
| 3 | import time | |
| 4 | import logging | |
| 5 | ||
| 6 | logging.basicConfig(filename='checkin_logging.log', | |
| 7 | level=logging.INFO, | |
| 8 | format='%(asctime)s.%(msecs)03d, %(levelname)s, %(module)s, %(funcName)s, %(message)s', | |
| 9 | datefmt='%Y-%m-%d %H:%M:%S', | |
| 10 | ) | |
| 11 | ||
| 12 | # https://snipe-it.readme.io/reference#api-overview | |
| 13 | # Trottles to 120 requests a minute, so set a wait time of 1/2 second between requests | |
| 14 | ||
| 15 | apiKey = "yourapikey" | |
| 16 | url = "https://yoursnipeiturl.com/api/v1/hardware/" | |
| 17 | ||
| 18 | headers = {
| |
| 19 | 'authorization' : "Bearer " + apiKey, | |
| 20 | 'accept' : "application/json", | |
| 21 | 'content-type' : "application/json" | |
| 22 | } | |
| 23 | ||
| 24 | def checkin(): | |
| 25 | assetTag = '' | |
| 26 | while assetTag != 'exit': | |
| 27 | print("")
| |
| 28 | print("==========================")
| |
| 29 | assetTag = input("Check in Asset Tag: ")
| |
| 30 | if assetTag == 'exit': | |
| 31 | break | |
| 32 | print("Checking in asset " + assetTag)
| |
| 33 | ||
| 34 | # Need to find item's SNIPEID first | |
| 35 | searchURL = url + "bytag/" + str(assetTag) | |
| 36 | searchResponse = requests.request("GET", searchURL, headers = headers).json()
| |
| 37 | time.sleep(.5) | |
| 38 | if 'status' in searchResponse: | |
| 39 | if searchResponse['status'] == 'error': | |
| 40 | print('Cannot find asset or other error')
| |
| 41 | logging.error('Cannot find asset or other error')
| |
| 42 | elif 'id' in searchResponse: | |
| 43 | print(searchResponse) | |
| 44 | # Then check in that ITEM ID | |
| 45 | checkinURL = url + str(searchResponse['id']) + "/checkin" | |
| 46 | checkinResponse = requests.post(checkinURL, headers = headers).json() | |
| 47 | print(checkinResponse) | |
| 48 | logging.info("Checked in asset %s" % str(assetTag))
| |
| 49 | ||
| 50 | else: | |
| 51 | print('Exiting...')
| |
| 52 | ||
| 53 | def main(): | |
| 54 | checkin() | |
| 55 | ||
| 56 | if __name__ == '__main__': | |
| 57 | main() |