get sites and map for unifi even if its a description (alias)
This commit is contained in:
		
							parent
							
								
									5b7fddddaf
								
							
						
					
					
						commit
						d9b6e825f3
					
				
					 1 changed files with 17 additions and 0 deletions
				
			
		|  | @ -14,6 +14,7 @@ class UniFiAPI(object): | ||||||
|         self.logger = getLogger() |         self.logger = getLogger() | ||||||
| 
 | 
 | ||||||
|         self.get_cookie() |         self.get_cookie() | ||||||
|  |         self.get_site() | ||||||
| 
 | 
 | ||||||
|     def __repr__(self): |     def __repr__(self): | ||||||
|         return f"<unifi-{self.server.id}>" |         return f"<unifi-{self.server.id}>" | ||||||
|  | @ -25,11 +26,27 @@ class UniFiAPI(object): | ||||||
|         post = connection_handler(self.session, req, self.server.verify_ssl, as_is_reply=True) |         post = connection_handler(self.session, req, self.server.verify_ssl, as_is_reply=True) | ||||||
| 
 | 
 | ||||||
|         if not post or not post.cookies.get('unifises'): |         if not post or not post.cookies.get('unifises'): | ||||||
|  |             self.logger.error(f"Could not retrieve session cookie from UniFi Controller") | ||||||
|             return |             return | ||||||
| 
 | 
 | ||||||
|         cookies = {'unifises': post.cookies.get('unifises')} |         cookies = {'unifises': post.cookies.get('unifises')} | ||||||
|         self.session.cookies.update(cookies) |         self.session.cookies.update(cookies) | ||||||
| 
 | 
 | ||||||
|  |     def get_site(self): | ||||||
|  |         endpoint = '/api/self/sites' | ||||||
|  |         req = self.session.prepare_request(Request('GET', self.server.url + endpoint)) | ||||||
|  |         get = connection_handler(self.session, req, self.server.verify_ssl) | ||||||
|  | 
 | ||||||
|  |         if not get: | ||||||
|  |             self.logger.error(f"Could not get list of sites from UniFi Controller") | ||||||
|  |             return | ||||||
|  |         site = [site['name'] for site in get['data'] if site['name'].lower() == self.server.site.lower() | ||||||
|  |                 or site['desc'].lower() == self.server.site.lower()] | ||||||
|  |         if site: | ||||||
|  |             self.server.site = site[0] | ||||||
|  |         else: | ||||||
|  |             self.logger.error(f"Could not map site {self.server.site} to a site id/alias") | ||||||
|  | 
 | ||||||
|     def get_usg_stats(self): |     def get_usg_stats(self): | ||||||
|         now = datetime.now(timezone.utc).astimezone().isoformat() |         now = datetime.now(timezone.utc).astimezone().isoformat() | ||||||
|         endpoint = f'/api/s/{self.server.site}/stat/device' |         endpoint = f'/api/s/{self.server.site}/stat/device' | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue