Пример #1
0
    def __init__(self):
        super(MainWindow, self).__init__()
        #self.ui = mainwindow.Ui_MainWindow()
        #self.ui.setupUi(self)

        self.setStyleSheet(
            css.mainSS('white',
                       'black',
                       MAIN_FONT,
                       pleft=5,
                       ptop=0,
                       border_width=2))

        self.clockLabel = Box(css.boxSS(CLOCK_COLOR, -10, 0, CLOCK_FONT), 40,
                              80)
        self.homeLabel = Box(css.boxSS(HOME_COLOR))
        self.streetLabel = Box(css.boxSS(STREET_COLOR))
        self.balconyLabel = Box(css.boxSS(BALCONY_COLOR))

        self.l1 = QVBoxLayout()
        self.l1.addWidget(self.clockLabel)
        self.l1.addWidget(self.homeLabel)

        self.l2 = QVBoxLayout()
        self.l2.addWidget(self.streetLabel)
        self.l2.addWidget(self.balconyLabel)

        self.l = QHBoxLayout()
        self.l.addLayout(self.l1)
        self.l.addLayout(self.l2)

        self.setLayout(self.l)

        #self.ui.clockLabel.setStyleSheet(css.boxSS(CLOCK_COLOR, -10, 0, CLOCK_FONT))
        #self.ui.homeLabel.setStyleSheet(css.boxSS(HOME_COLOR))
        #self.ui.streetLabel.setStyleSheet(css.boxSS(STREET_COLOR))
        #self.ui.balconyLabel.setStyleSheet(css.boxSS(BALCONY_COLOR))

        #self.showFullScreen()

        #label.setOptions(40, 80)

        self.nm = Narodmon(API_KEY, LOGIN, PASSWORD)
        if not self.nm.auth():
            self.nm = None
            print 'Narodmon failed'

        self.timer = QTimer(self)
        self.timer.timeout.connect(self.setValues)
        self.timer.start(60 * 1000)
        self.setValues()
Пример #2
0
    def __init__(self):
        logging.basicConfig(level = Config.LOGGING_LEVEL)
        logging.info('ArduWeatherApp started')

        try:
            self.narodmonProtocol = Narodmon()
            self.deviceReader = DeviceReader(Config.COM_PORT, Config.COM_SPEED)
        except (serial.SerialException, IOError) as  e:
            logging.error('Error during initialization: ' + str(e))
            sys.exit()
Пример #3
0
def nm_initialized():
    rmac = random_string(random.randint(1, 20))
    rowner = random_string(random.randint(1, 20))
    rname = random_string(random.randint(1, 20))
    rlon = random.uniform(-180, 180)
    rlat = random.uniform(90, 90)
    ralt = random.uniform(-4000, 9000)
    nm = Narodmon(mac=rmac,
                  lat=rlat,
                  lon=rlon,
                  alt=ralt,
                  owner=rowner,
                  name=rname)
    return nm
Пример #4
0
def sensor_data():
    nm = Narodmon()

    def func():
        rid = random_string(random.randint(1, 20))
        rval = random.uniform(-999999, 999999)
        runit = random_string(random.randint(1, 3))
        rutc = random.randint(0, 999999999)
        response = nm.via_json.prepare_sensor_data(id_in=rid,
                                                   value=rval,
                                                   unit=runit,
                                                   utc_time=rutc)
        return response

    return func
Пример #5
0
def test_json_default_init():
    rmac = random_string(random.randint(1, 20))
    rowner = random_string(random.randint(1, 20))
    rname = random_string(random.randint(1, 20))
    rlon = random.uniform(-180, 180)
    rlat = random.uniform(90, 90)
    ralt = random.uniform(-4000, 9000)

    nm = Narodmon(mac=rmac,
                  lat=rlat,
                  lon=rlon,
                  alt=ralt,
                  owner=rowner,
                  name=rname)
    assert_that((nm.via_json.mac, nm.via_json.lon, nm.via_json.lat,
                 nm.via_json.alt, nm.via_json.owner,
                 nm.via_json.name)), contains(rmac, rlon, rlat, ralt, rowner,
                                              rname)
Пример #6
0
class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        #self.ui = mainwindow.Ui_MainWindow()
        #self.ui.setupUi(self)

        self.setStyleSheet(
            css.mainSS('white',
                       'black',
                       MAIN_FONT,
                       pleft=5,
                       ptop=0,
                       border_width=2))

        self.clockLabel = Box(css.boxSS(CLOCK_COLOR, -10, 0, CLOCK_FONT), 40,
                              80)
        self.homeLabel = Box(css.boxSS(HOME_COLOR))
        self.streetLabel = Box(css.boxSS(STREET_COLOR))
        self.balconyLabel = Box(css.boxSS(BALCONY_COLOR))

        self.l1 = QVBoxLayout()
        self.l1.addWidget(self.clockLabel)
        self.l1.addWidget(self.homeLabel)

        self.l2 = QVBoxLayout()
        self.l2.addWidget(self.streetLabel)
        self.l2.addWidget(self.balconyLabel)

        self.l = QHBoxLayout()
        self.l.addLayout(self.l1)
        self.l.addLayout(self.l2)

        self.setLayout(self.l)

        #self.ui.clockLabel.setStyleSheet(css.boxSS(CLOCK_COLOR, -10, 0, CLOCK_FONT))
        #self.ui.homeLabel.setStyleSheet(css.boxSS(HOME_COLOR))
        #self.ui.streetLabel.setStyleSheet(css.boxSS(STREET_COLOR))
        #self.ui.balconyLabel.setStyleSheet(css.boxSS(BALCONY_COLOR))

        #self.showFullScreen()

        #label.setOptions(40, 80)

        self.nm = Narodmon(API_KEY, LOGIN, PASSWORD)
        if not self.nm.auth():
            self.nm = None
            print 'Narodmon failed'

        self.timer = QTimer(self)
        self.timer.timeout.connect(self.setValues)
        self.timer.start(60 * 1000)
        self.setValues()

    def setValues(self):
        if not self.nm:
            return
        data = self.nm.dev_sensors(450)
        bt = 0
        bh = 0

        sensors = data['sensors']
        for sensor in sensors:
            if sensor['id'] == 6374:
                bt = sensor['value']
            elif sensor['id'] == 16626:
                bh = sensor['value']

        self.clockLabel.setText(time.strftime('%H:%M'))
        self.homeLabel.setText(label.PTH(p=000.0, t=-00.00, h=000.0))
        self.streetLabel.setText(label.PTH(t=00.00, h=000.0))
        self.balconyLabel.setText(label.PTH(t=bt, h=bh))
Пример #7
0
def test_json_set_name():
    nm = Narodmon()
    rstring = random_string(random.randint(1, 20))
    nm.via_json.set_name(rstring)
    assert nm.via_json.name == rstring
Пример #8
0
def test_json_set_owner():
    nm = Narodmon()
    rstring = random_string(random.randint(1, 20))
    nm.via_json.set_owner(rstring)
    assert nm.via_json.owner == rstring
Пример #9
0
def test_json_set_alt():
    nm = Narodmon()
    random_number = random.uniform(-4000, 9000)
    nm.via_json.set_alt(random_number)
    assert nm.via_json.alt == random_number
Пример #10
0
def test_json_set_lon():
    nm = Narodmon()
    random_number = random.uniform(-180, 180)
    nm.via_json.set_lon(random_number)
    assert nm.via_json.lon == random_number
Пример #11
0
def test_json_set_lat():
    nm = Narodmon()
    random_number = random.uniform(-90, 90)
    nm.via_json.set_lat(random_number)
    assert nm.via_json.lat == random_number
Пример #12
0
def test_json_empty_init():
    nm = Narodmon()
    assert_that(
        (nm.via_json.mac, nm.via_json.lon, nm.via_json.lat, nm.via_json.alt,
         nm.via_json.owner, nm.via_json.name)), only_contains(None)