Ejemplo n.º 1
0
    def generateSampleStates():
        import datetime
        time = datetime.datetime.now()
        states = []

        for i in range(10):
            num = i + 1
            watchState = WatchState(BatteryLevel=100 - i * 10,
                                    Pulse=60 + num * 2,
                                    Steps=num * 1000,
                                    Calories=num * 75,
                                    Distance=num * 700,
                                    Bluetooth=num > 1 and num < 6,
                                    Unlocked=num > 2 and num < 7,
                                    Alarm=num > 3 and num < 8,
                                    DoNotDisturb=num > 4 and num < 9,
                                    Weather=num * 2)

            watchState.setTime(
                datetime.datetime(year=time.year,
                                  month=num,
                                  day=num * 2 + 5,
                                  hour=i * 2,
                                  minute=i * 6,
                                  second=i))
            states.append(watchState)

        return states
Ejemplo n.º 2
0
    def generatePreviews(parameters, images, outputDirectory, baseName):
        assert (type(parameters) == list)
        assert (type(images) == list)
        assert (type(outputDirectory) == str)
        assert (type(baseName) == str)

        logging.debug("Generating previews...")

        states = Parser.getPreviewStates(outputDirectory)
        logging.debug("Generating states done...")
        staticPreview = PreviewGenerator.createImage(parameters, images,
                                                     WatchState())
        logging.debug("Generating static preview gen done...")
        staticPreview.save(
            os.path.join(outputDirectory, f"{baseName}_static.png"))
        logging.debug("Generating static preview save done...")

        previewImages = PreviewGenerator.createAnimation(
            parameters, images, states)
        logging.debug("Generating anim preview gen done...")

        images = []
        for previewImage in previewImages:
            images.append(previewImage)
        images[0].save(os.path.join(outputDirectory,
                                    f"{baseName}_animated.gif"),
                       save_all=True,
                       append_images=images[1:],
                       duration=1000,
                       loop=0)
Ejemplo n.º 3
0
    def generatePreviews(parameters, images, outputDirectory, baseName):
        assert(type(parameters) == list)
        assert(type(images) == list)
        assert(type(outputDirectory) == str)
        assert(type(baseName) == str)

        logging.debug("Generating previews...")

        states = Parser.getPreviewStates(outputDirectory)
        logging.debug("Generating states done...")
        staticPreview = PreviewGenerator.createImage(parameters, images, WatchState())
        logging.debug("Generating static preview gen done...")
        staticPreview.save(os.path.join(outputDirectory, f"{baseName}_static.png"))

        # generate small preview image for Preview section.
        from PIL import Image
        new_w, new_h = Config.getPreviewWidth(), Config.getPreviewHeight()
        im_resized = staticPreview.resize((new_w, new_h), resample = Image.LANCZOS)
        im_resized.save(os.path.join(outputDirectory, f"{baseName}_static_{Config.getPreviewWidth()}.png"))
        logging.debug("Generating static preview save done...")

        previewImages = PreviewGenerator.createAnimation(parameters, images, states)
        logging.debug("Generating anim preview gen done...")

        images = []
        for previewImage in previewImages:
            images.append(previewImage)
        images[0].save(os.path.join(outputDirectory, f"{baseName}_animated.gif"),
            save_all=True,
            append_images=images[1:],
            duration=1000,
            loop=0)
Ejemplo n.º 4
0
    def generateSampleStates():
        import datetime
        time = datetime.datetime.now()
        states = []

        for i in range(10):
            num = i + 1
            watchState = WatchState(
                BatteryLevel = 100 - i * 10,
                Pulse = 60 + num * 2,
                Steps = num * 1000,
            )

            watchState.setTime(datetime.datetime(year = time.year, month = num, day = num * 2 + 5, hour = i * 2, minute = i * 6, second = i))
            states.append(watchState)

        return states
Ejemplo n.º 5
0
    def getPreviewStates(outputDirectory):
        import os
        previewStatesPath = os.path.join(outputDirectory, "PreviewStates.json")

        if os.path.exists(previewStatesPath):
            try:
                with open(previewStatesPath, 'rb') as stream:
                    return WatchState.fromJson(json.load(stream))
            except:
                pass

        previewStates = Parser.generateSampleStates()
        with open(previewStatesPath, 'w') as stream:
            stream.write(json.dumps(previewStates, default=dumper, indent=2))
            stream.flush()

        return previewStates
Ejemplo n.º 6
0
    def generateSampleStates():
        import datetime
        time = datetime.datetime.now()
        states = []

        for i in range(10):
            num = i + 1
            watchState = WatchState(
                BatteryLevel=100 - i * 10,
                Pulse=60 + num * 2,
                Steps=num * 1000,
                Calories=num * 75,
                Distance=num * 700,
                Bluetooth=num > 1 and num < 6,
                Unlocked=num > 2 and num < 7,
                Alarm=num > 3 and num < 8,
                DoNotDisturb=num > 4 and num < 9,
                CurrentTemperature=-15 + 2 * i,
            )

            if num < 3:
                watchState.setCurrentWeather(WeatherCondition.Unknown)
                watchState.setCurrentTemperature(None)
            else:
                index = num - 2
                watchState.setCurrentWeather(index)
                watchState.setCurrentTemperature(-10 + i * 6)

            watchState.setTime(
                datetime.datetime(year=time.year,
                                  month=num,
                                  day=num * 2 + 5,
                                  hour=i * 2,
                                  minute=i * 6,
                                  second=i))
            states.append(watchState)

        return states