Example #1
0
def get_json(json_str):
	if not util.is_json(json_str):
		raise HttpBadRequestException(
			reason_phrase=make_not_json_request_error()
			)
	
	return json.loads(json_str)
Example #2
0
    def deal_command(self, socket, data):
        sys.path.append("..")
        import config
        import util
        if '0x01' in data:
            #摄像头操作
            global pid
            pid = Communicate().createCamereDaemon()

        elif '0x02' in data:
            #自定义命令
            cus_command = data.split(':')[1]
            if cus_command != '':
                os.system(cus_command)

        elif '0x03' in data:
            util.kill(pid)
            util.folder_move_all(config.FILE_PATH, config.PIC_PATH)

        elif '0x04' in data:
            Communicate().sendFile(socket, config.LOG_PATH)

        elif '0x05' in data:
            key = data.split(':')[1]
            value = data.split(':')[2]
            if key != '' and value != '':
                util.alter("/home/nvidia/Horus/config.py", key, value)

        elif '0x06' in data:
            global envid
            envid = Communicate().createnvDaemon()

        elif '0x07' in data:
            util.kill(envid)

        elif 'test' in data:
            pass

        else:
            if util.is_json(data):
                with open('/home/nvidia/Horus/mysql/sql.cnf') as json_data:
                    cnf = json.load(json_data)
                    db = create_engine(cnf['db'])
                    s = json.loads(data)
                    insert_data = "insert into tb_mobile_sensor(timestamp,accx,accy,accz,gpsLongitude,gpsLatitude,gpsAltitude,gpsSpeed,gpsBearing,light,deviceID,frequency) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" % (
                        s["time"], s["accx"], s["accy"], s["accz"],
                        s["longitude"], s["latitude"], s["altitude"],
                        s["speed"], s["bearing"], s["lightx"], s["deviceID"],
                        s["frequency"])
                    db.execute(insert_data)
def get_num_unique_tweets_by_hashtag():
    #Number tweets by #
    get_hashtags_sql_str = "select tweet_by_user_id, hashtags from tweets"
    hashtags_df = Util.extract_data_into_df(get_hashtags_sql_str)
    tracking_hashtags = ["hashtag1", "hashtag2"]
    hashtags_tweet_usage = dict(zip(tracking_hashtags, [0, 0, 0, 0, 0, 0]))

    for idx, row in hashtags_df.iterrows():
        if Util.is_json(row['hashtags']):
            tweet_htags = json.loads(row['hashtags'])
            tr_htags_present = []
            for s in tweet_htags:
                if Util.is_ascii(s):
                    if s in tracking_hashtags:
                        tr_htags_present.append(s)

            for t in tr_htags_present:
                hashtags_tweet_usage[t] += 1
    return json.dumps(hashtags_tweet_usage)
def get_top_n_tweets_by_hashtag(n):
    #Top N tweets by #
    get_hashtags_sql_str = "select hashtags, text from tweets"
    hashtags_df = Util.extract_data_into_df(get_hashtags_sql_str)
    tracking_hashtags = ['hashtag1', 'hashtag2']
    hashtags_tweet_text = {}

    for idx, row in hashtags_df.iterrows():
        if Util.is_json(row['hashtags']):
            tweet_htags = json.loads(row['hashtags'])
            tr_htags_present = []
            for s in tweet_htags:
                if Util.is_ascii(s):
                    if s in tracking_hashtags:
                        tr_htags_present.append([s, row['text']])

            for t in tr_htags_present:
                if str(t[0]) in hashtags_tweet_text:
                    if len(hashtags_tweet_text[str(t[0])]) <= n:
                        hashtags_tweet_text[str(t[0])].append(t[1])
                else:
                    hashtags_tweet_text[str(t[0])] = [t[1]]

    return json.dumps(hashtags_tweet_text)
Example #5
0
    def deal_command(self, socket, data):
        sys.path.append("..")
        import util
        if '0x01' in data:
            #打开摄像头
            util.Logprint(2, data)
            cmd = '/home/nvidia/Horus/opencamera'
            subprocess.Popen(cmd,
                             shell=True,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.STDOUT)

        elif '0x02' in data:
            #自定义命令
            util.Logprint(2, data)
            cus_command = data.split(':')[1]
            if cus_command != '':
                os.system(cus_command)

        elif '0x03' in data:
            util.Logprint(2, data)
            #关闭摄像头
            pids = psutil.pids()
            for pid in pids:
                p = psutil.Process(pid)
                #                if "python" in p.name():
                #                    ss=p.cmdline()
                #                    if len(ss)>0:
                #                        if ss[1]=="/home/nvidia/Horus/opencamera.py":
                #                            util.kill(pid)
                #                    util.Logprint(1,data)
                if "opencamera" in p.name():
                    util.kill(pid)

        elif '0x04' in data:
            #发送日志
            # Communicate().sendFile(socket,config.LOG_PATH)
            pass

        elif '0x05' in data:
            import util  #更新config的level值
            util.Logprint(2, data)
            #设置config
            key = data.split(':')[1]
            value = data.split(':')[2]
            #修改K-V
            with open('/home/nvidia/Horus/config.cnf') as f:
                cnf = json.load(f)
                cnf[key] = value
                jsonstr = json.dumps(cnf, ensure_ascii=False, sort_keys=True)
                util.replace('/home/nvidia/Horus/config.cnf', jsonstr)
        elif '0x06' in data:
            util.Logprint(2, data)
            #打开环境传感器
            global envid
            envid = Communicate().createnvDaemon()

        elif '0x07' in data:
            util.Logprint(2, data)
            #关闭环境传感器
            util.kill(envid)
        elif '0x08' in data:
            util.Logprint(2, data)
            obddata = data[5:]
            if util.is_json(obddata):
                with open('/home/nvidia/Horus/config.cnf') as json_data:
                    cnf = json.load(json_data)
                    db = create_engine(cnf['db'])
                    s = json.loads(obddata)
                    insert_data = "insert into tb_obd(timestamp,longitude,latitude,altitude,speed) values (%s,%s,%s,%s,%s)" % (
                        s["timestamp"], s["longitude"], s["latitude"],
                        s["altitude"], s["speed"])
                    db.execute(insert_data)
        elif '0x09' in data:
            util.Logprint(2, data)
            pids = psutil.pids()
            for pid in pids:
                p = psutil.Process(pid)
                if "python" in p.name():
                    ss = p.cmdline()
                    if len(ss) > 0:
                        if ss[1] == "Horus.py":
                            util.kill(pid)
                    util.Logprint(1, data)
                if "Horus" in p.name():
                    util.kill(pid)

#
        elif 'test' in data:
            util.Logprint(1, data)
            #心跳测试和数据库表的条目查询
            Communicate().dbquery(socket)
            pass

        else:
            util.Logprint(1, data)
            #手机端json数据
            if util.is_json(data):
                with open('/home/nvidia/Horus/config.cnf') as json_data:
                    cnf = json.load(json_data)
                    db = create_engine(cnf['db'])
                    s = json.loads(data)
                    insert_data = "insert into tb_mobile_sensor(timestamp,accx,accy,accz,gpsLongitude,gpsLatitude,gpsAltitude,gpsSpeed,gpsBearing,light,deviceID,frequency) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)" % (
                        s["time"], s["accx"], s["accy"], s["accz"],
                        s["longitude"], s["latitude"], s["altitude"],
                        s["speed"], s["bearing"], s["lightx"], s["deviceID"],
                        s["frequency"])
                    db.execute(insert_data)