Skip to content

Erencan1/mhc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

MHC is a platform where user can create own command prompt to get data from cell towers. Even though basic structure is in python, other programing languages are supported as well

MHC consists of two primary components: 1) Elements 2) Indelements Both of these classes have to follow mhc structure.

1) Elements

Elements are used to define what commands need to be run to collect data from cell tower and what to do with that. convert_output must return output to display and summary in strings. Summary might be left empty string if not needed.

convert_output is performed after data is received.

    :param rawOutput:   data from cell tower -- string
    :param nodeid   :   Cell Tower ID -- string
    :return         :   (output_to_display, summary) -- (string, string)

Register.element wrapper is used to register element into mhc system. It checks if class structure is correct, and performs simulation by sending fake input. Time out is set to 1.5 seconds.

from Pckg.register import Register


@Register.element
class ElementName:
    name = One-word Key Name to display in menu
    detail = What this element is used for
    commands = [command_0, command_1, command_2, ...]
    fullCheck = Boolean    # Is this part Of Full Check?

    @staticmethod
    def convert_output(rawOutput, nodeid):
        """
        @owner      :
        @contact    :
        """
        #   rawOutput is output of commands
        #   nodeid is Cell Tower ID
        #   manipulate, edit raw output to display and make summary
        #   return output_to_display and summary in string
        return output_to_display, summary

2) Indelements

Indelements are used to give directions such as creating log file, setting number of thread at a time. They are also used to for general operations.

Register.indelement wrapper is used to register indelement into mhc system. It checks if class structure is correct.

bias is performed right away. Check Indelement folder for more example :return : function which will be executed

from Pckg.register import Register


@Register.indelement
class IndElementName:
    name = One-word Key Name to display in menu
    detail = What this element is used for

    @staticmethod
    def bias():
        """
        @owner      :
        @contact    :
        """
        # do stuff
        return function

alt text

alt text

Some helper modules

#   To add color
from Display.display import Color

#   To create nice table to display
from Pckg.createTable import ctable

#   To read table for commands ending with c
from Pckg.tablec import TableC

#   To locate mhc and path where script is run
from Pckg.path import Path
Contact me for more details: erencanyilmaz1@gmail.com

Releases

No releases published

Packages

No packages published

Languages