access: move switch config templates back to this repo
Let’s keep it simple. Also editing templates in NetBox is a pain.
This commit is contained in:
		
							parent
							
								
									1ffdea8e43
								
							
						
					
					
						commit
						c479f90669
					
				
					 7 changed files with 128 additions and 11 deletions
				
			
		|  | @ -7,11 +7,26 @@ class FilterModule(object): | |||
| 
 | ||||
|     def filters(self): | ||||
|         return { | ||||
|             'compact_numlist': self.compact_numlist, | ||||
|             'iface_real': self.iface_real, | ||||
|             'iface_peer': self.iface_peer, | ||||
|             'iface_vlans': self.iface_vlans | ||||
|         } | ||||
| 
 | ||||
|     def compact_numlist(self, nums, sort=True, delimiter=',', range_delimiter='-'): | ||||
|         '''Transform [1,2,3,5,7,8,9] into "1-3,5,7-9"''' | ||||
|         if sort: | ||||
|             nums = sorted(nums) | ||||
|         i = 0 | ||||
|         spans = [] | ||||
|         while i < len(nums): | ||||
|             j = i + 1 | ||||
|             while j < len(nums) and nums[j]-nums[i] == j-i: | ||||
|                 j += 1 | ||||
|             spans += [f'{nums[i]}{range_delimiter}{nums[j-1]}' if j > i+1 else f'{nums[i]}'] | ||||
|             i = j | ||||
|         return delimiter.join(spans) | ||||
| 
 | ||||
|     def iface_real(self, interfaces): | ||||
|         '''Return only non-virtual interfaces''' | ||||
|         for iface in interfaces: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue