def create (scope) : FFM = scope.FFM PAP = scope.PAP Adr = FFM.IP4_Network.net_address.P_Type mgr = PAP.Person \ (first_name = 'Ralf', last_name = 'Schlatterbeck', raw = True) node1 = FFM.Node (name = "nogps", manager = mgr, raw = True) gps1 = dict (lat = "48 d 15 m", lon = "15 d 52 m 27.84 s") node2 = FFM.Node \ (name = "node2", manager = mgr, position = gps1, raw = True) net = FFM.IP4_Network ('192.168.23.0/24', raw = True) a1 = net.reserve ('192.168.23.1/32') a2 = net.reserve (Adr ('192.168.23.2/32')) a3 = net.reserve ('192.168.23.3/32') a4 = net.reserve (Adr ('192.168.23.4/32')) devtype = FFM.Net_Device_Type.instance_or_new \ (name = 'Generic', raw = True) dev = FFM.Net_Device \ (left = devtype, node = node2, name = 'dev', raw = True) wr = FFM.Wired_Interface (left = dev, name = 'wr', raw = True) wl = FFM.Wireless_Interface (left = dev, name = 'wl', raw = True) ir1 = FFM.Net_Interface_in_IP4_Network (wr, a1, mask_len = 24) il1 = FFM.Net_Interface_in_IP4_Network (wl, a2, mask_len = 32) ir2 = FFM.Net_Interface_in_IP4_Network (wr, a3, mask_len = 24) il2 = FFM.Net_Interface_in_IP4_Network (wl, a4, mask_len = 24)
def net_fixtures (scope) : """ Create more fixtures for testing IP allocation and polymorphic queries on owner. """ create (scope) scope.commit () FFM = scope.FFM PAP = scope.PAP cta = PAP.Person \ (first_name = 'Christian', last_name = 'Tanzer', raw = True) dtype = FFM.Net_Device_Type.instance (name = 'Generic', raw = True) rsc = PAP.Person.query (first_name = 'ralf').one () swing = PAP.Company (name = "Swing") ff = PAP.Association (name = "Funkfeuer") n1 = FFM.Node \ (name = "Node-net1", manager = cta, owner = swing, raw = True) n2 = FFM.Node (name = "Node-net2", manager = cta, owner = ff, raw = True) n3 = FFM.Node (name = "Node-net3", manager = rsc, owner = ff, raw = True) n4 = FFM.Node (name = "Node-net4", manager = rsc, raw = True) net = FFM.IP4_Network \ (net_address = '10.10.0.0/16', owner = ff, raw = True) nv6 = FFM.IP6_Network ('2001:db8::/32', owner = swing, raw = True) n1d1 = FFM.Net_Device \ (left = dtype, node = n1, name = 'n1d1', raw = True) n1d2 = FFM.Net_Device \ (left = dtype, node = n1, name = 'n1d2', raw = True) n2d1 = FFM.Net_Device \ (left = dtype, node = n2, name = 'n2d1', raw = True) n2d2 = FFM.Net_Device \ (left = dtype, node = n2, name = 'n2d2', raw = True) n2d3 = FFM.Net_Device \ (left = dtype, node = n2, name = 'n2d3', raw = True) n3d1 = FFM.Net_Device \ (left = dtype, node = n3, name = 'n3d1', raw = True) n4d1 = FFM.Net_Device \ (left = dtype, node = n4, name = 'n4d1', raw = True) n4d2 = FFM.Net_Device \ (left = dtype, node = n4, name = 'n4d2', raw = True) n4d3 = FFM.Net_Device \ (left = dtype, node = n4, name = 'n4d3', raw = True) n4d4 = FFM.Net_Device \ (left = dtype, node = n4, name = 'n4d4', raw = True) n4d5 = FFM.Net_Device \ (left = dtype, node = n4, name = 'n4d5', raw = True)
from __future__ import absolute_import, division, print_function, unicode_literals from _MOM.import_MOM import * from _FFM import FFM _Ancestor_Essence = FFM.Object class Regulatory_Domain (_Ancestor_Essence) : """Wireless Regulatory Domain""" class _Attributes (_Ancestor_Essence._Attributes) : _Ancestor = _Ancestor_Essence._Attributes class countrycode (A_String) : """Two-letter country-code""" kind = Attr.Primary max_length = 2 ignore_case = True # end class countrycode # end class _Attributes # end class Regulatory_Domain if __name__ != "__main__" : FFM._Export ("*") ### __END__ FFM.Regulatory_Domain
kind = Attr.Necessary # end class polarization # end class _Attributes class _Predicates(_Ancestor_Essence._Predicates): _Ancestor = _Ancestor_Essence._Predicates class band_exists(Pred.Condition): """There must be at least one frequency band for the antenna.""" kind = Pred.Region assertion = "number_of_bands >= 1" attributes = ("bands", ) bindings = dict \ ( number_of_bands = "len (this.bands)" ) # end class band_exists # end class _Predicates # end class Antenna_Type if __name__ != "__main__": FFM._Export("*") ### __END__ FFM.Antenna_Type
class txpower (_Ancestor.txpower) : kind = Attr.Query auto_up_depends = ("hardware", ) query = Q.hardware.txpower # end class power # end class _Attributes class _Predicates (_Ancestor_Essence._Predicates) : _Ancestor = _Ancestor_Essence._Predicates class valid_left (Pred.Condition) : """`left` must be equal to `hardware.left`""" kind = Pred.Object assertion = "left is hardware.left" attributes = ("left", "hardware.left") # end class valid_left # end class _Predicates # end class Virtual_Wireless_Interface if __name__ != "__main__" : FFM._Export ("*", "_Wireless_Interface_") ### __END__ FFM.Wireless_Interface
def create(scope): Auth = scope.Auth FFM = scope.FFM ant = FFM.Antenna_Type \ ( name = "Generic" , desc = "for unknown antennae" , gain = "20.0" , polarization = "horizontal" , raw = True ) FFM.Antenna_Band \ (ant, band = dict (lower = "1 Hz", upper = "1 THz"), raw = True) FFM.Net_Device_Type \ (name = "Generic", desc = "for unknown or planned devices", raw = True) s11a = FFM.Wireless_Standard \ (name = "802.11a", bandwidth = "20 MHz", raw = True) s11b = FFM.Wireless_Standard \ (name = "802.11b", bandwidth = "20 MHz", raw = True) s11g = FFM.Wireless_Standard \ (name = "802.11g", bandwidth = "20 MHz", raw = True) s11n = FFM.Wireless_Standard \ (name = "802.11n", bandwidth = "40 MHz", raw = True) for std in s11b, s11g: FFM.Wireless_Channel \ (left = std, number = "1", frequency = "2412 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "2", frequency = "2417 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "3", frequency = "2422 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "4", frequency = "2427 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "5", frequency = "2432 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "6", frequency = "2437 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "7", frequency = "2442 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "8", frequency = "2447 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "9", frequency = "2452 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "10", frequency = "2457 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "11", frequency = "2462 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "12", frequency = "2467 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "13", frequency = "2472 MHz", raw = True) FFM.Wireless_Channel \ (left = std, number = "14", frequency = "2484 MHz", raw = True) # 802.11a FFM.Wireless_Channel \ (left = s11a, number = "36", frequency = "5180 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "40", frequency = "5200 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "44", frequency = "5220 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "48", frequency = "5240 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "52", frequency = "5260 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "56", frequency = "5280 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "60", frequency = "5300 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "64", frequency = "5320 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "100", frequency = "5500 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "104", frequency = "5520 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "108", frequency = "5540 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "112", frequency = "5560 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "116", frequency = "5580 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "120", frequency = "5600 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "124", frequency = "5620 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "128", frequency = "5640 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "132", frequency = "5660 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "136", frequency = "5680 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "140", frequency = "5700 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "149", frequency = "5745 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "153", frequency = "5765 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "157", frequency = "5785 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "161", frequency = "5805 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "165", frequency = "5825 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "172", frequency = "5860 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "173", frequency = "5865 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "174", frequency = "5870 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "175", frequency = "5875 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "176", frequency = "5880 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "177", frequency = "5885 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "178", frequency = "5890 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "179", frequency = "5895 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "180", frequency = "5900 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "181", frequency = "5905 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "182", frequency = "5910 MHz", raw = True) FFM.Wireless_Channel \ (left = s11a, number = "183", frequency = "5915 MHz", raw = True) # channels not listed on # http://linuxwireless.org/en/developers/Documentation/ChannelList #FFM.Wireless_Channel \ # (left = s11a, number = "147", frequency = "5735 MHz", raw = True) #FFM.Wireless_Channel \ # (left = s11a, number = "151", frequency = "5755 MHz", raw = True) #FFM.Wireless_Channel \ # (left = s11a, number = "155", frequency = "5775 MHz", raw = True) #FFM.Wireless_Channel \ # (left = s11a, number = "167", frequency = "5835 MHz", raw = True) # 802.11n FFM.Wireless_Channel \ (left = s11n, number = "36", frequency = "5180 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "40", frequency = "5200 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "44", frequency = "5220 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "48", frequency = "5240 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "52", frequency = "5260 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "56", frequency = "5280 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "60", frequency = "5300 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "64", frequency = "5320 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "100", frequency = "5500 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "104", frequency = "5520 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "108", frequency = "5540 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "112", frequency = "5560 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "116", frequency = "5580 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "120", frequency = "5600 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "124", frequency = "5620 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "128", frequency = "5640 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "132", frequency = "5660 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "136", frequency = "5680 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "149", frequency = "5745 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "153", frequency = "5765 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "157", frequency = "5785 MHz", raw = True) FFM.Wireless_Channel \ (left = s11n, number = "161", frequency = "5805 MHz", raw = True) # See # http://git.kernel.org/?p=linux/kernel/git/linville/wireless-regdb.git # FIXME: Use parser dbparse.py from above # and import db.txt from above dom = FFM.Regulatory_Domain(countrycode="AT", raw=True) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "2402 MHz", upper = "2482 MHz") , bandwidth = "40 MHz" , eirp = "20 dBm" , raw = True ) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "5170 MHz", upper = "5250 MHz") , bandwidth = "40 MHz" , eirp = "20 dBm" , raw = True ) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "5250 MHz", upper = "5330 MHz") , bandwidth = "40 MHz" , eirp = "20 dBm" , need_DFS = "yes" , raw = True ) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "5490 MHz", upper = "5710 MHz") , bandwidth = "40 MHz" , eirp = "27 dBm" , need_DFS = "yes" , raw = True ) scope.commit()
( left = dom , band = dict (lower = "5170 MHz", upper = "5250 MHz") , bandwidth = "40 MHz" , eirp = "20 dBm" , raw = True ) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "5250 MHz", upper = "5330 MHz") , bandwidth = "40 MHz" , eirp = "20 dBm" , need_DFS = "yes" , raw = True ) FFM.Regulatory_Permission \ ( left = dom , band = dict (lower = "5490 MHz", upper = "5710 MHz") , bandwidth = "40 MHz" , eirp = "27 dBm" , need_DFS = "yes" , raw = True ) scope.commit() # end def create if __name__ != "__main__": FFM._Export_Module() ### __END__ fixtures
self.requester = requester # end def __init__ # end class Address_Already_Used class Address_not_in_Network (Error, ValueError) : """Address is not in Network""" def __init__ (self, address, net_address, msg) : self.__super.__init__ (msg) self.address = address self.net_address = net_address # end def __init__ # end class Address_not_in_Network class No_Free_Address_Range (Error, ValueError) : """There is no free subrange available""" def __init__ (self, net_address, mask_len, message) : self.__super.__init__ (message) self.net_address = net_address self.mask_len = mask_len # end def __init__ # end class No_Free_Address_Range if __name__ != "__main__" : FFM._Export_Module () ### __END__ FFM.Error
_Ancestor_Essence = FFM.Id_Entity class _Belongs_to_Node_ (_Ancestor_Essence) : """Mixin for computed `belongs_to_node` attribute""" is_partial = True class _Attributes (_Ancestor_Essence._Attributes) : _Ancestor = _Ancestor_Essence._Attributes class belongs_to_node (A_Id_Entity) : """Node this %(ui_type_name)s belongs to.""" kind = Attr.Query hidden = True P_Type = FFM.Node query = Q.left.belongs_to_node query_preconditions = (Q.left, ) # end class belongs_to_node # end class _Attributes # end class _Belongs_to_Node_ if __name__ != "__main__" : FFM._Export ("_Belongs_to_Node_") ### __END__ FFM._Belongs_to_Node_