ArcgisHub Python Api for Sites

824
6
02-02-2021 04:41 AM
Department_of_Communications__
New Contributor III

Hi

I'm using the modules and notebooks from https://www.esri.com/arcgis-blog/products/arcgis-hub/announcements/introducing-arcgis-hub-python-api... and I'm running into difficulties.  The issue I'm experiencing appears to be listed as a bug on the Github site, howerver I'm not fully sure.

I have 2 AGOL organisations and I wan to clone the initiative/site from one or to another using the sample @ https://github.com/Esri/hub-py/tree/master/examples/For%20arcgishub%20library cloning and initiative from another org.    I follow the sample and all works until the last piece - the actual cloning ! it errors with 

TypeError: 'NoneType' object is not subscriptable

It actually clones the objectto my secondary agol instance but no content shows up and I dont have access to the site  - it says I don't have permission - and I'm the owner... 

The traceback is 

TypeError                                 Traceback (most recent call last)
In  [164]:
Line 1:     site = hub_basic.initiatives.clone(i1, origin_hub=myHub)

File c:\python_clone_env\arcgispro-py3_additional\src\arcgishub\arcgishub\hub.py, in clone:
Line 558:   new_site = self._hub.sites.clone(site, pages=True, title=title)

File c:\python_clone_env\arcgispro-py3_additional\src\arcgishub\arcgishub\sites.py, in clone:
Line 652:   _data = self._create_and_register_site(new_item, subdomain, site.definition, content_group_id, collab_group_id)

File c:\python_clone_env\arcgispro-py3_additional\src\arcgishub\arcgishub\sites.py, in _create_and_register_site:
Line 340:   client_key = _app_dict['client_id']

TypeError: 'NoneType' object is not subscriptable

 

 Has anybody got any ideas ?  have I made incorrect assumptions with cloning from instance to instance on AGOL?  Have I missed a step ?   Everything is Public on the origin instance .  Do I have any other options for cloning content between organisations?

Any guidance with this would be hugely appreciated, if I cant get it to work its back to agol assistant and a lot of cut and paste!...   

Paulg

Tags (3)
0 Kudos
6 Replies
ManushiMajumdar
Esri Contributor

Hi,

I just cloned an initiative in another organization and I noticed that it works fine.

This indeed was a problem in an older version of the API and has been fixed. Are you using an older version of the API or have you updated it in the last two months? If this issue persists after updating the version of the API as it is on the repository as of today, https://github.com/Esri/hub-py do you mind sending me the initiative id of the initiative you are trying to clone? I will inspect it further.

~Manushi.

0 Kudos
Alba_Page
New Contributor II

Hi there,

I have exactly the same issue than @Department_of_Communications__ 

Could you finally solve it? How?

Thanks a lot!

Alba

 

0 Kudos
ManushiMajumdar
Esri Contributor

Hi Alba,

Do you mind confirming for me the version of ArcGIS API for Python (arcgis) that you are using?

0 Kudos
Alba_Page
New Contributor II

Hi Manushi,

Sure... This is weird, if I check it on ArcGIS Pro the version installed is the 1.8.3 (and I don't have the chance to upload).

2021-04-09_08h10_14.png

But if I check it on the command window it seems to be 1.8.4 version.

2021-04-09_08h11_57.png

So I don't really know which one is working......

Thanks a lot!!

Alba

0 Kudos
sambutle
New Contributor

In general, the error means that you attempted to index an object that doesn't have that functionality. You are trying to subscript an object which you think is a list or dict, but actually is None. This means that you tried to do:

None[something]

NoneType is the type of the None object which represents a lack of value, for example, list1 = list.sort(list1) : - here, you are setting it to None. None always has no data, so NoneType object is not subscriptable. In order to correct this error this should be list1.sort().

 

0 Kudos
Alba_Page
New Contributor II

Hi @sambutle 

Thanks a lot for your answer. However I not able to fix the error, I don't know  how to avoid this NoneType.

Could you please explain yourself a little bit more??  :)

Thanks a lot in advance!

Alba

0 Kudos