Example #1
0
    def test_upload_preset(self, mocker):
        """ should support unsigned uploading using presets """
        mocker.return_value = MOCK_RESPONSE

        uploader.unsigned_upload(TEST_IMAGE, API_TEST_PRESET)

        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/image/upload"))
        self.assertEqual("POST", get_method(mocker))
        self.assertIsNotNone(get_param(mocker, "file"))
        self.assertIsNone(get_param(mocker, "signature"))
        self.assertEqual(get_param(mocker, "upload_preset"), API_TEST_PRESET)
Example #2
0
    def test_upload_preset(self, mocker):
        """ should support unsigned uploading using presets """
        mocker.return_value = MOCK_RESPONSE

        uploader.unsigned_upload(TEST_IMAGE, API_TEST_PRESET)

        args, kargs = mocker.call_args

        self.assertTrue(get_uri(args).endswith("/image/upload"))
        self.assertEqual("POST", get_method(mocker))
        self.assertIsNotNone(get_param(mocker, "file"))
        self.assertIsNone(get_param(mocker, "signature"))
        self.assertEqual(get_param(mocker, "upload_preset"), API_TEST_PRESET)
Example #3
0
    def on_event(self, event, payload):
        if event != "PrintDone":
            return

        if not self._settings.get(['enabled']):
            return

        if self._settings.get(['send_image']):
            snapshot_url = self._settings.global_get(["webcam", "snapshot"])
            if snapshot_url:
                self._logger.info("Taking Snapshot.... Say Cheese!")
                try:
                    import urllib
                    snapshot_path, headers = urllib.urlretrieve(snapshot_url)
                except Exception as e:
                    self._logger.exception(
                        "Exception while fetching snapshot from webcam, sending only a note: {message}"
                        .format(message=str(e)))
                else:
                    # ffmpeg can't guess file type it seems
                    os.rename(snapshot_path, snapshot_path + ".jpg")
                    snapshot_path += ".jpg"
                    # flip or rotate as needed
                    self._logger.info("Processing %s before uploading." %
                                      snapshot_path)
                    self._process_snapshot(snapshot_path)

                    try:
                        from cloudinary import uploader
                        response = uploader.unsigned_upload(
                            snapshot_path,
                            "snapshot",
                            cloud_name="octoprint-twilio")
                    except Exception as e:
                        self._logger.exception(
                            "Error Uploading image to the cloud: {message}".
                            format(message=str(e)))
                        return self._sent_text(payload)
                    else:
                        if "url" in response:
                            self._logger.info("Snapshot uploaded to {}".format(
                                response["url"]))
                            if self._send_txt(payload, response['url']):
                                return True
                            else:
                                self._logger.warn(
                                    "Could not send a webcam image, sending only text notification."
                                )
                                return self._send_txt(payload)
                        else:
                            self._logger.error("Cloud returned {}".format(
                                response["error"]["message"]))
                            return self._send_txt(payload)
            self._logger.warn(
                "Could not find settings for snapshot URL. Is it enabled?")
            return self._send_txt(payload)

        else:
            return self._send_txt(payload)
Example #4
0
 def test_upload_preset(self):
     """ should support unsigned uploading using presets """
     preset = api.create_upload_preset(folder="upload_folder",
                                       unsigned=True)
     result = uploader.unsigned_upload("tests/logo.png", preset["name"])
     self.assertRegexpMatches(result["public_id"],
                              '^upload_folder\/[a-z0-9]+$')
     api.delete_upload_preset(preset["name"])
Example #5
0
 def test_upload_preset(self):
     """ should support unsigned uploading using presets """
     preset = api.create_upload_preset(folder="upload_folder",
                                       unsigned=True)
     result = uploader.unsigned_upload(TEST_IMAGE, preset["name"])
     six.assertRegex(self, result["public_id"],
                     '^upload_folder\/[a-z0-9]+$')
     api.delete_upload_preset(preset["name"])
 def test_upload_preset(self):
     """ should support unsigned uploading using presets """
     preset = api.create_upload_preset(folder="upload_folder", unsigned=True)
     result = uploader.unsigned_upload("tests/logo.png", preset["name"])
     self.assertRegexpMatches(result["public_id"], '^upload_folder\/[a-z0-9]+$')
     api.delete_upload_preset(preset["name"])
Example #7
0
 def test_upload_preset(self):
     """ should support unsigned uploading using presets """
     preset = api.create_upload_preset(folder="upload_folder", unsigned=True, tags=[UNIQUE_TAG])
     result = uploader.unsigned_upload(TEST_IMAGE, preset["name"], tags=[UNIQUE_TAG])
     six.assertRegex(self, result["public_id"], '^upload_folder\/[a-z0-9]+$')
     api.delete_upload_preset(preset["name"])
Example #8
0
def up(img):
    cloudname = 'bachvkhoa'
    preset_code = 'anhoiemup'
    rps = uploader.unsigned_upload(img, preset_code, cloud_name=cloudname)
    url = rps['secure_url']
    return url