Comments (24)
ok. let me know when there is any better solution. Thanks!
from epiframe.
i will try, for now i have troubles installing pyarrow on my raspberry pi
from epiframe.
working. i will test it for couple of days now
from epiframe.
Yes, of course you can. Just check how to set up ePiframe for HDMI display and let me know if you need any assistance.
from epiframe.
yes that works thanks!. app takes pictures from albums in google photos, is it possible to take photos that do not belong to any album? or blacklist an album?
from epiframe.
You can specify album names with album_names setting in config.cfg file (can be multiple, comma separated). Unfortunately there's no album blacklisting.
As for randomization check randomize setting in config.
from epiframe.
looks like its working. i created albums, defined in config and it seemed to working. but now i get an error - quota exceeded. is there a limit for google api?
from epiframe.
the error says that it limits to 10 000 requests per day, i have refresh photo set after 5 mins so it should not exceed...
from epiframe.
Yep, it should not exceed. I would wait one day and try as the counter resets every day. If this will happen again please share logs and I will check what's happening.
from epiframe.
ePiframe.log
yep it happens every day.. i think it produces a lot of requests when getting albums data, i have around 7 albums, 2k, 1.5k photos each.
from epiframe.
Wow, I had no idea this can happen.
Please play with this value to increase photos page size and decrease number of calls. Try with something crazy like 5000 first and let me know if this worked. In the meantime I will do some tests on my own. Thanks.
from epiframe.
Ahh, I checked and unfortunately Google Photos API allows page size 50 or less, so for now the only way to fix this issue is to create a separate album with less photos and point this one as the source for your frame. But I will think about some better solution as I had no idea this is possible.
from epiframe.
The solution is to store downloaded Google Photos API data once a day and then load it when needed. As we have Pandas on board I can use a simple DataFrame dump/load mechanism (Feather format seems to be fast and enough for this). The data will be downloaded at first run every day and then for the rest it will be loaded and reused. The problem is that photos download URLs are expiring but in that case I can refresh it when something like this happens (with two retries). With that refresh requests number will be maximum 2% of the 10k requests limit, leaving the rest for the initial download.
This setting controls this behavior:
https://github.com/MikeGawi/ePiframe/blob/master/config.cfg#L30
always = every frame refresh, once = once a day
Solution merged to master, please check it (from the dependencies pyarrow
should be installed) and let me know if this works for you.
from epiframe.
Yep, you're right, it's a harsh process, so I made it easier - no dependencies, no struggle, just update the code and it should be fine now (switched to Pickle format instead of feather).
from epiframe.
cannot make it work now. i installed, activated with google json and get:
2024-01-09 09:50:20 : Error! [Errno 1] Operation not permitted: 'token.pickle' Traceback (most recent call last): File "/home/pi/epiframe10/./ePiframe.py", line 1108, in <module> EPiframe() File "/home/pi/epiframe10/./ePiframe.py", line 73, in __init__ self.process_flow() File "/home/pi/epiframe10/./ePiframe.py", line 85, in process_flow photos = self.get_from_sources() File "/home/pi/epiframe10/./ePiframe.py", line 396, in get_from_sources photos = self.get_google_photos() File "/home/pi/epiframe10/./ePiframe.py", line 439, in get_google_photos self.create_auth_manager() File "/home/pi/epiframe10/./ePiframe.py", line 500, in create_auth_manager self.auth_manager.manage_pickle( File "/home/pi/epiframe10/modules/oauthmanager.py", line 26, in manage_pickle os.chmod(pickle_file, 0o0666) PermissionError: [Errno 1] Operation not permitted: 'token.pickle'
from epiframe.
also i noticed, while installing that inky-master should be changed to inky-main
from epiframe.
cannot make it work now. i installed, activated with google json...
Try changing token.pickle file access rights/ownership (should be pi:pi).
also i noticed, while installing that inky-master should be changed to inky-main
They must have changed the default branch. Thanks for the hint - I will change this.
from epiframe.
almost worked. see the log in attachement.
log.log
from epiframe.
Should be fixed now, please check and let me know.
from epiframe.
is it enough to overwrite changed files in mr or do i have to reinstall and activate again?
from epiframe.
it's fine to just overwrite changed files.
from epiframe.
Great to hear that, thank you
from epiframe.
it works. thanks
from epiframe.
Thanks for checking and providing a good feedback!
from epiframe.
Related Issues (20)
- Display Sleep HOT 7
- Losing settings on power loss HOT 2
- How to have the same quality as the original? HOT 2
- TypeError with the latest version of Flask installed HOT 1
- Support for Pimoroni Inky ePaper displays HOT 5
- TypeError: display() takes 2 positional arguments but 3 were given HOT 6
- cred_file configuration entry path does not exist! HOT 13
- Can't set background color to black HOT 2
- HDMI Screen with wrong resolution (horizontal black bars) HOT 4
- Unit tests
- 0 Images found from mounted NAS or local .jpg HOT 2
- Telebot error causes ePiframe exception
- Preventing Google Photos API limit from being exceeded HOT 2
- The script will fail if the photo cannot be downloaded HOT 1
- Pimoroni Inky libraries new default branch
- TypeError: Object of type int64 is not JSON serializable
- Fail! File was not retrieved! Error: None HOT 2
- ModuleNotFoundError: No module named 'starlette' HOT 2
- Waveshare 13.3 inch ePaper - how setup? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from epiframe.