Пример #1
0
def get_selected_weathers():
    try:
        ## obtain database credentials
        config = getConfig("/var/weather_config.json")

        api_key = config["key"]
        db_host = config["db_host"]
        db_user = config["db_user"]
        db_port = config["db_port"]
        db_name = config["db_name"]
        db_password = config["db_password"]

        ## establish the database connection
        db = Database(db_user=db_user,
                      db_port=db_port,
                      db_name=db_name,
                      db_host=db_host,
                      db_password=db_password)
        db.setup_db_connection()

        results = db.get_weather_for_all_cities()

        return jsonify(results), 200
    except Exception as e:
        return jsonify({
            "error":
            f"Something went wrong while requesting weather data. Error: {e}"
        }), 500
Пример #2
0
def listenToPort(port, callback):
    config = util.getConfig()

    # connect to midi
    print(f"Opening port {port}!")
    midi_in.open_port(port + 1)

    # read midi messages
    while True:
        event = midi_in.get_message()
        time.sleep(config['timeout'] / 1000.0)
        if event:
            print(event)
            config = util.getConfig()  # live config updating
            bindings = config['bindings'][port]
            callback(event, bindings)
Пример #3
0
def uploadSpreadsheet(dlQueList):

    config = util.getConfig()
    dateStr = datetime.date.today().strftime("%Y-%m-%d")
    logList = []

    try:

        fList = glob.glob(config['CSV']['DLPATH'] + '*.csv')
        fList = [os.path.basename(r) for r in fList]

        for dlQue in dlQueList:
            googleUtil.clear(dlQue.sheetId, "data")

        for dlQue in dlQueList:
            for file in fList:
                if (dlQue.fileName + dateStr) in file:
                    list = getList(config['CSV']['DLPATH'] + file)

                    if dlQue.addFlg == "TRUE":
                        list.pop(0)

                    googleUtil.uploadData(list, dlQue.sheetId, "data")
                    logList.insert(0, ['upload成功_' + file])

        googleUtil.uploadData(logList, config['GOOGLE']['SPREADSHEET'],
                              config['GOOGLE']['SHEET_LOG'])

    except Exception as e:
        print(e)
        logList = [['error! ' + dateStr]]
        googleUtil.uploadData(logList, config['GOOGLE']['SHEET_LOG'])
Пример #4
0
def lightLoop():
    global program_running

    b = util.connectBridge()
    if (b is None):
        print("Unable to connect to HUE bridge")
        return None
    config = util.getConfig("config/sesse_config.json")
    if (config is None):
        print("Unable to load config")
        return config

    loop_time = float(config['update_interval'])

    previous_score = 0

    while (program_running):
        start_time = time.time()

        score = getPosition(config)
        if (not score is None and score != previous_score):
            color = getScoreColor(score)
            util.setLightsRGB(b, color)

        previous_score = score

        end_time = time.time()
        remaining_time = loop_time - (end_time - start_time)
        if (remaining_time > 0):
            time.sleep(remaining_time)
Пример #5
0
    def initDe(self):
        self.base_url = "https://www.amazon.de/s/ref=nb_sb_noss_"
        self.threads = []
        self.parser = util.getConfig()
        self.actual_result = []
        self.max_search_count = int(
            self.parser.get("settings", "max_search_count"))

        self.rank_data = util.germanyRankData()
        self.proxy_list = util.getProxies(1, 3)
        self.agents = util.getUserAgent()
        self.base_headers = {
            "authority": self.parser.get("base_headers", "authority"),
            "method": self.parser.get("base_headers", "method"),
            # "path": "/mn/search/ajax/ref=nb_sb_noss_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=gaming+headset+ps4&rh=i%3Aaps%2Ck%3Agaming+headset+ps4&fromHash=%2Fref%3Dsr_pg_3%3Frh%3Di%253Aaps%252Ck%253Agaming%2Bheadset%2Bps4%26page%3D3%26keywords%3Dgaming%2Bheadset%2Bps4%26ie%3DUTF8%26qid%3D1526454787&section=ATF,BTF&fromApp=gp%2Fsearch&fromPage=results&fromPageConstruction=auisearch&version=2&oqid=1526457074&atfLayout=list",
            "scheme": self.parser.get("base_headers", "scheme"),
            "accept": self.parser.get("base_headers", "accept"),
            "accept-encoding": self.parser.get("base_headers",
                                               "accept-encoding"),
            "accept-language": self.parser.get("base_headers",
                                               "accept-language"),
            "cookie": self.parser.get("base_headers", "cookie")
            # "referer": "https://www.amazon.de/s/ref=nb_sb_noss_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=gaming+headset+ps4&rh=i%3Aaps%2Ck%3Agaming+headset+ps4",
            # 'user-agent': rand_agent
        }

        self.base_query_str = {
            "__mk_de_DE": self.parser.get("base_query", "__mk_de_DE"),
            "url": self.parser.get("base_query", "url")
        }
Пример #6
0
def clear(sheetId, sheetName):

    config = util.getConfig()
    gc = prepare(config)

    wks = gc.open_by_key(sheetId).worksheet(sheetName)
    wks.clear()
Пример #7
0
def downloadCSV(dlQueList):
    
    config = util.getConfig()
    
    
    
    options = webdriver.ChromeOptions()
    driver = webdriver.Chrome(options=options,executable_path=config['CHROME']['PATH'])

    try:
        driver.get('https://hrbc-jp.porterscloud.com/common/navigation')

        # ログイン画面
        driver.find_element_by_id('Model_LoginForm_company_login_id').send_keys(config['HRBC']['COMPANY'])
        driver.find_element_by_id('Model_LoginForm_username').send_keys(config['HRBC']['ID'])
        driver.find_element_by_id('Model_LoginForm_password').send_keys(config['HRBC']['PASS'])
        driver.find_element_by_id('login-form').submit()
        
        if len(driver.find_elements_by_class_name('ui-button-text-only')) > 0:
            driver.find_element_by_class_name('ui-button-text-only').click()
         
        time.sleep(5)
        
        for dlQue in dlQueList:
            download(driver, dlQue.url)
        
    except Exception as e:
        logging.error(traceback.format_exc())

    finally:
        driver.quit()
Пример #8
0
def main():
    config = getConfig()
    keys = config["Keys"]
    authToken = getCCFToken(keys)

    playlists = getTopNPlaylists("rainbow rock mountain", 60, authToken)

    print(pd.DataFrame(playlists).transpose())
Пример #9
0
def uploadData(data, sheetId, sheetName):

    config = util.getConfig()
    gc = prepare(config)

    sh = gc.open_by_key(sheetId)
    sh.values_append(sheetName, {'valueInputOption': 'USER_ENTERED'},
                     {'values': data})
Пример #10
0
def listJars():
    """
    Lists all prime times
    """
    config = getConfig()

    fmtStr = "Jar {:<2} = {}ms"

    for key, value in config['Prime'].items():
        click.echo(fmtStr.format(key, value))
Пример #11
0
def lambda_handler(event, context):

    config = getConfig()
    path = event['path']

    if path.startswith(config['paths']['numbers']):
        return numbers(config, event)

    if path.startswith(config['paths']['messages']):
        return messages(config, event)

    return render(config, path)
Пример #12
0
def shift():

    config = util.getConfig()

    shiftlist = []
    getShiftData(config, 3)

    # printShift(config)

    for s in shiftlist:

        print(s.name, s.placeId, s.hour)
Пример #13
0
def parseConfig():
    config = util.getConfig()
    practiceKey = ""
    liveKey = ""

    for configTuple in config.items("API"):
        if configTuple[0] == "practice_key":
            practiceKey = configTuple[1]
        elif configTuple[0] == "live_key":
            liveKey = configTuple[1]

    return practiceKey, liveKey
Пример #14
0
def update(jar, time):
    """
    Update the prime time (in ms) for a jar (max 60 seconds)
    """
    config = getConfig()
    if 'Prime' not in config:
        config['Prime'] = {}

    config['Prime'][str(jar)] = str(time)

    with open(configPath(), 'w') as configfile:
        config.write(configfile)
        click.echo("Jar #" + str(jar) + " updated to " + str(time) + "ms")
Пример #15
0
def sendSlack(fileName):
    
    config = util.getConfig()

    files = {'file': open(config['AIRSHIFT']['FILE'], 'rb')}
    param = {
        'token'    : config['SLACK']['TOKEN'],
        'channels' : config['SLACK']['CHANNEL'],
        'initial_comment' : fileName
    }
    res = requests.post(
        url="https://slack.com/api/files.upload",
        params=param, 
        files=files)
Пример #16
0
def readConfigSheet():

    config = util.getConfig()
    gc = prepare(config)

    wks = gc.open_by_key(config['GOOGLE']['SPREADSHEET']).worksheet(
        config['GOOGLE']['SHEET_CONFIG'])
    cell_list = wks.get_all_values()
    cell_list.pop(0)

    outList = []
    for row in cell_list:
        outList.append(dlQue.DlQue(row[0], row[1], row[2], row[3]))

    return outList
Пример #17
0
def duty():
    config = util.getConfig()
    dutyList = gsheet.getTodayDuty()
    mentionList = gsheet.getMentionList()

    # 打刻当番
    # message = '本日の申請確認担当は<@' + util.getMention(mentionList, dutyList[0]) + '>です。'\
    # '\n当日、10時までの申請分について対応してください。'\
    # '\nマニュアル:https://infratop.docbase.io/posts/1538760'

    # slack.post(url=config['SLACK']['URL_ST'], text=message)

    # その他
    message = '本日の当番です!'\
        '\n学サポ日直 :<@' + util.getMention(mentionList, dutyList[0]) + '>'\
        '\nメンサポ日直:<@' + util.getMention(mentionList, dutyList[1]) + '>'\
        '\n昼会司会  :<@' + util.getMention(mentionList, dutyList[2]) + '>'

    slack.post(url=config['SLACK']['URL_LSI'], text=message)
Пример #18
0
            connection.execute(statement)
            return True
        except Exception as e:
            print(f"Error while updating data. City: {new_data['city_name']}")
            print(e)
            return False
    
    # close the session
    def close_session(self):
        self.db_session.close()

if __name__ == "__main__":
    ## Run this main when initializing an empty database

    cities = getCityNamesFromFile("static/ca.city.lst.json", MAJOR_CITIES)
    config = getConfig("/var/weather_config.json")

    api_key = config["key"]
    db_host = config["db_host"]
    db_user = config["db_user"]
    db_port = config["db_port"]
    db_name = config["db_name"]
    db_password = config["db_password"]

    ## Establish database connection
    db = Database(db_user=db_user, db_port=db_port, db_name=db_name, db_host=db_host, db_password=db_password)
    db.setup_db_connection()


    for city in cities:
        city_data = requests.get(f"http://api.openweathermap.org/data/2.5/weather?q={city},ca&APPID={api_key}")
Пример #19
0
def getSS():

    config = util.getConfig()
    gc = prepare(config)

    return gc.open_by_key(config['GOOGLE']['SPREADSHEET'])
Пример #20
0
'''Program to formulate test scenarios'''
import util
import time
import threading
import Queue as queue

UNKNOWNHOSTIP = str(util.getConfig("unknown_host_ip"))
HOSTIP1 = util.getConfig("host_ip1")
HOSTIP2 = util.getConfig("host_ip2")
HOSTIP3 = util.getConfig("host_ip3")
USERNAME = util.getConfig("host_username")
PASSWORD = util.getConfig("host_password")
SCRIPTPATH = util.getConfig("script_path")
SELF = 'self'

def simpleARPFlood():
    '''Procedure to execute simple ARP flood'''
    print "attack started"
    statBefore = util.verifyPing(HOSTIP2, USERNAME, PASSWORD, SCRIPTPATH, HOSTIP3, 'beforeattack')
    q1 = queue.Queue()
    time.sleep(1)
    # Using threads to execute test and verify the test case simultaneously
    t1 = threading.Thread(target=util.ARPGenerator, args=(HOSTIP3, SELF))
    t2 = threading.Thread(target=util.verifyPing, args=(HOSTIP2, USERNAME, PASSWORD, SCRIPTPATH, HOSTIP3, 'afterattack', q1))
    t1.setDaemon(True)
    t2.setDaemon(True)
    t2.start()
    time.sleep(2)
    t1.start()
    result1 = q1.get()
    t1, t2, q1 = None, None, None
Пример #21
0
################################################################################
import xbmc, xbmcgui, xbmcplugin, xbmcaddon
import os

import util, simplelauncher

ADDON_ID = 'emulator.tools.retroarch'

addon = xbmcaddon.Addon(id=ADDON_ID)
addon_dir = xbmc.translatePath(addon.getAddonInfo('path'))
addonfolder = addon.getAddonInfo('path')

icon = addonfolder + '/icon.png'
fanart = addonfolder + '/fanart.jpg'

if util.getConfig("simple_launcher_enabled") == "true":

    # Parse parameters
    parameters = util.parseParameters()

    if 'm' in parameters:
        simplelauncher.launchMenu(parameters)
    elif 'r' in parameters:
        simplelauncher.playGame(parameters)
    elif 'f' in parameters:
        simplelauncher.listGames(parameters, fanart,
                                 addon.getLocalizedString(30005))
    else:
        simplelauncher.buildMenu(fanart, addon.getLocalizedString(30004))
    # Ends list of items for xbmc
    util.endListing()
Пример #22
0
    # ---------- 放置表情包 ----------
    bqb_path = config.get('biaoqingbao', 'bqb_path')
    bqb_name = random.choice(os.listdir(bqb_path))
    bqb_img = cv2.imread(os.path.join(bqb_path, bqb_name))

    bqb_center_x = int(
        config.getfloat('biaoqingbao', 'bqb_center_x') * page_width)
    bqb_center_y = int(
        config.getfloat('biaoqingbao', 'bqb_center_y') * page_height)
    max_width = int(config.getfloat('biaoqingbao', 'max_width') * page_width)
    max_height = int(
        config.getfloat('biaoqingbao', 'max_height') * page_height)

    background = util.putImgToBackGr(bqb_img, background, bqb_center_x,
                                     bqb_center_y, max_width, max_height)

    cv2.imwrite('output_{}.png'.format(idx), background)


filename = 'CFG.ini'
config = util.getConfig(filename)

for i in range(1, 7 + 1):

    main(config, i)
    date_str = config.get('date', 'date')
    date_obj = datetime.strptime(date_str, '%Y-%m-%d')
    date_obj += timedelta(days=1)
    date_str = date_obj.strftime('%Y-%m-%d')
    config.set('date', 'date', date_str)
Пример #23
0
def getWks(sheetName):

    config = util.getConfig()
    gc = prepare(config)

    return gc.open_by_key(config['GOOGLE']['SPREADSHEET']).worksheet(sheetName)
def buildMenu(fanart=None, searchString='SEARCH'):
     
     if util.getConfig("core_1_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_1_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_1_lib"))
          myParam['l'] = util.getConfig("core_1_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_1_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_2_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_2_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_2_lib"))
          myParam['l'] = util.getConfig("core_2_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_2_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_3_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_3_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_3_lib"))
          myParam['l'] = util.getConfig("core_3_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_3_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_4_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_4_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_4_lib"))
          myParam['l'] = util.getConfig("core_4_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_4_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_5_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_5_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_5_lib"))
          myParam['l'] = util.getConfig("core_5_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_5_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_6_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_6_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_6_lib"))
          myParam['l'] = util.getConfig("core_6_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_6_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_7_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_7_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_7_lib"))
          myParam['l'] = util.getConfig("core_7_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_7_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_8_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_8_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_8_lib"))
          myParam['l'] = util.getConfig("core_8_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_8_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_9_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_9_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_9_lib"))
          myParam['l'] = util.getConfig("core_9_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_9_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_10_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_10_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_10_lib"))
          myParam['l'] = util.getConfig("core_10_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_10_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_11_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_11_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_11_lib"))
          myParam['l'] = util.getConfig("core_11_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_11_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_12_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_12_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_12_lib"))
          myParam['l'] = util.getConfig("core_12_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_12_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_13_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_13_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_13_lib"))
          myParam['l'] = util.getConfig("core_13_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_13_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_14_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_14_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_14_lib"))
          myParam['l'] = util.getConfig("core_14_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_14_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     if util.getConfig("core_15_lib"):
          myParam = {}
          myParam['f'] = util.getConfig("core_15_folder")
          myParam['c'] = util.getCoreName(util.getConfig("core_15_lib"))
          myParam['l'] = util.getConfig("core_15_lib")
          myIcon = util.getCoreIcon(myParam['l'])
          util.addMenuItem(util.getCoreNiceName(util.getConfig("core_15_lib")), util.makeLink(myParam), icon=myIcon, thumbnail=None, folder=True, fanart=fanart)

     # Add direct call to retroarch menu
     myParam = {}
     myParam['m'] = "show+menu"
     util.addMenuItem(EMU_MENU_LABEL, util.makeLink(myParam), icon=None, thumbnail=None, folder=True, fanart=fanart)
Пример #25
0
    def __init__(self, father, pwmIr, pwmWhite):

        exam = util.getExam()
        config = util.getConfig()

        # ____ JANELA DE PREVIEW
        self.camera = PiCamera()
        self.widthWindowPreview = 640
        self.heightWindowPreview = 480
        self.yControl = int((exam['monitorHeight'] / 2) -
                            (self.heightWindowPreview / 2) - 135)
        self.xControl = int((exam['monitorWidth'] / 2) -
                            (self.widthWindowPreview / 2))

        for key in config['resolutions']:
            if key['resName'] == "Mode " + str(exam["cameraMode"]):
                self.camera.sensor_mode = exam["cameraMode"]
                self.camera.resolution = (key['width'], key['height'])
        self.camera.start_preview(fullscreen=False,
                                  window=(self.xControl, self.yControl,
                                          self.widthWindowPreview,
                                          self.heightWindowPreview))

        # ____ JANELA DE CONTROLES

        widthWindowControl = 832
        heightWindowControl = 230
        yControl = int((exam['monitorHeight'] / 2) -
                       (heightWindowControl / 2) + 230)
        xControl = int((exam['monitorWidth'] / 2) - (widthWindowControl / 2))

        self.window = Toplevel()
        self.window.title("Preview")
        self.window.minsize(widthWindowControl, heightWindowControl)
        self.window.geometry('{}x{}+{}+{}'.format(widthWindowControl,
                                                  heightWindowControl,
                                                  xControl, yControl))
        self.window.resizable(False, False)
        self.window.config(padx=5, pady=5)
        self.window.transient(father)
        self.window.focus_force()
        self.window.grab_set()

        self.pwmIr = pwmIr
        self.pwmWhite = pwmWhite

        self.root = Frame(self.window)
        self.root.pack(fill="both", expand="True")

        # Frame dos controles
        f_controles = Frame(self.root, bg="blue")
        f_controles.grid(column=0, row=0, sticky=N + S + E + W)

        # Coluna de controle dos leds
        f_led = Frame(f_controles, border=1, relief="groove")
        f_led.grid(column=0, row=0)
        Label(f_led, text="Luminosidade").grid(row=0,
                                               column=0,
                                               columnspan=4,
                                               padx=5,
                                               pady=5)

        Label(f_led, text="IR").grid(column=0,
                                     row=1,
                                     sticky=N + S + E + W,
                                     padx=5,
                                     pady=5)
        self.irScale = Scale(f_led,
                             from_=0,
                             to=100,
                             showvalue="False",
                             orient="horizontal",
                             command=self.ledIrChange)
        self.irScale.grid(column=1,
                          row=1,
                          sticky=N + S + E + W,
                          padx=5,
                          pady=5)
        self.irScale.set(exam['ledIr'])
        self.irValue = Label(f_led, text="%03d" % exam['ledIr'])
        self.irValue.grid(column=2,
                          row=1,
                          sticky=N + S + E + W,
                          padx=5,
                          pady=5)

        Label(f_led, text="BR").grid(column=0,
                                     row=2,
                                     sticky=N + S + E + W,
                                     padx=5,
                                     pady=5)
        self.brScale = Scale(f_led,
                             from_=0,
                             to=100,
                             showvalue="False",
                             orient="horizontal",
                             command=self.ledBrChange)
        self.brScale.grid(column=1,
                          row=2,
                          sticky=N + S + E + W,
                          padx=5,
                          pady=5)
        self.brScale.set(exam['ledBr'])
        self.brValue = Label(f_led, text="%03d" % exam['ledBr'])
        self.brValue.grid(column=2,
                          row=2,
                          sticky=N + S + E + W,
                          padx=5,
                          pady=5)

        # Coluna de controles rápidos
        fFast = Frame(f_controles, border=1, relief="groove")
        fFast.grid(column=1, row=0)
        Label(fFast, text="Controles Rápidos").grid(row=0,
                                                    column=0,
                                                    columnspan=6,
                                                    padx=5,
                                                    pady=5)

        Label(fFast, text="Brilho").grid(column=0,
                                         row=1,
                                         sticky=N + S + E + W,
                                         padx=5,
                                         pady=5)
        self.brilhoScale = Scale(fFast,
                                 from_=0,
                                 to=100,
                                 showvalue="False",
                                 orient="horizontal",
                                 command=self.brilhoChange)
        self.brilhoScale.grid(column=1,
                              row=1,
                              sticky=N + S + E + W,
                              padx=5,
                              pady=5)
        self.brilhoScale.set(exam['brilho'])
        self.brilhoValue = Label(fFast, text="%03d" % exam['brilho'])
        self.brilhoValue.grid(column=2,
                              row=1,
                              sticky=N + S + E + W,
                              padx=5,
                              pady=5)

        Label(fFast, text="Contraste").grid(column=0,
                                            row=2,
                                            sticky=N + S + E + W,
                                            padx=5,
                                            pady=5)
        self.contrasteScale = Scale(fFast,
                                    from_=0,
                                    to=100,
                                    showvalue="False",
                                    orient="horizontal",
                                    command=self.contrasteChange)
        self.contrasteScale.grid(column=1,
                                 row=2,
                                 sticky=N + S + E + W,
                                 padx=5,
                                 pady=5)
        self.contrasteScale.set(exam['contraste'])
        self.contrasteValue = Label(fFast, text="%03d" % exam['contraste'])
        self.contrasteValue.grid(column=2,
                                 row=2,
                                 sticky=N + S + E + W,
                                 padx=5,
                                 pady=5)

        Label(fFast, text="Saturação").grid(column=3,
                                            row=1,
                                            sticky=N + S + E + W,
                                            padx=5,
                                            pady=5)
        self.saturacaoScale = Scale(fFast,
                                    from_=0,
                                    to=100,
                                    showvalue="False",
                                    orient="horizontal",
                                    command=self.saturacaoChange)
        self.saturacaoScale.grid(column=4,
                                 row=1,
                                 sticky=N + S + E + W,
                                 padx=5,
                                 pady=5)
        self.saturacaoScale.set(exam['saturacao'])
        self.saturacaoValue = Label(fFast, text="%03d" % exam['saturacao'])
        self.saturacaoValue.grid(column=5,
                                 row=1,
                                 sticky=N + S + E + W,
                                 padx=5,
                                 pady=5)

        Label(fFast, text="Nitidez").grid(column=3,
                                          row=2,
                                          sticky=N + S + E + W,
                                          padx=5,
                                          pady=5)
        self.nitidezScale = Scale(fFast,
                                  from_=0,
                                  to=100,
                                  showvalue="False",
                                  orient="horizontal",
                                  command=self.nitidezChange)
        self.nitidezScale.grid(column=4,
                               row=2,
                               sticky=N + S + E + W,
                               padx=5,
                               pady=5)
        self.nitidezScale.set(exam['nitidez'])
        self.nitidezValue = Label(fFast, text="%03d" % exam['nitidez'])
        self.nitidezValue.grid(column=5,
                               row=2,
                               sticky=N + S + E + W,
                               padx=5,
                               pady=5)

        # Coluna de cores
        fCores = Frame(f_controles, border=1, relief="groove")
        fCores.grid(column=3, row=0, rowspan=2, sticky=N + S + E + W)
        Label(fCores, text="Controle de cores").grid(row=0,
                                                     column=0,
                                                     columnspan=6,
                                                     padx=5,
                                                     pady=5)

        self.vCor = BooleanVar()
        self.checkCores = Checkbutton(fCores,
                                      text="Filtro de cores",
                                      var=self.vCor,
                                      offvalue=False,
                                      onvalue=True,
                                      command=self.enableCores)
        self.checkCores.grid(column=0,
                             row=1,
                             columnspan=3,
                             sticky=N + S + E + W)

        Label(fCores, text="R").grid(column=0,
                                     row=2,
                                     sticky=N + S + E + W,
                                     padx=5,
                                     pady=5)
        self.rScale = Scale(fCores,
                            from_=0,
                            to=255,
                            showvalue="False",
                            orient="horizontal",
                            command=self.rChange)
        self.rScale.grid(column=1, row=2, sticky=N + S + E + W, padx=5, pady=5)
        self.rScale.set(exam['rColor'])
        self.rValue = Label(fCores, text="%03d" % exam['rColor'])
        self.rValue.grid(column=2, row=2, sticky=N + S + E + W, padx=5, pady=5)

        Label(fCores, text="G").grid(column=0,
                                     row=3,
                                     sticky=N + S + E + W,
                                     padx=5,
                                     pady=5)
        self.gScale = Scale(fCores,
                            from_=0,
                            to=255,
                            showvalue="False",
                            orient="horizontal",
                            command=self.gChange)
        self.gScale.grid(column=1, row=3, sticky=N + S + E + W, padx=5, pady=5)
        self.gScale.set(exam['gColor'])
        self.gValue = Label(fCores, text="%03d" % exam['gColor'])
        self.gValue.grid(column=2, row=3, sticky=N + S + E + W, padx=5, pady=5)

        Label(fCores, text="B").grid(column=0,
                                     row=4,
                                     sticky=N + S + E + W,
                                     padx=5,
                                     pady=5)
        self.bScale = Scale(fCores,
                            from_=0,
                            to=255,
                            showvalue="False",
                            orient="horizontal",
                            command=self.bChange)
        self.bScale.grid(column=1, row=4, sticky=N + S + E + W, padx=5, pady=5)
        self.bScale.set(exam['bColor'])
        self.bValue = Label(fCores, text="%03d" % exam['bColor'])
        self.bValue.grid(column=2, row=4, sticky=N + S + E + W, padx=5, pady=5)

        self.canvasCor = Canvas(fCores, width=20, height=20)
        self.canvasCor.grid(column=0,
                            row=5,
                            columnspan=3,
                            sticky=N + S + E + W,
                            padx=5,
                            pady=5)
        self.updateCanvasCor(exam['rColor'], exam['gColor'], exam['bColor'])

        if exam['colorEfect'] is True:
            self.checkCores.select()
            self.vCor.set(True)

        else:
            self.checkCores.deselect()
            self.vCor.set(False)

        self.enableCores()

        # Linha de captura
        fCaptura = Frame(f_controles, border=1, relief="groove")
        fCaptura.grid(column=0, row=1, columnspan=2, sticky=N + S + E + W)
        Label(fCaptura, text="Captura").grid(row=0,
                                             column=0,
                                             columnspan=6,
                                             padx=5,
                                             pady=5)

        Label(fCaptura, text="Modo de captura").grid(row=1,
                                                     column=0,
                                                     sticky="W",
                                                     padx=3,
                                                     pady=3)
        self.SensorModeCombo = ttk.Combobox(fCaptura,
                                            state='readonly',
                                            width=60)
        self.SensorModeCombo.grid(row=1,
                                  column=1,
                                  columnspan=2,
                                  sticky=W + E,
                                  padx=3,
                                  pady=3)
        self.SensorModeCombo['values'] = [ \
                'Mode 1: to 1920x1080 1-30 fps ',
                'Mode 2: to 2592x1944 1-15 fps Image',
                'Mode 3: to 2592x1944 0.1666-1 fps Image',
                'Mode 4: to 1296x972  1-42 fps',
                'Mode 5: to 1296x730  1-49 fps',
                'Mode 6: to 640x480   42.1-60 fps',
                'Mode 7: to 640x480   60.1-90 fps'
                ]
        self.SensorModeCombo.current(exam['cameraMode'] - 1)
        self.SensorModeCombo.bind('<<ComboboxSelected>>',
                                  self.sensorModeChanged)

        # FrameRate
        Label(fCaptura, text="Frame Rate:").grid(column=0,
                                                 row=2,
                                                 sticky=W,
                                                 padx=3,
                                                 pady=3)
        self.fpsScale = Scale(fCaptura,
                              resolution=0.01,
                              length=450,
                              showvalue="False",
                              orient="horizontal",
                              command=self.fpsChange)
        self.fpsScale.grid(column=1, row=2, sticky=E + W, padx=5, pady=5)
        for key in config['resolutions']:
            if key['resName'] == "Mode " + str(self.SensorModeCombo.current() +
                                               1):
                self.fpsScale.config(to=key['maxfps'], from_=key['minfps'])
        self.fpsScale.set(exam['fps'])
        self.fpsValue = Label(fCaptura, text=exam['fps'])
        self.fpsValue.grid(column=2, row=2, sticky=E, padx=5, pady=5)

        #Frame dos botões
        fButtons = Frame(self.root)
        fButtons.grid(column=0, row=1, pady=5)
        self.cancelar = Button(fButtons,
                               text="Descartar configurações",
                               command=lambda: self._close()).grid(column=0,
                                                                   row=0,
                                                                   padx=5,
                                                                   pady=5)
        self.gravar = Button(fButtons,
                             text="Salvar Configurações",
                             command=lambda: self._salvar()).grid(column=1,
                                                                  row=0,
                                                                  padx=5,
                                                                  pady=5)

        self.window.protocol("WM_DELETE_WINDOW", self._close)
        self.window.mainloop()
Пример #26
0
'''This program will connect to the DELTA Agent Manager
and execute the layer 2 attack requested by the user
'''
import socket
import time
import sys
import struct
import attack_test
import util

AGENTMANAGERIP = util.getConfig("agent_manager_ip")
AGENTMANAGERPORT = util.getConfig("agent_manager_port")
BUFFERLEN = 1024

clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:
    clientSocket.connect((AGENTMANAGERIP, int(AGENTMANAGERPORT)))            # Connect to DELTA Agent Manager
    size = len('L2HostAgent')
    clientSocket.send(struct.pack("!H", size))
    clientSocket.send('L2HostAgent')                                         # Send the Agent name
except Exception as e:
    print 'Unable to connect to server', e
    sys.exit()

while 1:
    try:
        data = clientSocket.recv(BUFFERLEN)
        print "Agent Manager sent :"+data
        data = data.strip()
        time.sleep(5)
Пример #27
0
def display(req):
    config = getConfig()
    return render(req, 'display.html', {'config': config})
Пример #28
0
    def _gravar(self):
        global exam

        if (self._validate()):
            exam = util.getExam()
            config = util.getConfig()

            exam['saveLocation'] = self.vDirectory.get()
            exam['exMin'] = self.v_min.get()
            exam['exSeg'] = self.v_seg.get()

            tempo = int(self.v_min.get()) * 60 + int(self.v_seg.get())

            util.setExam(exam)

            red = exam['rColor']
            green = exam['gColor']
            blue = exam['bColor']

            y = float(0.299 * red) + float(0.587 * green) + float(0.114 * blue)
            u = float(0.492 * (blue - y))
            v = float(0.877 * (red - y))

            if (platform.system() == "Linux"):
                self.pwmIr.ChangeDutyCycle(exam['ledIr'])
                self.pwmWhite.ChangeDutyCycle(exam['ledBr'])

                with picamera.PiCamera() as camera:
                    camera.sensor_mode = exam["cameraMode"]
                    for key in config['resolutions']:
                        if key['resName'] == "Mode " + str(exam["cameraMode"]):
                            camera.resolution = (key['width'], key['height'])

                    camera.framerate = exam['fps']

                    camera.brightness = exam['brilho']
                    camera.contrast = exam['contraste']
                    camera.sharpness = exam['nitidez']
                    camera.saturation = exam['saturacao']
                    if exam['colorEfect']:
                        camera.color_effects = (u, v)

                    camera.start_preview()
                    camera.start_recording('temp.h264')
                    camera.wait_recording(tempo)
                    camera.stop_recording()
                    camera.stop_preview()
                    camera.close()

                self.pwmIr.ChangeDutyCycle(0)
                self.pwmWhite.ChangeDutyCycle(0)

                now = datetime.now()
                nowstr = now.strftime("%Y-%m-%d %H:%M:%S")

                command = "MP4Box -fps %d -add temp.h264 exame.mp4" % (
                    exam['fps'])
                subprocess.check_output(command, shell=True)

                location = os.getcwd() + '/temp.h264'
                os.remove(location)  # remove o arquivo temporario

                location = os.getcwd() + '/exame.mp4'

                if os.path.isfile("exame.mp4"):
                    result = messagebox.askquestion(
                        "Salvar", "Deseja salvar o arquivo?")
                    if result == 'yes':
                        nowstr = now.strftime("%Y%m%d%H%M%S")
                        pasta = exam['saveLocation'] + '/' + nowstr
                        os.mkdir(pasta)
                        os.link("exame.mp4", str(pasta + "/exame.mp4"))

                    os.remove(location)  # remove o arquivo temporario

                    # Cria arquivo de dados
                    dados = {
                        # Dados da aquisição
                        "data": now.strftime("%Y-%m-%d"),
                        "hora": now.strftime("%H:%M:%S"),
                        "ledIr": exam["ledIr"],
                        "ledBr": exam["ledBr"],
                        "contraste": exam["contraste"],
                        "saturacao": exam["saturacao"],
                        "nitidez": exam["nitidez"],
                        "brilho": exam["brilho"],
                        "cameraMode": exam["cameraMode"],
                        "fps": exam['fps'],
                        "colorEfect": exam['colorEfect'],
                        "rColor": exam['rColor'],
                        "bColor": exam['gColor'],
                        "gColor": exam['bColor'],

                        # Dados do paciente
                        "pacienteAnonimo": self.pacienteAnonimo.get(),
                        "nome": self.eNome.get(),
                        "dataNascimento": self.eNascimento.get(),
                        "sexo": self.vSexo.get(),
                        "estadoCivil": self.comboECivil.get(),
                        "profisao": self.eProfisao.get(),
                        "telefone": self.eTelefone.get(),
                        "problemaSaude": self.vPSaude.get(),
                        "tProblemaSaude": self.ePSaude.get(),
                        "medicamento": self.vMedicamento.get(),
                        "tMedicamento": self.eMedicamento.get(),
                        "tratamento": self.vTratamento.get(),
                        "tTratamento": self.eTratamento.get(),
                        "alergia": self.vAlergia.get(),
                        "tAlergia": self.eAlergia.get(),
                        "lentes": self.vLentes.get(),

                        # Obsercações
                        "observacoes": self.tObservacao.get("1.0", END)
                    }
                    util.setDados(pasta, dados)

                else:
                    messagebox.showerror(
                        "Erro", "Algo deu errado na gravação do arquivo")

            else:
                print("Faria um vídeo de ", tempo,
                      " segundos se estivesse no raspberry")
Пример #29
0
    def __init__(self):
        super().__init__()

        exam = util.getExam()
        config = util.getConfig()

        self.l_footer.set("Modo de captura")

        # __________________________________________________________________________________________________________
        # Frame Raiz
        root = Frame(self, padx=3, pady=3)
        root.pack(expand="True", fill="both")

        # __________________________________________________________________________________________________________
        # Frame Dados
        dados = Frame(root, border=1, relief="raised")
        dados.pack(expand="True", fill="both")

        dadosPaciente = Frame(dados, border=1, relief="groove")
        dadosPaciente.grid(row=0, column=0, sticky="W", padx=3, pady=3)
        Label(dadosPaciente, text="Dados do paciente",
              font='bold').grid(row=0, column=0, sticky=W, padx=3, pady=3)

        self.pacienteAnonimo = BooleanVar()
        self.pacienteAnonimo.set(False)
        self.checkAnonimo = Checkbutton(dadosPaciente,
                                        text="Paciente anônimo",
                                        var=self.pacienteAnonimo,
                                        offvalue=False,
                                        onvalue=True,
                                        command=self._checkAnonimo)
        self.checkAnonimo.grid(column=6, row=0, sticky=E)

        # Dados linha 1
        Label(dadosPaciente, text="Nome").grid(row=1,
                                               column=0,
                                               sticky="W",
                                               padx=3,
                                               pady=3)
        self.eNome = Entry(dadosPaciente)
        self.eNome.grid(row=1,
                        column=1,
                        columnspan=7,
                        sticky=W + E,
                        padx=3,
                        pady=3)

        # Dados linha 2
        Label(dadosPaciente, text="Data de nascimento").grid(row=2,
                                                             column=0,
                                                             sticky="W",
                                                             padx=3,
                                                             pady=3)
        self.eNascimento = Entry(dadosPaciente, width=10)
        self.eNascimento.grid(row=2, column=1, sticky=W + E, padx=3, pady=3)
        Label(dadosPaciente, text="Sexo").grid(row=2,
                                               column=2,
                                               sticky=W + E,
                                               padx=3,
                                               pady=3)
        self.vSexo = StringVar()
        self.vSexo.set("M")
        self.radioM = Radiobutton(dadosPaciente,
                                  text="Masculino",
                                  variable=self.vSexo,
                                  value="M")
        self.radioM.grid(row=2, column=3, sticky=W + E, padx=3, pady=3)
        self.radioF = Radiobutton(dadosPaciente,
                                  text="Feminino",
                                  variable=self.vSexo,
                                  value="F")
        self.radioF.grid(row=2, column=4, sticky=W + E, padx=3, pady=3)
        Label(dadosPaciente, text="Estado civil").grid(row=2,
                                                       column=5,
                                                       sticky=W + E,
                                                       padx=3,
                                                       pady=3)
        self.comboECivil = ttk.Combobox(dadosPaciente,
                                        state='readonly',
                                        width=10)
        self.comboECivil.grid(row=2,
                              column=6,
                              columnspan=2,
                              sticky=W + E,
                              padx=3,
                              pady=3)
        self.comboECivil['values'] = [ \
                'Solteiro',
                'Casado',
                'Divorciado',
                'Separado',
                'Viúvo',
                ]

        # Dados linha 3
        Label(dadosPaciente, text="Profisão").grid(row=3,
                                                   column=0,
                                                   sticky="W",
                                                   padx=3,
                                                   pady=3)
        self.eProfisao = Entry(dadosPaciente)
        self.eProfisao.grid(row=3,
                            column=1,
                            columnspan=4,
                            sticky=W + E,
                            padx=3,
                            pady=3)
        Label(dadosPaciente, text="Telefone").grid(row=3,
                                                   column=5,
                                                   sticky="W",
                                                   padx=3,
                                                   pady=3)
        self.eTelefone = Entry(dadosPaciente, width=15)
        self.eTelefone.grid(row=3, column=6, sticky=W + E, padx=3, pady=3)

        # Dados linha 4
        fAnamnese = Frame(dadosPaciente, border=1, relief="groove")
        fAnamnese.grid(row=4, column=0, columnspan=7, sticky=W, padx=3, pady=3)
        Label(fAnamnese, text="Anamnese", font='bold').grid(row=0,
                                                            column=0,
                                                            sticky=W,
                                                            padx=3,
                                                            pady=3)

        # Anamnese linha 1
        Label(fAnamnese, text="Possui problema de saúde?").grid(row=1,
                                                                column=0,
                                                                sticky=W,
                                                                padx=3,
                                                                pady=3)
        self.vPSaude = StringVar()
        self.vPSaude.set("N")
        self.radioSPSaude = Radiobutton(fAnamnese,
                                        text="Sim",
                                        variable=self.vPSaude,
                                        value="S",
                                        command=self._changePSaude)
        self.radioSPSaude.grid(row=1, column=1, sticky=W, padx=3, pady=3)
        self.radioNPSaude = Radiobutton(fAnamnese,
                                        text="Não",
                                        variable=self.vPSaude,
                                        value="N",
                                        command=self._changePSaude)
        self.radioNPSaude.grid(row=1, column=2, sticky=W, padx=3, pady=3)
        Label(fAnamnese, text="Qual?").grid(row=1,
                                            column=3,
                                            sticky=W,
                                            padx=3,
                                            pady=3)
        self.ePSaude = Entry(fAnamnese, width=27)
        self.ePSaude.config(state='disabled')
        self.ePSaude.grid(row=1, column=4, sticky=W + E, padx=3, pady=3)

        # Anamnese linha 2
        Label(fAnamnese, text="Usa algum medicamento?").grid(row=2,
                                                             column=0,
                                                             sticky=W,
                                                             padx=3,
                                                             pady=3)
        self.vMedicamento = StringVar()
        self.vMedicamento.set("N")
        self.radioSMedicamento = Radiobutton(fAnamnese,
                                             text="Sim",
                                             variable=self.vMedicamento,
                                             value="S",
                                             command=self._changeMedicamento)
        self.radioSMedicamento.grid(row=2, column=1, sticky=W, padx=3, pady=3)
        self.radioNMedicamento = Radiobutton(fAnamnese,
                                             text="Não",
                                             variable=self.vMedicamento,
                                             value="N",
                                             command=self._changeMedicamento)
        self.radioNMedicamento.grid(row=2, column=2, sticky=W, padx=3, pady=3)
        Label(fAnamnese, text="Qual?").grid(row=2,
                                            column=3,
                                            sticky=W,
                                            padx=3,
                                            pady=3)
        self.eMedicamento = Entry(fAnamnese)
        self.eMedicamento.config(state='disabled')
        self.eMedicamento.grid(row=2, column=4, sticky=W + E, padx=3, pady=3)

        # Anamnese linha 3
        Label(fAnamnese,
              text="Está sob algum tratamento médico?").grid(row=3,
                                                             column=0,
                                                             sticky=W,
                                                             padx=3,
                                                             pady=3)
        self.vTratamento = StringVar()
        self.vTratamento.set("N")
        self.radioSTratamento = Radiobutton(fAnamnese,
                                            text="Sim",
                                            variable=self.vTratamento,
                                            value="S",
                                            command=self._changeTratamento)
        self.radioSTratamento.grid(row=3, column=1, sticky=W, padx=3, pady=3)
        self.radioNTratamento = Radiobutton(fAnamnese,
                                            text="Não",
                                            variable=self.vTratamento,
                                            value="N",
                                            command=self._changeTratamento)
        self.radioNTratamento.grid(row=3, column=2, sticky=W, padx=3, pady=3)
        Label(fAnamnese, text="Por que?").grid(row=3,
                                               column=3,
                                               sticky=W,
                                               padx=3,
                                               pady=3)
        self.eTratamento = Entry(fAnamnese)
        self.eTratamento.config(state='disabled')
        self.eTratamento.grid(row=3, column=4, sticky=W + E, padx=3, pady=3)

        # Anamnese linha 4
        Label(fAnamnese,
              text="Possui alergia a algum medicamento?").grid(row=4,
                                                               column=0,
                                                               sticky=W,
                                                               padx=3,
                                                               pady=3)
        self.vAlergia = StringVar()
        self.vAlergia.set("N")
        self.radioSAlergia = Radiobutton(fAnamnese,
                                         text="Sim",
                                         variable=self.vAlergia,
                                         value="S",
                                         command=self._changeAlergia)
        self.radioSAlergia.grid(row=4, column=1, sticky=W, padx=3, pady=3)
        self.radioNAlergia = Radiobutton(fAnamnese,
                                         text="Não",
                                         variable=self.vAlergia,
                                         value="N",
                                         command=self._changeAlergia)
        self.radioNAlergia.grid(row=4, column=2, sticky=W, padx=3, pady=3)
        Label(fAnamnese, text="Qual?").grid(row=4,
                                            column=3,
                                            sticky=W,
                                            padx=3,
                                            pady=3)
        self.eAlergia = Entry(fAnamnese)
        self.eAlergia.config(state='disabled')
        self.eAlergia.grid(row=4, column=4, sticky=W + E, padx=3, pady=3)

        # Anamnese linha 5
        Label(fAnamnese, text="Usa lentes corretivas?").grid(row=5,
                                                             column=0,
                                                             sticky="W",
                                                             padx=3,
                                                             pady=3)
        self.vLentes = StringVar()
        self.vLentes.set("N")
        self.radioLLentes = Radiobutton(fAnamnese,
                                        text="Lentes",
                                        variable=self.vLentes,
                                        value="L")
        self.radioLLentes.grid(row=5, column=1, sticky=W, padx=3, pady=3)
        self.radioOLentes = Radiobutton(fAnamnese,
                                        text="Óculos",
                                        variable=self.vLentes,
                                        value="O")
        self.radioOLentes.grid(row=5, column=2, sticky=W, padx=3, pady=3)
        self.radioNLentes = Radiobutton(fAnamnese,
                                        text="Não",
                                        variable=self.vLentes,
                                        value="N")
        self.radioNLentes.grid(row=5, column=3, sticky=W, padx=3, pady=3)

        observacao = Frame(dados, border=1, relief="groove")
        observacao.grid(row=0, column=1, sticky=E, padx=3, pady=3)
        Label(observacao, text="Observações").grid(row=0,
                                                   column=0,
                                                   columnspan=3,
                                                   sticky=W,
                                                   padx=3,
                                                   pady=3)
        self.tObservacao = Text(observacao, height=17, width=18)
        self.tObservacao.grid(row=1,
                              column=0,
                              columnspan=3,
                              sticky=W + E,
                              padx=3,
                              pady=3)

        exame = Frame(dados, border=1, relief="groove")
        exame.grid(row=1, column=0, columnspan=2, sticky=W + E, padx=3, pady=3)
        Label(exame, text="Exame").grid(row=0,
                                        column=0,
                                        columnspan=3,
                                        sticky="W",
                                        padx=3,
                                        pady=3)

        Label(exame, text="Local").grid(row=1,
                                        column=0,
                                        sticky="W",
                                        padx=3,
                                        pady=3)
        self.vDirectory = StringVar()

        if os.path.exists(exam['saveLocation']):
            self.vDirectory.set(exam['saveLocation'])
        else:
            self.vDirectory.set(os.getcwd())

        self.directory = Entry(exame,
                               textvariable=self.vDirectory,
                               width=88,
                               state="readonly")
        self.directory.grid(row=1, column=1, sticky=E + W, padx=3, pady=3)
        self.bPath = Button(exame,
                            text="Localizar",
                            command=lambda: self._path())
        self.bPath.grid(row=1, column=2, sticky=E, padx=3, pady=3)

        # __________________________________________________________________________________________________________
        # Frame Botões
        buttons = Frame(root)
        buttons.pack(side="bottom", fill="x")

        # Botão de gravar e preview
        self.gravar = Button(buttons,
                             text="Iniciar gravação",
                             command=lambda: self._gravar())
        self.gravar.pack(side="right", fill="y", expand=False, padx=5, pady=5)
        self.preview = Button(buttons,
                              text="Preview",
                              command=lambda: self._preview())
        self.preview.pack(side="right", fill="y", expand=False, padx=5, pady=5)

        # Segundos
        self.v_seg = StringVar()
        self.v_seg.set(exam['exSeg'])
        Label(buttons, text="seg").pack(side="right",
                                        fill="y",
                                        expand=False,
                                        padx=5,
                                        pady=5)
        self.eSeg = Entry(buttons, width=3, textvariable=self.v_seg)
        self.eSeg.pack(side="right", fill="y", expand=False, padx=5, pady=5)

        # Minutos
        self.v_min = StringVar()
        self.v_min.set(exam['exMin'])
        Label(buttons, text="min").pack(side="right",
                                        fill="y",
                                        expand=False,
                                        padx=5,
                                        pady=5)
        self.eMin = Entry(buttons, width=3, textvariable=self.v_min)
        self.eMin.pack(side="right", fill="y", expand=False, padx=5, pady=5)

        Label(buttons, text="Tempo de exposição").pack(side="right",
                                                       fill="y",
                                                       expand=False,
                                                       padx=5,
                                                       pady=5)

        # __________________________________________________________________________________________________________
        # Configuração dos pinos de IO do Raspberry
        # Configura para não mostrar alertas
        gpio.setwarnings(False)

        # Configurando GPIO
        gpio.setmode(gpio.BOARD)
        gpio.setup(38, gpio.OUT)
        gpio.setup(40, gpio.OUT)

        # Configurando o PWM com os valores iniciais de frequencia e dutycicle
        self.pwmIr = gpio.PWM(38, 200)
        self.pwmIr.start(0)
        self.pwmWhite = gpio.PWM(40, 200)
        self.pwmWhite.start(0)
Пример #30
0
    def __init__(self, father, directory):
        super().__init__()

        self.directory = directory
        self.father = father

        self.pos = []
        self.posX = []
        self.posY = []
        self.numFrame = 1
        self.flagDadosPaciente = False
        self.flagDadosAnamnes = False
        self.flagObservacoes = False

        if (self._validate(self.directory)):

            self.cap = cv2.VideoCapture(directory + "/exame.mp4")

            self.frame_seq = int(self.cap.get(7) - 1)

            procDados = open(directory + "/dados.txt", "r")
            for linha in procDados:
                tmp = linha.split("\t")
                self.pos.append(int(tmp[0]))
                self.posX.append(int(tmp[1]))
                self.posY.append(int(tmp[2]))
            procDados.close()

            root = Frame(self, padx=3, pady=3, width=200)
            root.pack(expand="False", fill="both")

            cabecalho = Frame(self, padx=3, pady=3)
            cabecalho.pack(expand=True, fill="x")

            dados = Frame(cabecalho, padx=3, pady=3, relief="groove", border=3)
            dados.pack(expand=True, fill="both", side=LEFT)

            if os.path.isfile(self.directory + "/dados.json"):

                dados.grid_columnconfigure(0, weight=40)
                dados.grid_columnconfigure(1, weight=40)
                dados.grid_columnconfigure(2, weight=40)
                dados.grid_columnconfigure(3, weight=40)

                dadosExame = util.getDados(directory)
                config = util.getConfig()

                f1 = Frame(dados, padx=3, pady=3)
                f1.grid(column=0, row=0, sticky=W + S + N + E)
                Label(f1, text="Dados de captura:",
                      font='Helvetica 10 bold').grid(column=0, row=0, sticky=W)

                width = StringVar()
                height = StringVar()

                for key in config['resolutions']:
                    if key['resName'] == "Mode " + str(
                            dadosExame['cameraMode']):
                        width.set("Comprimento: " + str(key['width']) + "px")
                        height.set("Altura: " + str(key['height']) + "px")

                Label(f1, textvariable=width).grid(column=0, row=1, sticky=W)

                Label(f1, textvariable=height).grid(column=0, row=2, sticky=W)

                fps = StringVar()
                fps.set("FPS: " + str(dadosExame['fps']))
                Label(f1, textvariable=fps).grid(column=0, row=3, sticky=W)

                data = StringVar()
                data.set("Data: " + dadosExame['data'])
                Label(f1, textvariable=data).grid(column=0, row=4, sticky=W)

                hora = StringVar()
                hora.set("Horário: " + dadosExame['hora'])
                Label(f1, textvariable=hora).grid(column=0, row=5, sticky=W)

                f2 = Frame(dados, padx=3, pady=3)
                f2.grid(column=1, row=0, sticky=W + S + N + E)

                Label(f2, text="Luminosidade:",
                      font='Helvetica 10 bold').grid(column=0,
                                                     row=0,
                                                     columnspan=4,
                                                     sticky=W)
                ledIr = StringVar()
                ledIr.set("IR: " + str(dadosExame['ledIr']))
                Label(f2, textvariable=ledIr).grid(column=0, row=1, sticky=W)

                ledBr = StringVar()
                ledBr.set("BR: " + str(dadosExame['ledBr']))
                Label(f2, textvariable=ledBr).grid(column=0, row=2, sticky=W)

                f3 = Frame(dados, padx=3, pady=3)
                f3.grid(column=2, row=0, sticky=W + S + N + E)

                Label(f3, text="Imagem:",
                      font='Helvetica 10 bold').grid(column=0, row=0, sticky=W)
                contraste = StringVar()
                contraste.set("Contraste: " + str(dadosExame['contraste']))
                Label(f3, textvariable=contraste).grid(column=0,
                                                       row=1,
                                                       sticky=W)

                saturacao = StringVar()
                saturacao.set("Saturacao: " + str(dadosExame['saturacao']))
                Label(f3, textvariable=saturacao).grid(column=0,
                                                       row=2,
                                                       sticky=W)

                nitidez = StringVar()
                nitidez.set("Nitidez: " + str(dadosExame['nitidez']))
                Label(f3, textvariable=nitidez).grid(column=0, row=3, sticky=W)

                brilho = StringVar()
                brilho.set("Brilho: " + str(dadosExame['brilho']))
                Label(f3, textvariable=brilho).grid(column=0, row=4, sticky=W)

                f4 = Frame(dados, padx=3, pady=3)
                f4.grid(column=3, row=0, sticky=W + S + N + E)

                if (dadosExame['colorEfect'] is False):
                    Label(f4,
                          text="Efeito de cor: Não",
                          font='Helvetica 10 bold').grid(column=0,
                                                         row=0,
                                                         sticky=W)
                else:
                    Label(f4,
                          text="Efeito de cor: Sim",
                          font='Helvetica 10 bold').grid(column=0,
                                                         row=0,
                                                         sticky=W)

                    rColor = StringVar()
                    rColor.set("R: " + str(dadosExame['rColor']))
                    Label(f4, textvariable=rColor).grid(column=0,
                                                        row=1,
                                                        sticky=W)

                    gColor = StringVar()
                    gColor.set("G: " + str(dadosExame['gColor']))
                    Label(f4, textvariable=gColor).grid(column=0,
                                                        row=2,
                                                        sticky=W)

                    bColor = StringVar()
                    bColor.set("B: " + str(dadosExame['bColor']))
                    Label(f4, textvariable=bColor).grid(column=0,
                                                        row=3,
                                                        sticky=W)
            else:
                Label(
                    dados,
                    text="Não foi possível encontrar o arquivo de dados").grid(
                        column=0, row=0, sticky=W)

            display = Frame(cabecalho,
                            padx=3,
                            pady=3,
                            relief="groove",
                            border=3)
            display.pack(expand=False, fill="both", side=RIGHT)
            self.imgDisplay = Canvas(display, width=173, height=130)
            self.imgDisplay.grid(column=0, row=0, columnspan=3, sticky=W)
            btnBefore = Button(display,
                               text="<",
                               width=5,
                               command=self._frameBefore)
            btnBefore.grid(column=0, row=1, sticky=W)
            self.time = StringVar()
            self.time.set(self.numFrame)
            eTempo = Entry(display, textvariable=self.time, width=4)
            eTempo.bind("<Return>", self._setTempo)
            eTempo.grid(column=1, row=1, sticky=E + W)
            btnAfter = Button(display,
                              text=">",
                              width=5,
                              command=self._frameAfter)
            btnAfter.grid(column=2, row=1, sticky=E)

            botoes = Frame(cabecalho,
                           padx=3,
                           pady=3,
                           relief="groove",
                           border=3)
            botoes.pack(expand=False, fill="both", side=RIGHT)
            btnPaciente = Button(
                botoes,
                text="Paciente",
                width=10,
                command=lambda: self._dadosPaciente(self.directory))
            btnPaciente.grid(column=0, row=0, sticky=W)
            btnAnamnese = Button(
                botoes,
                text="Anamnese",
                width=10,
                command=lambda: self._dadosAnamnese(self.directory))
            btnAnamnese.grid(column=0, row=1, sticky=W)
            btnObservacoes = Button(
                botoes,
                text="Observações",
                width=10,
                command=lambda: self._observacoes(self.directory))
            btnObservacoes.grid(column=0, row=2, sticky=W)
            btnExportar = Button(botoes,
                                 text="Exportar",
                                 width=10,
                                 command=lambda: self._exportar())
            btnExportar.grid(column=0, row=3, sticky=W)

            self.v_posX = StringVar()
            self.v_posX.set("X = " + str(self.posX[self.numFrame]))
            lPosX = Label(botoes, textvariable=self.v_posX)
            lPosX.grid(column=0, row=4, sticky=W)
            self.v_posY = StringVar()
            self.v_posY.set("Y = " + str(self.posY[self.numFrame]))
            lPosY = Label(botoes, textvariable=self.v_posY)
            lPosY.grid(column=0, row=5, sticky=W)

            # --------------- GRÁFICO DE X -------------------
            chartX = Figure(figsize=(10, 2), facecolor='white')

            self.xAxis = chartX.add_subplot(111)  # 1 row, 1 column
            self.xTValues = self.pos
            self.xValues = self.posX
            self.xTimeBar = [np.min(self.posX), np.max(self.posX)]
            self.xAxis.plot(self.xTValues, self.xValues)
            self.xAxis.plot([self.numFrame, self.numFrame], self.xTimeBar)

            self.xAxis.set_ylabel('Posição X')
            self.xAxis.set_xlabel('Tempo')
            self.xAxis.grid()

            self.canvasX = FigureCanvasTkAgg(chartX, master=self)
            self.canvasX._tkcanvas.pack()

            # --------------- GRÁFICO DE Y -------------------
            chartY = Figure(figsize=(10, 2), facecolor='white')
            self.yAxis = chartY.add_subplot(111)  # 1 row, 1 column
            self.yTValues = self.pos
            self.yValues = self.posY
            self.yTimeBar = [np.min(self.posY), np.max(self.posY)]
            self.yAxis.plot(self.yTValues, self.yValues)
            self.yAxis.plot([self.numFrame, self.numFrame], self.yTimeBar)

            self.yAxis.set_ylabel('Posição Y')
            self.yAxis.set_xlabel('Tempo')
            self.yAxis.grid()

            self.canvasY = FigureCanvasTkAgg(chartY, master=self)
            self.canvasY._tkcanvas.pack()

            self.showFrame(self.numFrame)

        else:
            image = Image.open("resources/horus.png")
            image = image.resize((580, 168), Image.ANTIALIAS)
            imagem = ImageTk.PhotoImage(image)
            w = Label(self, image=imagem)
            w.imagem = imagem
            w.pack(expand=True)
Пример #31
0
from os import listdir
from os.path import isfile, join
import os
import re

import util


config = util.getConfig()
basePath = config.basePath
dataPath = "/data"
os.chdir(basePath + "/external")

files = [f for f in listdir(basePath + dataPath) if isfile(join(basePath + dataPath, f))]

if len(files) < 0:
    print "No file found."
else:
    for f in files:
        path = basePath + dataPath + "/" + f
        date = re.sub('\.json.gz$', '', f)
        os.system("sudo ruby flatten.rb -i " + path + " -o ../flatten/" + date)
        os.remove(basePath + dataPath + "/" + f)
Пример #32
0
import string
import sys
import hashlib
from math import sqrt
import features
import os
import util
import pickle
import random
from sklearn.ensemble import RandomForestClassifier
from nltk.parse.stanford import StanfordDependencyParser

weight = 0
ACCURACY_THRESHOLD = 0.03

conf = util.getConfig()

toBool = lambda str: True if str == "True" else False
DEBUG_ASSOC = toBool(conf["DEBUG"]["assoc"])
DEBUG_WEIGHT = toBool(conf["DEBUG"]["weight"])
DEBUG_ITEMID = toBool(conf["DEBUG"]["itemid"])
DEBUG_MATCH = toBool(conf["DEBUG"]["match"])

STATEMENTS = [
    "Thanks, I've made a note of that.", "Thanks for telling me that.",
    "OK, I've stored that information.", "OK, I've made a note of that."
]

JAVA_HOME = conf["Java"]["bin"]
STANFORD_NLP = conf["StanfordNLP"]["corejar"]
STANFORD_MODEL = conf["StanfordNLP"]["modelsjar"]