Guest User

Untitled

a guest
Feb 23rd, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. import requests, json, os
  2.  
  3. # Disable warnings
  4. requests.packages.urllib3.disable_warnings()
  5.  
  6. # Variables
  7. username = "agol"
  8. password = "*****"
  9. id = 1252
  10. TempDir = r"D:ProjectsTreddyfrinTemp"
  11.  
  12. # Generate AGOL Token
  13. tokenURL = 'https://www.arcgis.com/sharing/rest/generateToken'
  14. params = {'f': 'pjson', 'username': username, 'password': password, 'referer': 'http://www.arcgis.com', 'expiration': 21600}
  15. r = requests.post(tokenURL, data = params, verify=False)
  16. response = json.loads(r.content)
  17. token = response['token']
  18.  
  19. # Register Item
  20. print("Registering Item")
  21. uploadURL = 'https://services2.arcgis.com/o9a0D2ZwwG8CDFVQ/arcgis/rest/services/Sewers/FeatureServer/uploads/register'
  22. params = {'f': 'pjson', 'token': token, 'itemName': 'attachment1252', 'description': 'Attachment for feature 1252'}
  23. r = requests.post(uploadURL, data = params, verify=False)
  24. response = json.loads(r.content)
  25. itemID = str(response['item']['itemID'])
  26.  
  27. # Upload Parts of video to Registered Item
  28. def addPart(itemID, token, filename, num):
  29. '''Add part of the input video using a post request through the request module'''
  30.  
  31. print("Adding parts of video")
  32.  
  33. addpartURL = 'https://services2.arcgis.com/o9a0D2ZwwG8CDFVQ/arcgis/rest/services/Sewers/FeatureServer/uploads/' + itemID + '/uploadPart'
  34. params = {'token':token, 'f':'pjson', 'partNumber': str(num)}
  35. image = {'partFile': (os.path.basename(filename), filename, 'video/mp4')}
  36. response = requests.post(addpartURL, data = params, files = image)
  37. print(json.loads(response.text))
  38.  
  39. # Walk through temp directory to get each video part
  40. for a, b, c in os.walk(TempDir):
  41. for name in c:
  42. print(name)
  43. index = int(name.replace('output', '').replace('.mp4', ''))
  44. addPart(itemID, token, os.path.join(TempDir,name), index)
  45.  
  46. # Commit upload
  47. print("Commiting upload")
  48. commitURL = 'https://services2.arcgis.com/o9a0D2ZwwG8CDFVQ/arcgis/rest/services/Sewers/FeatureServer/uploads/' + itemID + '/commit'
  49. params = {'f': 'pjson', 'token': token}
  50. response = requests.post(commitURL, data = params)
  51. print(json.loads(response.text))
  52.  
  53. # Add attachment to feature
  54. print("Adding attachment to feature")
  55. fsURL = 'https://services2.arcgis.com/o9a0D2ZwwG8CDFVQ/ArcGIS/rest/services/Sewers/FeatureServer/0/' + str(id) + '/addAttachment'
  56. params = {'f': 'pjson', 'token': token, 'uploadId': itemID}
  57. response = requests.post(fsURL, data = params)
  58. print(response.content)
Add Comment
Please, Sign In to add comment