-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.py
107 lines (94 loc) · 5.63 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import json
import ArcGIS_GroupAs_ISO19650_CDE
if __name__ == '__main__':
############
############ required parameters
################################
# token for access permision to AcrGIS protal
token = r"" # you can use generateToken function avaiable in ArcGIS_GroupAs_ISO19650_CDE.py file to get one
# Your ArcGIS username
userName = " " # e.g "khoz_esrinederland"
############ Optional parameters
################################
# Portal url (defaul arcgis online)
JSONportal_URL = r"https://www.arcgis.com"
# defaul ISO 19650 standards for metadata (set on "True" and configues your own statuses in json file)
default_ISO19650BritishAnnex = False
# # getting the data (iso 19650 structure/categories (state & status)) from the json file
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
jsonData = open (dir_path + r"/ISOCategories.json",)
if not default_ISO19650BritishAnnex is True:
IsoCategories = [json.load(jsonData)]
import sys
##### function 1 ##############
# creating group ISO 19650 based structured
###################
if sys.argv[1] == "ISO 19650 group":
if len(sys.argv) == 4:
if sys.argv[2] == "New" or sys.argv[2] == "new": ArcGIS_GroupAs_ISO19650_CDE.CreateISO19650Based_Group( token, titleOritemID = sys.argv[3], portal_URL= JSONportal_URL)
else:
if sys.argv[2] == "existing" or sys.argv[2] == "Existing": ArcGIS_GroupAs_ISO19650_CDE.assignISO19650StatesAndStatusRESTapi(token,
group = sys.argv[3], categories= IsoCategories, portal_URL= JSONportal_URL)
elif len(sys.argv) == 5:
if sys.argv[2] == "New" or sys.argv[2] == "new": ArcGIS_GroupAs_ISO19650_CDE.CreateISO19650Based_Group(token, titleOritemID =sys.argv[3], description=sys.argv[4], portal_URL= JSONportal_URL )
else: print ('Error: Incorrect number of arguments passed.')
###################
# example of parameteriztion
# "ISO 19650 group" "new/existing" "TitleOrItemID" "Description (optional)"
######## function 2 #############
# update items with initail metadata all/one
####################
if sys.argv[1] == "initialize metadata":
if len (sys.argv) == 5 or len (sys.argv) == 4:
if sys.argv[2] == "all" or sys.argv[2] == "All":
Items = ArcGIS_GroupAs_ISO19650_CDE.list_ItemsInGroup(token, sys.argv[3], portal_URL=JSONportal_URL)
# print (Items)
if len (sys.argv) == 5:
for Item in Items:
ArcGIS_GroupAs_ISO19650_CDE.initilizemetadataOfitem(token, Item["id"],sys.argv[3], userName, ContainerClassification = sys.argv[4], portal_URL = JSONportal_URL)
else:
for Item in Items:
ArcGIS_GroupAs_ISO19650_CDE.initilizemetadataOfitem(token, Item["id"], sys.argv[3], userName, portal_URL = JSONportal_URL)
else:
if len (sys.argv) == 5:ArcGIS_GroupAs_ISO19650_CDE.initilizemetadataOfitem(token, sys.argv[2],sys.argv[3], userName, ContainerClassification = sys.argv[4], portal_URL = JSONportal_URL)
else:ArcGIS_GroupAs_ISO19650_CDE.initilizemetadataOfitem(token, sys.argv[2], sys.argv[3], userName, portal_URL = JSONportal_URL)
else: print ('Error: Incorrect number of arguments passed.')
####################
# example of parameteriztion
# "initialize metadata" "all" "groupID" "Architecture(optional)"
# "initialize metadata" "itemID" "groupID" "Architecture(optional)"
######## function 3 #############
# push function
#################
if sys.argv[1] == "Push" or sys.argv[1] == "push":
if len (sys.argv) == 6 or len (sys.argv) == 5:
if len (sys.argv) == 6: statusPush = sys.argv[5]
else:statusPush = None
ArcGIS_GroupAs_ISO19650_CDE.push(token, sys.argv[2], sys.argv[3], userName, sys.argv[4], statusPush, categories=IsoCategories, snippetOrDisc="snippet", portal_URL=JSONportal_URL)
else: print ('Error: Incorrect number of arguments passed.')
###################
# example of parameteriztion
# "Push" "ItemID" "gorupID" "Published (contractual)" "A1 - Accepted stage 1"
######## function 4 #############
# aprove function
#####################
if sys.argv[1] == "approve" or sys.argv[1] == "Approve":
if len(sys.argv) == 2:
ArcGIS_GroupAs_ISO19650_CDE.approve(token, sys.argv[2], userName, portal_URLApprove = JSONportal_URL)
else: print ('Error: Incorrect number of arguments passed.')
###################
# example of parameteriztion
# "approve" "ItemID"
######## function 5 #############
# Make reference data
#####################
if sys.argv[1] == "Make reference data" or sys.argv[1] == "Make reference data":
if len(sys.argv) == 4 or len(sys.argv) == 5:
if len(sys.argv) == 4:
ArcGIS_GroupAs_ISO19650_CDE.makeReferenceData(token, sys.argv[2], sys.argv[3], userName, categories = IsoCategories, portal_URL = JSONportal_URL)
else: ArcGIS_GroupAs_ISO19650_CDE.makeReferenceData(token, sys.argv[2], sys.argv[3], userName, ContainerClassification= sys.argv[4], categories = IsoCategories, portal_URL = JSONportal_URL)
else:print ('Error: Incorrect number of arguments passed.')
###################
# example of parameteriztion
# "Make reference data" "itemID" "groupID" "Architecture(optional)"