mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 18:58:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			453 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			453 lines
		
	
	
		
			27 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /bin/bash
 | |
| Help()
 | |
| {
 | |
|   echo "This script modifies lanforge scripts so that it can be imported into python as a library from the tar.gz file it creates"
 | |
|   echo "store this repository in your python path, and then import lanforge_scripts from anywhere on your machine"
 | |
|   echo "An example of how to run this in python is like so:"
 | |
|   echo "import lanforge_scripts"
 | |
|   echo "ip_var=lanforge_scripts.IPVariableTime(host='192.168.1.239',port='8080',radio='wiphy0',sta_list=['1.1.sta0000','1.1.sta0001'],ssid='lanforge',password='password',security='wpa2',upstream='eth1',name_prefix='VT',traffic_type='lf_udp',_debug_on=True)"
 | |
|   echo "ip_var.build()"
 | |
|   echo "ip_var.start(False,False)"
 | |
|   echo ""
 | |
|   echo "EXPORT TO TAR FILE"
 | |
|   echo "./to_pip.sh -a -t TARGET_DIR"
 | |
|   echo "The 't' flag tells to_pip where to store the tar file, -a tells it to make a tar file."
 | |
|   echo "When the archive is made, you can install it on any computer with `pip install lanforge_scripts.tar.gz`"
 | |
| }
 | |
| 
 | |
| ARCHIVE=0
 | |
| TARGET_DIR='..'
 | |
| 
 | |
| while getopts ":h:a:t:" option; do
 | |
|   case "${option}" in
 | |
|     h) #display help
 | |
|       Help
 | |
|       exit 1
 | |
|       ;;
 | |
|     a) #Archive
 | |
|       ARCHIVE=1
 | |
|       ;;
 | |
|     t) #target dir
 | |
|       TARGET_DIR=${OPTARG}
 | |
|       ;;
 | |
|     *)
 | |
|       ;;
 | |
|   esac
 | |
| done
 | |
| #Rename repository so it can be imported as a package
 | |
| cd ..
 | |
| mv lanforge-scripts lanforge_scripts
 | |
| cd lanforge_scripts
 | |
| 
 | |
| mv py-scripts/ py_scripts
 | |
| mv py-json/ py_json
 | |
| mv py-dashboard/ py_dashboard
 | |
| 
 | |
| 
 | |
| echo "#Automate LANforge devices with lanforge-scripts
 | |
| 
 | |
| from .py_scripts import *
 | |
| from .py_dashboard import *
 | |
| from .py_json import *
 | |
| from .py_json import LANforge
 | |
| from .py_json.LANforge import *
 | |
| from . import ap_ctl
 | |
| from . import emailHelper
 | |
| from . import lf_mail
 | |
| from . import lf_tos_plus_test
 | |
| from . import lf_tx_power
 | |
| from . import tos_plus_auto
 | |
| #from . import auto_install_gui
 | |
| from . import cpu_stats
 | |
| from . import lf_sniff
 | |
| from . import lf_tos_test
 | |
| from . import openwrt_ctl
 | |
| #from . import stationStressTest
 | |
| from . import wifi_ctl_9800_3504
 | |
| 
 | |
| __all__ = ['LFRequest', 'LFUtils', 'LANforge','LFCliBase']
 | |
| 
 | |
| __title__ = 'lanforge_scripts'
 | |
| __version__ = '0.0.1'
 | |
| __author__ = 'Candela Technologies <www.candelatechnologies.com>'
 | |
| __license__ = ''" > __init__.py
 | |
| 
 | |
| #fix files in root
 | |
| sed -i -- 's/from LANforge/from py_json.LANforge/g' *.py
 | |
| sed -i -- 's/from py_json/from .py_json/g' *.py
 | |
| 
 | |
| cd py_scripts
 | |
| 
 | |
| echo "#from .connection_test import ConnectionTest
 | |
| from .create_bond import CreateBond
 | |
| from .create_bridge import CreateBridge
 | |
| from .create_chamberview import CreateChamberview
 | |
| from .create_l3 import CreateL3
 | |
| from .create_l4 import CreateL4
 | |
| from .create_macvlan import CreateMacVlan
 | |
| from .create_qvlan import CreateQVlan
 | |
| from .create_station import CreateStation
 | |
| from .create_vap import CreateVAP
 | |
| from .csv_convert import CSVParcer
 | |
| from .csv_processor import L3CSVParcer
 | |
| from .csv_to_influx import CSVtoInflux
 | |
| from .csv_to_grafana import UseGrafana
 | |
| from .download_test import DownloadTest
 | |
| from .event_breaker import EventBreaker
 | |
| from .event_flood import EventBreaker as EventFlood
 | |
| from .example_security_connection import IPv4Test
 | |
| from .ghost_profile import UseGhost
 | |
| from .grafana_profile import UseGrafana
 | |
| from .influx import RecordInflux
 | |
| from .layer3_test import Layer3Test
 | |
| from .layer4_test import HTTPTest
 | |
| from .lf_ap_auto_test import ApAutoTest
 | |
| from .lf_atten_mod_test import CreateAttenuator
 | |
| from .lf_csv import lf_csv, lf_kpi_csv
 | |
| from .lf_dataplane_test import DataplaneTest
 | |
| from .lf_dfs_test import FileAdapter, CreateCtlr, L3VariableTime
 | |
| from .lf_dut_sta_vap_test import Login_DUT, LoadScenario, CreateSTA_CX
 | |
| from .lf_ftp_test import ftp_test
 | |
| from .lf_ftp import FtpTest
 | |
| from .lf_graph import lf_bar_graph, lf_stacked_graph, lf_horizontal_stacked_graph, lf_scatter_graph, lf_line_graph
 | |
| from .lf_mesh_test import MeshTest
 | |
| from .lf_multipsk import MultiPsk
 | |
| from .lf_report import lf_report
 | |
| from .lf_rvr_test import RvrTest
 | |
| from .lf_rx_sensitivity_test import RxSensitivityTest
 | |
| from .lf_sniff_radio import SniffRadio
 | |
| #from .lf_snp_test import  SAME CLASS NAMES AS LF_DFS_TEST
 | |
| from .lf_tr398_test import TR398Test
 | |
| from .lf_webpage import HttpDownload
 | |
| from .lf_wifi_capacity_test import WiFiCapacityTest
 | |
| from .measure_station_time_up import MeasureTimeUp
 | |
| from .modify_station import ModifyStation
 | |
| from .modify_vap import ModifyVAP
 | |
| from .run_cv_scenario import RunCvScenario
 | |
| from .sta_connect import StaConnect
 | |
| from .sta_connect2 import StaConnect2
 | |
| from .sta_connect_bssid_mac import client_connect
 | |
| from .station_layer3 import STATION
 | |
| from .stations_connected import StationsConnected
 | |
| from .test_1k_clients_jedtest import Test1KClients
 | |
| from .test_client_admission import LoadLayer3
 | |
| from .test_fileio import FileIOTest
 | |
| from .test_generic import GenTest
 | |
| from .test_ip_connection import ConnectTest
 | |
| from .test_ip_variable_time import IPVariableTime
 | |
| from .test_ipv4_ttls import TTLSTest
 | |
| from .test_ipv4_ps import IPV4VariableTime
 | |
| #from .test_l3_longevity import L3VariableTime ALSO IN LF_DFS_TEST
 | |
| from .test_l3_powersave_traffic import L3PowersaveTraffic
 | |
| #from .test_l3_scenario_throughput import
 | |
| from .test_l3_unicast_traffic_gen import L3VariableTimeLongevity
 | |
| from .test_l3_WAN_LAN import VRTest
 | |
| from .test_l4 import IPV4L4
 | |
| from .test_status_msg import TestStatusMessage
 | |
| #from .test_wanlink import LANtoWAN
 | |
| #from .test_wpa_passphrases import WPAPassphrases
 | |
| from .testgroup import TestGroup
 | |
| from .testgroup2 import TestGroup2
 | |
| from .tip_station_powersave import TIPStationPowersave
 | |
| from .video_rates import VideoRates
 | |
| from .wlan_capacity_calculator import main as WlanCapacityCalculator
 | |
| from .ws_generic_monitor_test import WS_Listener" > __init__.py
 | |
| 
 | |
| # Fix files in py_scripts
 | |
| sed -i -- 's/import realm/ /g' create_vap.py lf_dut_sta_vap_test.py lf_sniff_radio.py run_cv_scenario.py sta_connect.py station_layer3.py test_client_admission.py
 | |
| sed -i -- 's/import realm/from realm import Realm/g' layer4_test.py lf_atten_mod_test.py lf_multipsk.py test_fileio.py test_ip_connection.py test_ipv4_ttls.py test_l3_WAN_LAN.py test_l3_unicast_traffic_gen.py test_l4.py testgroup.py
 | |
| sed -i -- 's/realm.Realm/Realm/g' layer4_test.py lf_atten_mod_test.py lf_multipsk.py lf_sniff_radio.py station_layer3.py test_client_admission.py test_fileio.py test_ip_connection.py
 | |
| sed -i -- 's/import realm/from realm import Realm, PortUtils/g' lf_ftp.py lf_ftp_test.py lf_webpage.py
 | |
| sed -i -- 's/import realm/from realm import Realm, WifiMonitor/g' test_ipv4_ps.py
 | |
| sed -i -- 's/import l3_cxprofile/from l3_cxprofile import L3CXProfile/g' test_l3_powersave_traffic.py
 | |
| sed -i -- 's/import realm/from realm import Realm, StationProfile, WifiMonitor/g' test_l3_powersave_traffic.py
 | |
| sed -i -- 's/import realm/from realm import Realm, PacketFilter/g' tip_station_powersave.py
 | |
| sed -i -- 's/from generic_cx import GenericCx/ /g' *.py
 | |
| sed -i -- 's/import wlan_theoretical_sta/from wlan_theoretical_sta import abg11_calculator, n11_calculator, ac11_calculator/g' wlan_capacity_calculator.py
 | |
| 
 | |
| #Change importlib to pip compliant method
 | |
| #sed -i -- 's/import importlib/ /g' *.py
 | |
| sed -i -- 's/l3_cxprofile2 = importlib.import_module("py-json.l3_cxprofile2")/from ..py_json import l3_cxprofile2/g' *.py
 | |
| sed -i -- 's/add_dut = importlib.import_module("py-json.LANforge.add_dut")/from ..py_json.LANforge import add_dut/g' *.py
 | |
| sed -i -- 's/ftp_html = importlib.import_module("py-scripts.ftp_html")/from ..py_scripts import ftp_html/g' *.py
 | |
| sed -i -- 's/l3_cxprofile = importlib.import_module("py-json.l3_cxprofile")/from ..py_json import l3_cxprofile/g' *.py
 | |
| sed -i -- 's/sta_connect = importlib.import_module("py-scripts.sta_connect")/from ..py_scripts import sta_connect/g' *.py
 | |
| sed -i -- 's/test_ip_variable_time = importlib.import_module("py-scripts.test_ip_variable_time")/from ..py_scripts import test_ip_variable_time/g' *.py
 | |
| sed -i -- 's/add_sta = importlib.import_module("py-json.LANforge.add_sta")/from ..py_json.LANforge import add_sta/g' *.py
 | |
| sed -i -- 's/cv_dut_profile = importlib.import_module("py-json.cv_dut_profile")/from ..py_json import cv_dut_profile/g' *.py
 | |
| sed -i -- 's/wlan_theoretical_sta = importlib.import_module("py-json.wlan_theoretical_sta")/from ..py_json import wlan_theoretical_sta/g' *.py
 | |
| sed -i -- 's/port_utils = importlib.import_module("py-json.port_utils")/from ..py_json import port_utils/g' *.py
 | |
| sed -i -- 's/http_profile = importlib.import_module("py-json.http_profile")/from ..py_json import http_profile/g' *.py
 | |
| sed -i -- 's/LANforge = importlib.import_module("py-json.LANforge")/from ..py_json import LANforge/g' *.py
 | |
| sed -i -- 's/vap_profile = importlib.import_module("py-json.vap_profile")/from ..py_json import vap_profile/g' *.py
 | |
| sed -i -- 's/create_chamberview = importlib.import_module("py-scripts.create_chamberview")/from ..py_scripts import create_chamberview/g' *.py
 | |
| sed -i -- 's/lf_ap_auto_test = importlib.import_module("py-scripts.lf_ap_auto_test")/from ..py_scripts import lf_ap_auto_test/g' *.py
 | |
| sed -i -- 's/add_monitor = importlib.import_module("py-json.LANforge.add_monitor")/from ..py_json.LANforge import add_monitor/g' *.py
 | |
| sed -i -- 's/lf_json_autogen = importlib.import_module("py-json.LANforge.lf_json_autogen")/from ..py_json.LANforge import lf_json_autogen/g' *.py
 | |
| sed -i -- 's/InfluxRequest = importlib.import_module("py-dashboard.InfluxRequest")/from ..py_dashboard import InfluxRequest/g' *.py
 | |
| sed -i -- 's/qvlan_profile = importlib.import_module("py-json.qvlan_profile")/from ..py_json import qvlan_profile/g' *.py
 | |
| sed -i -- 's/cv_test_manager = importlib.import_module("py-json.cv_test_manager")/from ..py_json import cv_test_manager/g' *.py
 | |
| sed -i -- 's/add_vap = importlib.import_module("py-json.LANforge.add_vap")/from ..py_json.LANforge import add_vap/g' *.py
 | |
| sed -i -- 's/realm = importlib.import_module("py-json.realm")/from ..py_json.realm import Realm,PortUtils/g' *.py
 | |
| sed -i -- 's/lf_wifi_capacity_test = importlib.import_module("py-scripts.lf_wifi_capacity_test")/from ..py_scripts import lf_wifi_capacity_test/g' *.py
 | |
| sed -i -- 's/lf_attenmod = importlib.import_module("py-json.lf_attenmod")/from ..py_json import lf_attenmod/g' *.py
 | |
| sed -i -- 's/lf_csv = importlib.import_module("py-scripts.lf_csv")/from ..py_scripts import lf_csv/g' *.py
 | |
| sed -i -- 's/test_utility = importlib.import_module("py-json.test_utility")/from ..py_json import test_utility/g' *.py
 | |
| sed -i -- 's/lf_dataplane_test = importlib.import_module("py-scripts.lf_dataplane_test")/from ..py_scripts import lf_dataplane_test/g' *.py
 | |
| sed -i -- 's/ws_generic_monitor = importlib.import_module("py-json.ws_generic_monitor")/from ..py_json import ws_generic_monitor/g' *.py
 | |
| sed -i -- 's/grafana_profile = importlib.import_module("py-scripts.grafana_profile")/from ..py_scripts import grafana_profile/g' *.py
 | |
| sed -i -- 's/csv_to_influx = importlib.import_module("py-scripts.csv_to_influx")/from ..py_scripts import csv_to_influx/g' *.py
 | |
| sed -i -- 's/gen_cxprofile = importlib.import_module("py-json.gen_cxprofile")/from ..py_json import gen_cxprofile/g' *.py
 | |
| sed -i -- 's/lfcli_base = importlib.import_module("py-json.LANforge.lfcli_base")/from ..py_json.LANforge import lfcli_base/g' *.py
 | |
| sed -i -- 's/LFUtils = importlib.import_module("py-json.LANforge.LFUtils")/from ..py_json.LANforge import LFUtils/g' *.py
 | |
| sed -i -- 's/lfdata = importlib.import_module("py-json.lfdata")/from ..py_json import lfdata/g' *.py
 | |
| sed -i -- 's/cv_test_reports = importlib.import_module("py-json.cv_test_reports")/from ..py_json import cv_test_reports/g' *.py
 | |
| sed -i -- 's/LFRequest = importlib.import_module("py-json.LANforge.LFRequest")/from ..py_json.LANforge import LFRequest/g' *.py
 | |
| sed -i -- 's/lf_cv_base = importlib.import_module("py-json.lf_cv_base")/from ..py_json import lf_cv_base/g' *.py
 | |
| sed -i -- 's/base_profile = importlib.import_module("py-json.base_profile")/from ..py_json import base_profile/g' *.py
 | |
| sed -i -- 's/add_file_endp = importlib.import_module("py-json.LANforge.add_file_endp")/from ..py_json.LANforge import add_file_endp/g' *.py
 | |
| sed -i -- 's/lf_graph = importlib.import_module("py-scripts.lf_graph")/from ..py_scripts import lf_graph/g' *.py
 | |
| sed -i -- 's/GrafanaRequest = importlib.import_module("py-dashboard.GrafanaRequest")/from ..py_dashboard.GrafanaRequest import GrafanaRequest/g' *.py
 | |
| sed -i -- 's/GrafanaRequest = GrafanaRequest.GrafanaRequest/ /g' *.py
 | |
| sed -i -- 's/station_profile = importlib.import_module("py-json.station_profile")/from ..py_json import station_profile/g' *.py
 | |
| sed -i -- 's/cv_test_manager = importlib.import_module("py-scripts.cv_test_manager")/from ..py_scripts import cv_test_manager/g' *.py
 | |
| sed -i -- 's/lf_report = importlib.import_module("py-scripts.lf_report")/from ..py_scripts import lf_report/g' *.py
 | |
| sed -i -- 's/wifi_monitor_profile = importlib.import_module("py-json.wifi_monitor_profile")/from ..py_json import wifi_monitor_profile/g' *.py
 | |
| sed -i -- 's/GhostRequest = importlib.import_module("py-dashboard.GhostRequest")/from ..py_dashboard.GhostRequest import GhostRequest/g' *.py
 | |
| sed -i -- 's/l4_cxprofile = importlib.import_module("py-json.l4_cxprofile")/from ..py_json import l4_cxprofile/g' *.py
 | |
| sed -i -- 's/influx = importlib.import_module("py-scripts.influx")/from ..py_scripts import influx/g' *.py
 | |
| sed -i -- 's/mac_vlan_profile = importlib.import_module("py-json.mac_vlan_profile")/from ..py_json import mac_vlan_profile/g' *.py
 | |
| sed -i -- 's/create_wanlink = importlib.import_module("py-json.create_wanlink")/from ..py_json import create_wanlink/g' *.py
 | |
| sed -i -- 's/set_port = importlib.import_module("py-json.LANforge.set_port")/from ..py_json.LANforge import set_port/g' *.py
 | |
| sed -i -- 's/dut_profile = importlib.import_module("py-json.dut_profile")/from ..py_json import dut_profile/g' *.py
 | |
| sed -i -- 's/test_group_profile = importlib.import_module("py-json.test_group_profile")/from ..py_json import test_group_profile/g' *.py
 | |
| sed -i -- 's/multicast_profile = importlib.import_module("py-json.multicast_profile")/from ..py_json import multicast_profile/g' *.py
 | |
| sed -i -- 's/set_wifi_radio = importlib.import_module("py-json.LANforge.set_wifi_radio")/from ..py_json.LANforge import set_wifi_radio/g' *.py
 | |
| sed -i -- 's/fio_endp_profile = importlib.import_module("py-json.fio_endp_profile")/from ..py_json import fio_endp_profile/g' *.py
 | |
| sed -i -- 's/PortUtils = realm.PortUtils/ /g' *.py
 | |
| sed -i -- 's/Realm = realm.Realm/ /g' *.py
 | |
| sed -i -- 's/lf_csv = lf_csv.lf_csv/ /g' *.py
 | |
| sed -i -- 's/TestGroupProfile = realm.TestGroupProfile/ /g' *.py
 | |
| 
 | |
| sed -i -- 's/from influxdb/from .influxdb/g' *.py
 | |
| sed -i -- 's/py-scripts/py_scripts/g' *.py
 | |
| sed -i -- 's/py-json/py_json/g' *.py
 | |
| sed -i -- 's/py-dashboard/py_dashboard/g' *.py
 | |
| 
 | |
| # fix py_dashboard files
 | |
| sed -i -- 's/from GrafanaRequest/from ..py_dashboard.GrafanaRequest/g' *.py
 | |
| sed -i -- 's/from InfluxRequest/from ..py_dashboard.InfluxRequest/g' *.py
 | |
| sed -i -- 's/from GhostRequest/from ..py_dashboard.GhostRequest/g' *.py
 | |
| 
 | |
| #fix py_json files
 | |
| sed -i -- 's/from LANforge/from ..py_json.LANforge/g' *.py
 | |
| sed -i -- 's/from cv_test_manager/from ..py_json.cv_test_manager/g' *.py
 | |
| 
 | |
| #fix py_scripts files
 | |
| sed -i -- 's/from lf_report/from .lf_report/g' *.py
 | |
| sed -i -- 's/from lf_graph/from .lf_graph/g' *.py
 | |
| sed -i -- 's/from csv_to_influx/from .csv_to_influx/g' *.py
 | |
| sed -i -- 's/from csv_to_grafana/from .csv_to_grafana/g' *.py
 | |
| sed -i -- 's/from grafana_profile/from .grafana_profile/g' *.py
 | |
| sed -i -- 's/from influx import/from .influx import/g' *.py
 | |
| sed -i -- 's/import ..py_json.LANforge/ /g' *.py
 | |
| sed -i -- 's/from .influxdb/from influxdb/g' *.py
 | |
| sed -i -- 's/from test_utility/from ..py_json.test_utility/g' *.py
 | |
| sed -i -- 's/from ftp_html/from .ftp_html/g' *.py
 | |
| sed -i -- 's/from lf_csv/from .lf_csv/g' *.py
 | |
| sed -i -- 's/from test_ip_variable_time/from .test_ip_variable_time/g' *.py
 | |
| sed -i -- 's/from l3_cxprofile/from ..py_json.l3_cxprofile/g' *.py
 | |
| sed -i -- 's/from create_wanlink/from ..py_json.create_wanlink/g' *.py
 | |
| sed -i -- 's/from wlan_theoretical_sta/from ..py_json.wlan_theoretical_sta/g' *.py
 | |
| sed -i -- 's/from ws_generic_monitor/from ..py_json.ws_generic_monitor/g' *.py
 | |
| sed -i -- 's/from port_utils/from ..py_json.port_utils/g' *.py
 | |
| 
 | |
| cd ../py_json
 | |
| #Fix files in py_json
 | |
| sed -i -- 's/import realm/from realm import PortUtils/g' test_utility.py
 | |
| 
 | |
| #Change importlib to pip compliant method
 | |
| sed -i -- 's/mac_vlan_profile = importlib.import_module("py-json.mac_vlan_profile")/from ..py_json import mac_vlan_profile/g' *.py
 | |
| sed -i -- 's/dut_profile = importlib.import_module("py-json.dut_profile")/from ..py_json import dut_profile/g' *.py
 | |
| sed -i -- 's/l4_cxprofile = importlib.import_module("py-json.l4_cxprofile")/from ..py_json import l4_cxprofile/g' *.py
 | |
| sed -i -- 's/http_profile = importlib.import_module("py-json.http_profile")/from ..py_json import http_profile/g' *.py
 | |
| sed -i -- 's/port_utils = importlib.import_module("py-json.port_utils")/from ..py_json.port_utils import PortUtils/g' *.py
 | |
| sed -i -- 's/wifi_monitor_profile = importlib.import_module("py-json.wifi_monitor_profile")/from ..py_json import wifi_monitor_profile/g' *.py
 | |
| sed -i -- 's/fio_endp_profile = importlib.import_module("py-json.fio_endp_profile")/from ..py_json import fio_endp_profile/g' *.py
 | |
| sed -i -- 's/lfdata = importlib.import_module("py-json.lfdata")/from ..py_json import lfdata/g' *.py
 | |
| sed -i -- 's/multicast_profile = importlib.import_module("py-json.multicast_profile")/from ..py_json import multicast_profile/g' *.py
 | |
| sed -i -- 's/lf_attenmod = importlib.import_module("py-json.lf_attenmod")/from ..py_json import lf_attenmod/g' *.py
 | |
| sed -i -- 's/l3_cxprofile2 = importlib.import_module("py-json.l3_cxprofile2")/from ..py_json import l3_cxprofile2/g' *.py
 | |
| sed -i -- 's/l3_cxprofile = importlib.import_module("py-json.l3_cxprofile")/from ..py_json import l3_cxprofile/g' *.py
 | |
| sed -i -- 's/gen_cxprofile = importlib.import_module("py-json.gen_cxprofile")/from ..py_json import gen_cxprofile/g' *.py
 | |
| sed -i -- 's/test_group_profile = importlib.import_module("py-json.test_group_profile")/from ..py_json import test_group_profile/g' *.py
 | |
| sed -i -- 's/qvlan_profile = importlib.import_module("py-json.qvlan_profile")/from ..py_json import qvlan_profile/g' *.py
 | |
| sed -i -- 's/vap_profile = importlib.import_module("py-json.vap_profile")/from ..py_json import vap_profile/g' *.py
 | |
| sed -i -- 's/station_profile = importlib.import_module("py-json.station_profile")/from ..py_json import station_profile/g' *.py
 | |
| sed -i -- 's/mac_vlan_profile = importlib.import_module("py-json.mac_vlan_profile")/from ..py_json import mac_vlan_profile/g' *.py
 | |
| sed -i -- 's/add_monitor = importlib.import_module("py-json.LANforge.add_monitor")/from ..py_json.LANforge import add_monitor/g' *.py
 | |
| sed -i -- 's/dut_profile = importlib.import_module("py-json.dut_profile")/from ..py_json import dut_profile/g' *.py
 | |
| sed -i -- 's/set_port = importlib.import_module("py-json.LANforge.set_port")/from ..py_json.LANforge import set_port/g' *.py
 | |
| sed -i -- 's/l4_cxprofile = importlib.import_module("py-json.l4_cxprofile")/from ..py_json import l4_cxprofile/g' *.py
 | |
| sed -i -- 's/set_wifi_radio = importlib.import_module("py-json.LANforge.set_wifi_radio")/from ..py_json.LANforge import set_wifi_radio/g' *.py
 | |
| sed -i -- 's/http_profile = importlib.import_module("py-json.http_profile")/from ..py_json import http_profile/g' *.py
 | |
| sed -i -- 's/cv_test_reports = importlib.import_module("py-json.cv_test_reports")/from ..py_json import cv_test_reports/g' *.py
 | |
| sed -i -- 's/add_sta = importlib.import_module("py-json.LANforge.add_sta")/from ..py_json.LANforge import add_sta/g' *.py
 | |
| sed -i -- 's/port_utils = importlib.import_module("py-json.port_utils")/from ..py_json import port_utils/g' *.py
 | |
| sed -i -- 's/lf_cv_base = importlib.import_module("py-json.lf_cv_base")/from ..py_json import lf_cv_base/g' *.py
 | |
| sed -i -- 's/lf_json_autogen = importlib.import_module("py-json.LANforge.lf_json_autogen")/from ..py_json.LANforge import lf_json_autogen/g' *.py
 | |
| sed -i -- 's/wifi_monitor_profile = importlib.import_module("py-json.wifi_monitor_profile")/from ..py_json import wifi_monitor_profile/g' *.py
 | |
| sed -i -- 's/InfluxRequest = importlib.import_module("py-dashboard.InfluxRequest")/from ..py_dashboard import InfluxRequest/g' *.py
 | |
| sed -i -- 's/fio_endp_profile = importlib.import_module("py-json.fio_endp_profile")/from ..py_json import fio_endp_profile/g' *.py
 | |
| sed -i -- 's/add_dut = importlib.import_module("py-json.LANforge.add_dut")/from ..py_json.LANforge import add_dut/g' *.py
 | |
| sed -i -- 's/base_profile = importlib.import_module("py-json.base_profile")/from ..py_json import base_profile/g' *.py
 | |
| sed -i -- 's/lfcli_base = importlib.import_module("py-json.LANforge.lfcli_base")/from ..py_json.LANforge.lfcli_base import LFCliBase/g' *.py
 | |
| sed -i -- 's/lfdata = importlib.import_module("py-json.lfdata")/from ..py_json import lfdata/g' *.py
 | |
| sed -i -- 's/LFRequest = importlib.import_module("py-json.LANforge.LFRequest")/from ..py_json.LANforge import LFRequest/g' *.py
 | |
| sed -i -- 's/multicast_profile = importlib.import_module("py-json.multicast_profile")/from ..py_json import multicast_profile/g' *.py
 | |
| sed -i -- 's/add_vap = importlib.import_module("py-json.LANforge.add_vap")/from ..py_json.LANforge import add_vap/g' *.py
 | |
| sed -i -- 's/lf_attenmod = importlib.import_module("py-json.lf_attenmod")/from ..py_json import lf_attenmod/g' *.py
 | |
| sed -i -- 's/LFUtils = importlib.import_module("py-json.LANforge.LFUtils")/from ..py_json.LANforge import LFUtils/g' *.py
 | |
| sed -i -- 's/gen_cxprofile = importlib.import_module("py-json.gen_cxprofile")/from ..py_json import gen_cxprofile/g' *.py
 | |
| sed -i -- 's/LANforge = importlib.import_module("py-json.LANforge")/from ..py_json import LANforge/g' *.py
 | |
| sed -i -- 's/= importlib.import_module("py-json. )/from ..py_json import  /g' *.py
 | |
| sed -i -- 's/realm = importlib.import_module("py-json.realm")/from ..py_json import realm/g' *.py
 | |
| sed -i -- 's/test_group_profile = importlib.import_module("py-json.test_group_profile")/from ..py_json import test_group_profile/g' *.py
 | |
| sed -i -- 's/qvlan_profile = importlib.import_module("py-json.qvlan_profile")/from ..py_json import qvlan_profile/g' *.py
 | |
| sed -i -- 's/vap_profile = importlib.import_module("py-json.vap_profile")/from ..py_json import vap_profile/g' *.py
 | |
| sed -i -- 's/station_profile = importlib.import_module("py-json.station_profile")/from ..py_json import station_profile/g' *.py
 | |
| sed -i -- 's/PortUtils = port_utils.PortUtils/ /g' *.py
 | |
| sed -i -- 's/LFCliBase = lfcli_base.LFCliBase/ /g' *.py
 | |
| sed -i -- 's/pandas_extensions = importlib.import_module("py-json.LANforge.pandas_extensions")/from .LANforge.pandas_extensions import pandas_extensions/g' *.py
 | |
| sed -i -- 's/pandas_extensions.pandas_extensions/pandas_extensions/g' *.py
 | |
| 
 | |
| # fix py_dashboard files
 | |
| sed -i -- 's/from GrafanaRequest/from ..py_dashboard.GrafanaRequest/g' *.py
 | |
| sed -i -- 's/from InfluxRequest/from ..py_dashboard.InfluxRequest/g' *.py
 | |
| sed -i -- 's/from GhostRequest/from ..py_dashboard.GhostRequest/g' *.py
 | |
| 
 | |
| #fix py_json files
 | |
| sed -i -- 's/from LANforge/from .LANforge/g' *.py
 | |
| sed -i -- 's/from realm/from .realm/g' *.py
 | |
| sed -i -- 's/from cv_test_manager/from .cv_test_manager/g' *.py
 | |
| sed -i -- 's/from lf_cv_base/from .lf_cv_base/g' *.py
 | |
| sed -i -- 's/from lfdata/from .lfdata/g' *.py
 | |
| sed -i -- 's/from base_profile/from .base_profile/g' *.py
 | |
| sed -i -- 's/from test_utility/from .test_utility/g' *.py
 | |
| 
 | |
| 
 | |
| # shellcheck disable=SC2039
 | |
| realmfiles=("l3_cxprofile"
 | |
|             "l4_cxprofile"
 | |
|             "lf_attenmod"
 | |
|             "multicast_profile"
 | |
|             "http_profile"
 | |
|             "station_profile"
 | |
|             "fio_endp_profile"
 | |
|             "test_group_profile"
 | |
|             "dut_profile"
 | |
|             "vap_profile"
 | |
|             "mac_vlan_profile"
 | |
|             "wifi_monitor_profile"
 | |
|             "gen_cxprofile"
 | |
|             "qvlan_profile"
 | |
|             "lfdata")
 | |
| # shellcheck disable=SC2039
 | |
| for i in "${realmfiles[@]}"; do
 | |
| str="s/from ${i}/from .${i}/g"
 | |
| sed -i -- "${str}" realm.py
 | |
| done
 | |
| sed -i -- 's/from ..LANforge/from .LANforge/g' realm.py
 | |
| sed -i -- 's/from port_utils/from .port_utils/g' *.py
 | |
| 
 | |
| #fix py_scripts files
 | |
| sed -i -- 's/from lf_report/from ..py_scripts.lf_report/g' *.py
 | |
| sed -i -- 's/from lf_graph/from ..py_scripts.lf_graph/g' *.py
 | |
| sed -i -- 's/from create_station/from ..py_scripts.create_station/g' *.py
 | |
| sed -i -- 's/from cv_test_reports/from .cv_test_reports/g' *.py
 | |
| 
 | |
| cd LANforge
 | |
| echo "
 | |
| from .add_dut import dut_params, dut_flags
 | |
| from .add_file_endp import fe_fstype, fe_payload_list, fe_fio_flags, fe_base_endpoint_types
 | |
| from .lf_json_autogen import LFJsonGet, LFJsonPost
 | |
| from .lfcli_base import LFCliBase
 | |
| from .LFRequest import LFRequest
 | |
| from .LFUtils import *
 | |
| from .pandas_extensions import pandas_extensions" > __init__.py
 | |
| sed -i -- 's/from LFRequest import LFRequest/from .LFRequest import LFRequest/g' *.py
 | |
| sed -i -- 's/from LFRequest/from .LFRequest/g' *.py
 | |
| sed -i -- 's/from LANforge import LFRequest/import .LFRequest/g' LFUtils.py
 | |
| sed -i -- 's/from LFUtils/from .LFUtils/g' *.py
 | |
| sed -i -- 's/from LANforge.LFUtils/from .LFUtils/g' *.py
 | |
| sed -i -- 's/from LANforge import LFRequest/from . import LFRequest/g' *.py
 | |
| sed -i -- 's/import LANforge/import /g' *.py
 | |
| sed -i -- 's/import LANforge.LFUtils/from . import LFUtils/g' *.py
 | |
| sed -i -- 's/import LANforge.LFRequest/ /g' lfcli_base.py
 | |
| sed -i -- 's/import .LFRequest/from . import LFRequest/g' *.py
 | |
| sed -i -- 's/import .LFUtils/from . import LFUtils/g' *.py
 | |
| sed -i -- 's/LANforge.LFUtils./LFUtils./g' *.py
 | |
| sed -i -- 's/lfcli_base = importlib.import_module("py-json.LANforge.lfcli_base")/from .lfcli_base import LFCliBase/g' *.py
 | |
| sed -i -- 's/LFRequest = importlib.import_module("py-json.LANforge.LFRequest")/from .LFRequest import LFRequest/g' *.py
 | |
| sed -i -- 's/LFRequest.LFRequest/LFRequest/g' *.py
 | |
| sed -i -- 's/LFCliBase = lfcli_base.LFCliBase/from .lfcli_base import LFCliBase/g' *.py
 | |
| 
 | |
| #Convert from importlib to pip compliant method
 | |
| sed -i -- 's/LFUtils = importlib.import_module("py-json.LFUtils.)/from .LFUtils import debug_printer/g' *.py
 | |
| sed -i -- 's/LFUtils.debug_printer/debug_printer/g' *.py
 | |
| sed -i -- 's/LFRequest = importlib.import_module("py-json.LFRequest.)/from .LFRequest import debug_printer/g' *.py
 | |
| sed -i -- 's/lanforge-scripts/lanforge_scripts/g' *.py
 | |
| sed -i -- 's/LFUtils.debug_printer/debug_printer/g' *.py
 | |
| sed -i -- 's/lf_json_autogen = importlib.import_module("py-json.LANforge.lf_json_autogen")/from .lf_json_autogen import LFJsonPost/g' *.py
 | |
| sed -i -- 's/LFJsonPost = lf_json_autogen.LFJsonPost/ /g' *.py
 | |
| 
 | |
| cd ../../py_dashboard
 | |
| echo "
 | |
| from .GrafanaRequest import GrafanaRequest
 | |
| from .InfluxRequest import RecordInflux
 | |
| from .GhostRequest import GhostRequest" > __init__.py
 | |
| sed -i -- 's/GrafanaRequest = importlib.import_module("py-dashboard.GrafanaRequest")/from .GrafanaRequest import GrafanaRequest/g' *.py
 | |
| sed -i -- 's/InfluxRequest = importlib.import_module("py-dashboard.InfluxRequest")/from .InfluxRequest import RecordInflux/g' *.py
 | |
| sed -i -- 's/RecordInflux = InfluxRequest.RecordInflux/ /g' *.py
 | |
| 
 | |
| echo "${ARCHIVE}"
 | |
| py_modules=(        'ap_ctl'
 | |
|                     'emailHelper'
 | |
|                     'lf_mail'
 | |
|                     'lf_tos_plus_test'
 | |
|                     'lf_tx_power'
 | |
|                     'tos_plus_auto'
 | |
|                     'auto_install_gui'
 | |
|                     'cpu_stats'
 | |
|                     'lf_sniff'
 | |
|                     'lf_tos_test'
 | |
|                     'openwrt_ctl'
 | |
|                     'stationStressTest'
 | |
|                     'wifi_ctl_9800_3504')
 | |
| if [[ $ARCHIVE -eq 1 ]]; then
 | |
|   echo "Saving archive to ${TARGET_DIR}"
 | |
|   cd ..
 | |
|   mkdir lanforge_scripts
 | |
|   mv py_json lanforge_scripts
 | |
|   mv py_dashboard lanforge_scripts
 | |
|   mv py_scripts lanforge_scripts
 | |
|   mv label-printer lanforge_scripts/label_printer
 | |
|   for i in "${py_modules[@]}"; do
 | |
|     mv $i lanforge_scripts
 | |
|   done
 | |
|   rm *.pl
 | |
|   rm *.bash
 | |
|   rm -r gui
 | |
|   rm -r json
 | |
|   rm -r LANforge
 | |
|   rm -r __pycache__
 | |
|   mv *.py lanforge_scripts
 | |
|   mv lanforge_scripts/setup.py .
 | |
|   rm speedtest-cli
 | |
|   rm WlanPro.desktop
 | |
|   mv wifi_diag lanforge_scripts
 | |
|   tar -zcvf ${TARGET_DIR}/lanforge_scripts.tar.gz *
 | |
|   zip ${TARGET_DIR}/lanforge_scripts.zip *
 | |
| else
 | |
|   echo "Not saving archive"
 | |
| fi | 
