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
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)
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)
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
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
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