stubbing network out
This commit is contained in:
		
							parent
							
								
									856d89f231
								
							
						
					
					
						commit
						5371ae2361
					
				
							
								
								
									
										1
									
								
								aif.xsd
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								aif.xsd
									
									
									
									
									
								
							| @ -270,6 +270,7 @@ | |||||||
|                WPA3? |                WPA3? | ||||||
|                EAP, |                EAP, | ||||||
|                eduroam (https://github.com/rst0git/netctl-eduroam-config/blob/master/eduroam), etc. --> |                eduroam (https://github.com/rst0git/netctl-eduroam-config/blob/master/eduroam), etc. --> | ||||||
|  |     <!-- wep64, wep128, wpa-psk:tkip, wpa-psk:aes, wpa2-psk:tkip, wpa2-psk:aes, wpa2-psk:tkip/aes --> | ||||||
|     <xs:complexType name="t_wifi_crypto"> |     <xs:complexType name="t_wifi_crypto"> | ||||||
|         <xs:all> |         <xs:all> | ||||||
|             <xs:element name="type" minOccurs="1" maxOccurs="1" default="wpa2"> |             <xs:element name="type" minOccurs="1" maxOccurs="1" default="wpa2"> | ||||||
|  | |||||||
| @ -3,14 +3,22 @@ try: | |||||||
| except ImportError: | except ImportError: | ||||||
|     pass  # GI isn't supported, so we don't even use a fallback. |     pass  # GI isn't supported, so we don't even use a fallback. | ||||||
| 
 | 
 | ||||||
|  | from . import netctl | ||||||
|  | 
 | ||||||
| # TODO: use DBus interface for systemd but fallback to subprocess? | # TODO: use DBus interface for systemd but fallback to subprocess? | ||||||
| # http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html | # http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html | ||||||
| # https://www.youtube.com/watch?v=ZUX9Fx8Rwzg | # https://www.youtube.com/watch?v=ZUX9Fx8Rwzg | ||||||
| # https://www.youtube.com/watch?v=lBQgMGPxqNo | # https://www.youtube.com/watch?v=lBQgMGPxqNo | ||||||
| # https://github.com/facebookincubator/pystemd has some unit/service examples | # https://github.com/facebookincubator/pystemd has some unit/service examples | ||||||
| # try: | try: | ||||||
| #     from . import networkd |     from . import networkd | ||||||
| # except ImportError: | except ImportError: | ||||||
| #     from . import networkd_fallback as networkd |     from . import networkd_fallback as networkd | ||||||
| 
 | 
 | ||||||
| from . import netctl | 
 | ||||||
|  | try: | ||||||
|  |     from . import networkmanager | ||||||
|  | except ImportError: | ||||||
|  |     from . import networkmanager_fallback | ||||||
|  | 
 | ||||||
|  | from . import net | ||||||
|  | |||||||
| @ -1,13 +1,3 @@ | |||||||
| import gi | import gi | ||||||
| gi.require_version('NM', '2.0') | gi.require_version('NM', '1.0') | ||||||
| from gi.repository import NM, GLib | from gi.repository import GObject, NM, GLib | ||||||
| 
 |  | ||||||
| NM.ensure_init([None]) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def addBDPlugin(plugin_name): |  | ||||||
|     plugins = NM.get_available_plugin_names() |  | ||||||
|     plugins.append(plugin_name) |  | ||||||
|     plugins = list(set(plugins))  # Deduplicate |  | ||||||
|     spec = NM.plugin_specs_from_names(plugins) |  | ||||||
|     return(NM.ensure_init(spec)) |  | ||||||
|  | |||||||
							
								
								
									
										19
									
								
								aif/network/net.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								aif/network/net.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | |||||||
|  | class Network(object): | ||||||
|  |     def __init__(self, network_xml): | ||||||
|  |         self.xml = network_xml | ||||||
|  |         self.hostname = self.xml.attrib['hostname'] | ||||||
|  |         self.provider = self.xml.attrib.get('provider', 'netctl') | ||||||
|  |         handler = None | ||||||
|  |         if self.provider == 'netctl': | ||||||
|  |             from . import netctl as handler | ||||||
|  |         elif self.provider == 'nm': | ||||||
|  |             from . import networkmanager as handler | ||||||
|  |         elif self.provider == 'systemd': | ||||||
|  |             from . import networkd as handler | ||||||
|  |         self.provider = handler | ||||||
|  |         if not self.provider: | ||||||
|  |             raise RuntimeError('Could not determine handler') | ||||||
|  |         self.connections = [] | ||||||
|  | 
 | ||||||
|  |     def _initConns(self): | ||||||
|  |         pass | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | from . import _common | ||||||
|  | 
 | ||||||
|  | _NM = _common.NM | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Connection(object): | ||||||
|  |     def __init__(self, iface_xml): | ||||||
|  |         self.xml = iface_xml | ||||||
|  |         self.connection_type = None | ||||||
|  |         self.provider_type = 'NetworkManager' | ||||||
|  |         self.client = _NM.Client.new() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Ethernet(Connection): | ||||||
|  |     def __init__(self, iface_xml): | ||||||
|  |         super().__init__(iface_xml) | ||||||
|  |         self.connection_type = 'ethernet' | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Wireless(Connection): | ||||||
|  |     def __init__(self, iface_xml): | ||||||
|  |         super().__init__(iface_xml) | ||||||
|  |         self.connection_type = 'wireless' | ||||||
| @ -0,0 +1 @@ | |||||||
|  | import subprocess | ||||||
| @ -85,6 +85,14 @@ TIP: Your distro's package manager should have most if not all of these availabl | |||||||
| 
 | 
 | ||||||
| NOTE: Some versions may be higher than actually needed. | NOTE: Some versions may be higher than actually needed. | ||||||
| 
 | 
 | ||||||
|  | //// | ||||||
|  | Need to revamp. Recommended vs. fallback plus required for both | ||||||
|  | 
 | ||||||
|  | Recommended: | ||||||
|  | pygobject-introspection | ||||||
|  | libblockdev | ||||||
|  | libnm | ||||||
|  | //// | ||||||
| 
 | 
 | ||||||
| === Necessary | === Necessary | ||||||
| These are needed for using AIF-NG. | These are needed for using AIF-NG. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 brent s
						brent s