Esempio n. 1
0
 def test_get_invalid_error(self):
     with self.settings() as settings:
         try:
             settings.get(["i", "do", "not", "exist"], error_on_path=True)
             self.fail("Expected NoSuchSettingsPath")
         except octoprint.settings.NoSuchSettingsPath:
             pass
Esempio n. 2
0
	def test_get_invalid_error(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			try:
				settings.get(["i", "do", "not", "exist"], error_on_path=True)
				self.fail("Expected NoSuchSettingsPath")
			except octoprint.settings.NoSuchSettingsPath:
				pass
Esempio n. 3
0
    def test_get_empty_path(self):
        with self.settings() as settings:
            self.assertIsNone(settings.get([]))

            try:
                settings.get([], error_on_path=True)
                self.fail("Expected NoSuchSettingsPath")
            except octoprint.settings.NoSuchSettingsPath:
                pass
Esempio n. 4
0
	def test_get_empty_path(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()
			self.assertIsNone(settings.get([]))

			try:
				settings.get([], error_on_path=True)
				self.fail("Expected NoSuchSettingsPath")
			except octoprint.settings.NoSuchSettingsPath:
				pass
        def on_api_get(self, request):
	    settings = self._settings
            return jsonify(dict(
                alarm=self.ALARM,
                weightraw=self.filament_weight.last_reading,
                weight=(self.filament_weight.last_reading - float(settings.get(["weight_empty"]))) * float(settings.get(["weight_scale"])),
                force=self.filament_force.last_reading,
                force_min=settings.get(["force_minforce"]),
                force_max=settings.get(["force_maxforce"]),
                odometry= float(settings.get(["odometry_circumfence"])) * self.filament_odometry.accumulated_movement / 24.0
            ))
Esempio n. 6
0
    def test_set_default_subtree(self):
        with self.settings() as settings:
            default = {"host": "0.0.0.0", "port": 5000}
            self.assertEqual(
                {"host": "0.0.0.0", "port": 8080}, settings.get(["server"], merged=True)
            )

            settings.set(["server"], default)

            self.assertNotIn("server", settings._config)
            self.assertEqual(default, settings.get(["server"], merged=True))
        def on_sensor_update(self):
	    settings = self._settings
            self._plugin_manager.send_plugin_message(self._identifier, 
                     dict(
                        alarm=self.ALARM,
                        force=self.filament_force.last_reading,
                        weightraw=self.filament_weight.last_reading,
                        weight= "{:10.2f}".format( (float(self.filament_weight.last_reading) - float(settings.get(["weight_empty"]))) * float(settings.get(["weight_scale"]))),
                        weight_min=settings.get(["weight_minweight"]),
                        force_min=settings.get(["force_minforce"]),
                        force_max=settings.get(["force_maxforce"]),
                        odometry= "{:10.3f}".format( float(settings.get(["odometry_circumfence"])) * self.filament_odometry.accumulated_movement / (4.0*24.0) )
                ))
Esempio n. 8
0
    def test_set_none(self):
        with self.settings() as settings:
            self.assertTrue("port" in settings._config["server"])

            settings.set(["server", "port"], None)

            self.assertIs(settings.get(["server", "port"]), None)
Esempio n. 9
0
def printer(comm, node_uuid, settings, httpretty): #pylint: disable=redefined-outer-name
    comm.node_uuid = node_uuid

    url = urljoin(settings.get(["authentise_url"]), "/printer/instance/")
    printer_uri = urljoin(url, "abc-123/")

    printer_payload = {"baud_rate": 250000,
                       "port": "/dev/tty.derp",
                       "uri": printer_uri,
                       'status': 'ONLINE',
                       'nozzle_temperature': 185.9,
                       'current_print': {
                           'status': 'PRINTING',
                           'percent_complete': 10.55,
                           'elapsed': 30,
                           'remaining': 0.4,
                       }}

    httpretty.register_uri(httpretty.GET,
                           url,
                           body=json.dumps({"resources": [printer_payload]}),
                           content_type='application/json')

    httpretty.register_uri(httpretty.GET,
                           printer_uri,
                           body=json.dumps(printer_payload),
                           content_type='application/json')

    return {'uri':printer_uri, 'request_url':url, 'port':'/dev/tty.derp', 'baud_rate':250000}
Esempio n. 10
0
    def test_get_invalid(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            value = settings.get(["i", "do", "not", "exist"])

            self.assertIsNone(value)
Esempio n. 11
0
    def test_get_boolean(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            value = settings.get(["devel", "virtualPrinter", "enabled"])

            self.assertTrue(value)
Esempio n. 12
0
	def test_get_invalid(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			value = settings.get(["i", "do", "not", "exist"])

			self.assertIsNone(value)
Esempio n. 13
0
def printer(comm, node_uuid, settings, httpretty): #pylint: disable=redefined-outer-name
    comm.node_uuid = node_uuid

    url = urljoin(settings.get(["authentise_url"]), "/printer/instance/")
    printer_uri = urljoin(url, "abc-123/")

    printer_payload = {"baud_rate": 250000,
                       "port": "/dev/tty.derp",
                       "uri": printer_uri,
                       'status': 'ONLINE',
                       'nozzle_temperature': 185.9,
                       'current_print': {
                           'status': 'PRINTING',
                           'percent_complete': 10.55,
                           'elapsed': 30,
                           'remaining': 0.4,
                       }}

    httpretty.register_uri(httpretty.GET,
                           url,
                           body=json.dumps({"resources": [printer_payload]}),
                           content_type='application/json')

    httpretty.register_uri(httpretty.GET,
                           printer_uri,
                           body=json.dumps(printer_payload),
                           content_type='application/json')

    return {'uri':printer_uri, 'request_url':url, 'port':'/dev/tty.derp', 'baud_rate':250000}
Esempio n. 14
0
	def test_get_boolean(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			value = settings.get(["devel", "virtualPrinter", "enabled"])

			self.assertTrue(value)
Esempio n. 15
0
	def test_get_map(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			data = settings.get(["devel", "virtualPrinter"])

			self.assertEqual(len(data), 1)
			self.assertDictEqual(dict(enabled=True), data)
Esempio n. 16
0
    def test_get_list(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["serial", "additionalPorts"])

            self.assertEqual(len(data), 2)
            self.assertListEqual(["/dev/portA", "/dev/portB"], data)
Esempio n. 17
0
    def test_get_map(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["devel", "virtualPrinter"])

            self.assertEqual(len(data), 1)
            self.assertDictEqual({"enabled": True}, data)
Esempio n. 18
0
	def test_get_list(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			data = settings.get(["serial", "additionalPorts"])

			self.assertEqual(len(data), 2)
			self.assertListEqual(["/dev/portA", "/dev/portB"], data)
Esempio n. 19
0
 def test_get_map_merged(self):
     with self.settings() as settings:
         data = settings.get(["devel", "virtualPrinter"], merged=True)
         expected = dict_merge(
             self.overlay["devel"]["virtualPrinter"],
             self.config["devel"]["virtualPrinter"],
         )
         self.assertEqual(expected, data)
Esempio n. 20
0
    def test_set_default(self):
        with self.settings() as settings:
            self.assertEqual(8080, settings._config["server"]["port"])

            settings.set(["server", "port"], 5000)

            self.assertNotIn("server", settings._config)
            self.assertEqual(5000, settings.get(["server", "port"]))
Esempio n. 21
0
    def test_get_float(self):
        with self.settings() as settings:
            expected_serial_timeout = 1.0

            serial_timeout = settings.get(["serial", "timeout", "detection"])

            self.assertIsNotNone(serial_timeout)
            self.assertEqual(serial_timeout, expected_serial_timeout)
Esempio n. 22
0
    def test_get_int(self):
        with self.settings() as settings:
            expected_server_port = 8080

            server_port = settings.get(["server", "port"])

            self.assertIsNotNone(server_port)
            self.assertEqual(server_port, expected_server_port)
Esempio n. 23
0
    def test_get(self):
        with self.settings() as settings:
            expected_api_key = "test"

            api_key = settings.get(["api", "key"])

            self.assertIsNotNone(api_key)
            self.assertEqual(api_key, expected_api_key)
Esempio n. 24
0
	def test_basedir_initialization(self):
		with self.mocked_basedir() as basedir:
			# construct settings
			settings = octoprint.settings.Settings()

			# verify
			self.assertTrue(os.path.isdir(basedir))
			self.assertTrue(os.path.isfile(os.path.join(basedir, "config.yaml")))
			self.assertIsNotNone(settings.get(["api", "key"]))
Esempio n. 25
0
    def test_get_multiple_asdict(self):
        with self.settings() as settings:
            data = settings.get(["serial", ["timeout", "additionalPorts"]], asdict=True)

            self.assertIsInstance(data, dict)
            self.assertEqual(len(data), 2)

            self.assertTrue("timeout" in data)
            self.assertTrue("additionalPorts" in data)
Esempio n. 26
0
    def test_get_multiple(self):
        with self.settings() as settings:
            data = settings.get(["serial", ["timeout", "additionalPorts"]])

            self.assertIsInstance(data, list)
            self.assertEqual(len(data), 2)

            self.assertIsInstance(data[0], dict)
            self.assertIsInstance(data[1], list)
Esempio n. 27
0
    def test_get_map_merged(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["devel", "virtualPrinter"], merged=True)

            self.assertGreater(len(data), 1)
            self.assertDictContainsSubset(
                dict(enabled=True, sendWait=True, waitInterval=1.0), data)
Esempio n. 28
0
    def test_basedir_initialization(self):
        with self.mocked_basedir() as basedir:
            # construct settings
            settings = octoprint.settings.Settings()

            # verify
            self.assertTrue(os.path.isdir(basedir))
            self.assertTrue(os.path.isfile(os.path.join(basedir, "config.yaml")))
            self.assertIsNotNone(settings.get(["api", "key"]))
Esempio n. 29
0
    def test_get_map_merged(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["devel", "virtualPrinter"], merged=True)

            self.assertGreater(len(data), 1)
            test_dict = dict(enabled=True, sendWait=True, waitInterval=1.0)
            test_data = dict((k, v) for k, v in data.items() if k in test_dict)
            self.assertEqual(test_dict, test_data)
Esempio n. 30
0
	def test_get(self):
		with self.mocked_config():
			expected_api_key = "test"

			settings = octoprint.settings.Settings()

			api_key = settings.get(["api", "key"])

			self.assertIsNotNone(api_key)
			self.assertEqual(api_key, expected_api_key)
Esempio n. 31
0
	def test_get_int(self):
		with self.mocked_config():
			expected_server_port = 8080

			settings = octoprint.settings.Settings()

			server_port = settings.get(["server", "port"])

			self.assertIsNotNone(server_port)
			self.assertEqual(server_port, expected_server_port)
Esempio n. 32
0
	def test_get_float(self):
		with self.mocked_config():
			expected_serial_timeout = 1.0

			settings = octoprint.settings.Settings()

			serial_timeout = settings.get(["serial", "timeout", "detection"])

			self.assertIsNotNone(serial_timeout)
			self.assertEqual(serial_timeout, expected_serial_timeout)
Esempio n. 33
0
    def test_remove(self):
        with self.settings() as settings:
            self.assertTrue("port" in settings._config["server"])

            settings.remove(["server", "port"])

            self.assertFalse(
                "server" in settings._config and "port" in settings._config["server"]
            )
            self.assertEqual(5000, settings.get(["server", "port"]))
Esempio n. 34
0
	def test_set_default(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			self.assertEqual(8080, settings._config["server"]["port"])

			settings.set(["server", "port"], 5000)

			self.assertNotIn("port", settings._config["server"])
			self.assertEqual(5000, settings.get(["server", "port"]))
Esempio n. 35
0
    def test_get_map_merged(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["devel", "virtualPrinter"], merged=True)

            self.assertGreater(len(data), 1)
            test_dict = {"enabled": True, "sendWait": True, "waitInterval": 1.0}
            test_data = {k: v for k, v in data.items() if k in test_dict}
            self.assertEqual(test_dict, test_data)
Esempio n. 36
0
	def test_remove(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			self.assertTrue("port" in settings._config["server"])

			settings.remove(["server", "port"])

			self.assertFalse("port" in settings._config["server"])
			self.assertEqual(5000, settings.get(["server", "port"]))
Esempio n. 37
0
    def test_set_default(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            self.assertEqual(8080, settings._config["server"]["port"])

            settings.set(["server", "port"], 5000)

            self.assertNotIn("port", settings._config["server"])
            self.assertEqual(5000, settings.get(["server", "port"]))
Esempio n. 38
0
    def test_get_float(self):
        with self.mocked_config():
            expected_serial_timeout = 1.0

            settings = octoprint.settings.Settings()

            serial_timeout = settings.get(["serial", "timeout", "detection"])

            self.assertIsNotNone(serial_timeout)
            self.assertEqual(serial_timeout, expected_serial_timeout)
Esempio n. 39
0
    def test_get(self):
        with self.mocked_config():
            expected_api_key = "test"

            settings = octoprint.settings.Settings()

            api_key = settings.get(["api", "key"])

            self.assertIsNotNone(api_key)
            self.assertEqual(api_key, expected_api_key)
Esempio n. 40
0
    def test_get_int(self):
        with self.mocked_config():
            expected_server_port = 8080

            settings = octoprint.settings.Settings()

            server_port = settings.get(["server", "port"])

            self.assertIsNotNone(server_port)
            self.assertEqual(server_port, expected_server_port)
Esempio n. 41
0
    def test_get_multiple(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["serial", ["timeout", "additionalPorts"]])

            self.assertIsInstance(data, list)
            self.assertEqual(len(data), 2)

            self.assertIsInstance(data[0], dict)
            self.assertIsInstance(data[1], list)
Esempio n. 42
0
	def test_get_map_merged(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			data = settings.get(["devel", "virtualPrinter"], merged=True)

			self.assertGreater(len(data), 1)
			self.assertDictContainsSubset(dict(enabled=True,
			                                   sendWait=True,
			                                   waitInterval=1.0),
			                              data)
Esempio n. 43
0
	def test_get_multiple(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			data = settings.get(["serial", ["timeout", "additionalPorts"]])

			self.assertIsInstance(data, list)
			self.assertEqual(len(data), 2)

			self.assertIsInstance(data[0], dict)
			self.assertIsInstance(data[1], list)
Esempio n. 44
0
	def test_get_multiple_asdict(self):
		with self.mocked_config():
			settings = octoprint.settings.Settings()

			data = settings.get(["serial", ["timeout", "additionalPorts"]], asdict=True)

			self.assertIsInstance(data, dict)
			self.assertEqual(len(data), 2)

			self.assertTrue("timeout" in data)
			self.assertTrue("additionalPorts" in data)
Esempio n. 45
0
	def test_set_external_modification(self):
		with self.mocked_config() as paths:
			basedir, configfile = paths
			settings = octoprint.settings.Settings()

			self.assertEqual("0.0.0.0", settings.get(["server", "host"]))

			# modify yaml file externally
			with open(configfile, "r+b") as f:
				config = yaml.safe_load(f)
			config["server"]["host"] = "127.0.0.1"
			with open(configfile, "w+b") as f:
				yaml.safe_dump(config, f)

			# set some value, should also reload file before setting new api key
			settings.set(["api", "key"], "key")

			# verify updated values
			self.assertEqual("127.0.0.1", settings.get(["server", "host"]))
			self.assertEqual("key", settings.get(["api", "key"]))
Esempio n. 46
0
    def test_set_external_modification(self):
        with self.settings() as settings:
            configfile = settings._configfile

            # Make sure the config files last modified time changes
            time.sleep(1.0)

            self.assertEqual("0.0.0.0", settings.get(["server", "host"]))

            # modify yaml file externally
            config = _load_yaml(configfile)
            config["server"]["host"] = "127.0.0.1"
            _dump_yaml(configfile, config)

            # set some value, should also reload file before setting new api key
            settings.set(["api", "key"], "key")

            # verify updated values
            self.assertEqual("127.0.0.1", settings.get(["server", "host"]))
            self.assertEqual("key", settings.get(["api", "key"]))
Esempio n. 47
0
    def test_get_multiple_asdict(self):
        with self.mocked_config():
            settings = octoprint.settings.Settings()

            data = settings.get(["serial", ["timeout", "additionalPorts"]], asdict=True)

            self.assertIsInstance(data, dict)
            self.assertEqual(len(data), 2)

            self.assertTrue("timeout" in data)
            self.assertTrue("additionalPorts" in data)
Esempio n. 48
0
	def test_get_preprocessor(self):
		with self.mocked_config():
			config = dict()
			defaults = dict(test="some string")
			preprocessors = dict(test=lambda x: x.upper())

			settings = octoprint.settings.Settings()
			value = settings.get(["test"],
			                     config=config,
			                     defaults=defaults,
			                     preprocessors=preprocessors)

			self.assertEqual("SOME STRING", value)
Esempio n. 49
0
def claim_code_uri(settings, claim_code): #pylint: disable=redefined-outer-name
    return urljoin(settings.get(["authentise_url"]), "client/claim/{}/".format(claim_code))
Esempio n. 50
0
def client_uri(settings, node_uuid): #pylint: disable=redefined-outer-name
    return urljoin(settings.get(["authentise_url"]), "client/{}/".format(node_uuid))
	def on_after_startup(self):
		settings = self._settings
                self.filament_force    = filament_pulling_sensor.filament_pulling_sensor(  self,
                                                                       settings.get(["force_pin_data"]),
                                                                       settings.get(["force_pin_clk"]),
                                                                       settings.get(["force_pin_scale"]),
                                                                       settings.get(["force_pin_reference_unit"]),
                                                                       settings.get(["force_maxforce"]),
                                                                       settings.get(["force_minforce"])
                                                                      )
                self.filament_odometry = filament_odometry_sensor.filament_odometry_sensor(self,
                                                                       settings.get(["odometry_pina"]),
                                                                       settings.get(["odometry_pinb"]),
                                                                       settings.get(["odometry_min_rpm"]),
                                                                       settings.get(["odometry_timeout"]),
                                                                       settings.get(["odometry_min_reverse"])
                                                                      )
                self.filament_weight    = filament_weight_sensor.filament_weight_sensor(  self,
                                                                       settings.get(["weight_pin_data"]),
                                                                       settings.get(["weight_pin_clk"]),
                                                                       settings.get(["weight_pin_scale"]),
                                                                       settings.get(["weight_pin_reference_unit"]),
                                                                       settings.get(["weight_minweight"])
                                                                      )
                self.filament_weight.start()