Jan 17 23:36:52 raspberrypi photoframe[461]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:38:40 raspberrypi photoframe[461]: 2022-01-17 23:38:40,065 - INFO - path: "/tmp/tmpbrijkj6p/waveshare35b" Jan 17 23:38:40 raspberrypi photoframe[461]: Archive: /tmp/waveshare35b.zip Jan 17 23:38:40 raspberrypi photoframe[461]: creating: /tmp/tmpbrijkj6p/waveshare35b/waveshare35b/ Jan 17 23:38:40 raspberrypi photoframe[461]: creating: /tmp/tmpbrijkj6p/waveshare35b/waveshare35b/waveshare35b/ Jan 17 23:38:40 raspberrypi photoframe[461]: inflating: /tmp/tmpbrijkj6p/waveshare35b/waveshare35b/waveshare35b/INSTALL Jan 17 23:38:40 raspberrypi photoframe[461]: inflating: /tmp/tmpbrijkj6p/waveshare35b/waveshare35b/waveshare35b/waveshare35b-overlay.dtb Jan 17 23:38:43 raspberrypi photoframe[461]: 2022-01-17 23:38:43,236 - ERROR - Failed to load manifest for waveshare35a Jan 17 23:38:43 raspberrypi photoframe[461]: Traceback (most recent call last): Jan 17 23:38:43 raspberrypi photoframe[461]: File "/root/photoframe/modules/drivers.py", line 222, in activate Jan 17 23:38:43 raspberrypi photoframe[461]: with open(os.path.join(driverlist[driver], 'manifest.json'), 'rb') as f: Jan 17 23:38:43 raspberrypi photoframe[461]: FileNotFoundError: [Errno 2] No such file or directory: '/root/photoframe/display-drivers/waveshare35a/manifest.json' Jan 17 23:38:44 raspberrypi photoframe[461]: 2022-01-17 23:38:44,918 - ERROR - Failed to generate new config.txt Jan 17 23:38:44 raspberrypi photoframe[461]: Traceback (most recent call last): Jan 17 23:38:44 raspberrypi photoframe[461]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:38:44 raspberrypi photoframe[461]: f.write('%s\n' % line) Jan 17 23:38:44 raspberrypi photoframe[461]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:38:46 raspberrypi photoframe[461]: 2022-01-17 23:38:46,424 - ERROR - Failed to generate new config.txt Jan 17 23:38:46 raspberrypi photoframe[461]: Traceback (most recent call last): Jan 17 23:38:46 raspberrypi photoframe[461]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:38:46 raspberrypi photoframe[461]: f.write('%s\n' % line) Jan 17 23:38:46 raspberrypi photoframe[461]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:38:47 raspberrypi photoframe[461]: 2022-01-17 23:38:47,616 - ERROR - Failed to generate new config.txt Jan 17 23:38:47 raspberrypi photoframe[461]: Traceback (most recent call last): Jan 17 23:38:47 raspberrypi photoframe[461]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:38:47 raspberrypi photoframe[461]: f.write('%s\n' % line) Jan 17 23:38:47 raspberrypi photoframe[461]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:41:29 raspberrypi photoframe[461]: 2022-01-17 23:41:29,132 - INFO - path: "/tmp/tmpft5oskx9/waveshare7" Jan 17 23:41:29 raspberrypi photoframe[461]: Archive: /tmp/waveshare7.zip Jan 17 23:41:29 raspberrypi photoframe[461]: creating: /tmp/tmpft5oskx9/waveshare7/waveshare7/ Jan 17 23:41:29 raspberrypi photoframe[461]: inflating: /tmp/tmpft5oskx9/waveshare7/waveshare7/INSTALL Jan 17 23:41:29 raspberrypi photoframe[461]: 2022-01-17 23:41:29,159 - INFO - "/root/photoframe_config/display-drivers/waveshare7" already exists, delete before installing Jan 17 23:41:32 raspberrypi photoframe[461]: 2022-01-17 23:41:32,538 - ERROR - Failed to generate new config.txt Jan 17 23:41:32 raspberrypi photoframe[461]: Traceback (most recent call last): Jan 17 23:41:32 raspberrypi photoframe[461]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:41:32 raspberrypi photoframe[461]: f.write('%s\n' % line) Jan 17 23:41:32 raspberrypi photoframe[461]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,344 - ERROR - Unable to find a valid display mode, will default to 1280x720 Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,356 - INFO - Loading service USB_Photos from svc_usb.py Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,360 - INFO - Loading service PicasaWeb from svc_picasaweb.py Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,365 - INFO - Loading service Pexels from svc_pexels.py Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,369 - INFO - Loading service SimpleUrl from svc_simpleurl.py Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,374 - INFO - Loading service GooglePhotos from svc_googlephotos.py Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,377 - INFO - No SMB subsystem, color sensor unavailable Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,379 - INFO - GPIO shutdown can be triggered by GPIO 3 Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,382 - INFO - Cache is set to True Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,411 - INFO - Registering URL / to RoutePages (simple) Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,413 - INFO - Registering URL / to RoutePages (simple) Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,432 - INFO - Registering URL /debug to RouteDebug (simple) Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,452 - INFO - Registering URL /options/ to RouteOptions (simple) Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,454 - INFO - Registering URL /options// to RouteOptions (simple) Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,457 - INFO - Registering URL /setting to RouteSettings Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,458 - INFO - Registering URL /setting/ to RouteSettings Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,460 - INFO - Registering URL /setting// to RouteSettings Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,462 - INFO - Registering URL /keywords//help to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,464 - INFO - Registering URL /keywords/ to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,466 - INFO - Registering URL /keywords//add to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,468 - INFO - Registering URL /keywords//delete to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,470 - INFO - Registering URL /keywords//source/ to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,472 - INFO - Registering URL /keywords//details/ to RouteKeywords Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,475 - INFO - Registering URL /rotation to RouteOrientation Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,476 - INFO - Registering URL /rotation/ to RouteOrientation Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,478 - INFO - Registering URL /overscan to RouteOverscan Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,480 - INFO - Registering URL /overscan/ to RouteOverscan Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,482 - INFO - Registering URL /maintenance/ to RouteMaintenance Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,484 - INFO - Registering URL /details/ to RouteDetails Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,486 - INFO - Registering URL /upload/ to RouteUpload Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,488 - INFO - Registering URL /callback to RouteOAuthLink Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,490 - INFO - Registering URL /service//link to RouteOAuthLink Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,491 - INFO - Registering URL /service//oauth to RouteOAuthLink Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,494 - INFO - Registering URL /service/ to RouteService Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,496 - INFO - Registering URL /control/ to RouteControl Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,498 - INFO - Registering URL /events to RouteEvents Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,499 - INFO - Registering URL /events/ to RouteEvents Jan 17 23:42:09 raspberrypi photoframe[467]: 2022-01-17 23:42:09,501 - INFO - Registering URL /events/remove/ to RouteEvents Jan 17 23:42:09 raspberrypi photoframe[467]: * Serving Flask app "modules.server" (lazy loading) Jan 17 23:42:09 raspberrypi photoframe[467]: * Environment: production Jan 17 23:42:09 raspberrypi photoframe[467]: WARNING: Do not use the development server in a production environment. Jan 17 23:42:09 raspberrypi photoframe[467]: Use a production WSGI server instead. Jan 17 23:42:09 raspberrypi photoframe[467]: * Debug mode: off Jan 17 23:42:19 raspberrypi photoframe[467]: 2022-01-17 23:42:19,583 - INFO - Starting presentation Jan 17 23:43:48 raspberrypi photoframe[467]: 2022-01-17 23:43:48,902 - INFO - path: "/tmp/tmpe5_94ihv/waveshare7" Jan 17 23:43:48 raspberrypi photoframe[467]: Archive: /tmp/waveshare7.zip Jan 17 23:43:48 raspberrypi photoframe[467]: creating: /tmp/tmpe5_94ihv/waveshare7/waveshare7/ Jan 17 23:43:48 raspberrypi photoframe[467]: inflating: /tmp/tmpe5_94ihv/waveshare7/waveshare7/INSTALL Jan 17 23:43:53 raspberrypi photoframe[467]: 2022-01-17 23:43:53,086 - ERROR - Failed to generate new config.txt Jan 17 23:43:53 raspberrypi photoframe[467]: Traceback (most recent call last): Jan 17 23:43:53 raspberrypi photoframe[467]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:43:53 raspberrypi photoframe[467]: f.write('%s\n' % line) Jan 17 23:43:53 raspberrypi photoframe[467]: TypeError: a bytes-like object is required, not 'str' Jan 17 23:46:14 raspberrypi photoframe[467]: 2022-01-17 23:46:14,920 - INFO - path: "/tmp/tmpak8y1n9u/waveshare35a" Jan 17 23:46:14 raspberrypi photoframe[467]: Archive: /tmp/waveshare35a.zip Jan 17 23:46:14 raspberrypi photoframe[467]: creating: /tmp/tmpak8y1n9u/waveshare35a/waveshare35a/ Jan 17 23:46:14 raspberrypi photoframe[467]: inflating: /tmp/tmpak8y1n9u/waveshare35a/waveshare35a/INSTALL Jan 17 23:46:14 raspberrypi photoframe[467]: inflating: /tmp/tmpak8y1n9u/waveshare35a/waveshare35a/waveshare35a-overlay.dtb Jan 17 23:46:18 raspberrypi photoframe[467]: 2022-01-17 23:46:18,428 - ERROR - Failed to generate new config.txt Jan 17 23:46:18 raspberrypi photoframe[467]: Traceback (most recent call last): Jan 17 23:46:18 raspberrypi photoframe[467]: File "/root/photoframe/modules/drivers.py", line 269, in activate Jan 17 23:46:18 raspberrypi photoframe[467]: f.write('%s\n' % line) Jan 17 23:46:18 raspberrypi photoframe[467]: TypeError: a bytes-like object is required, not 'str'