boramalper / himawaripy Goto Github PK
View Code? Open in Web Editor NEWSet near-realtime picture of Earth as your desktop background
Home Page: http://labs.boramalper.org/himawaripy
License: MIT License
Set near-realtime picture of Earth as your desktop background
Home Page: http://labs.boramalper.org/himawaripy
License: MIT License
Hi,
Like I said on Reddit (https://www.reddit.com/r/linux/comments/445gil/i_wrote_a_python_script_that_puts_a_nearrealtime/cznyiuo), I had to write a setup.py and patch your application.
I do not do a pull request with this cause I'm not familiar with Python but I think this is a good point to have a well prepared application for packaging purpose.
The setup.py I wrote : setup.py
The "start" script to run the application (/usr/bin/) : start
The patch I had to do when the application is installed with the previous setup.py :
sed -i 's/from utils/from himawaripy.utils/' himawaripy.
i can see it running every 10 mins under htop, so the cron is working but the wallpaper itself do not update.
*/10 * * * * /usr/bin/himawaripy
I thought it has something to do with the display so i changed the cron into this, but still no luck.
*/10 * * * * DISPLAY=:0.0 /usr/bin/himawaripy
But if i run this himawaripy command in the terminal myself it updates successfully, any ideas?
EDIT: Guess it does not support XFCE yet.
You can set a wallpaper in Plasma 5.7 with this command:
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript 'var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = "org.kde.image";d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General");d.writeConfig("Image", "file:///path/to/image.png")}'
I hope this could help you to add support for KDE 5.
Current AUR setup.py :
~/pkg/himawaripy-git master ● pacman -Ql himawaripy-git
himawaripy-git /usr/
himawaripy-git /usr/bin/
himawaripy-git /usr/bin/himawaripy
Current himawaripy github setup.py :
~/pkg/himawaripy-git dev ● pacman -Ql himawaripy-git
himawaripy-git /usr/
himawaripy-git /usr/bin/
himawaripy-git /usr/bin/himawaripy
himawaripy-git /usr/bin/himawaripy.py
himawaripy-git /usr/bin/utils.py
AUR setup.py had one entrypoint into /usr/bin.
I dislike the current implementation, and I think I'll keep the current AUR setup.py until this will be fixed or someone convince me not to.
AUR setup.py (not perfect, and use an other script, so not well written) : #30
This repo seems to lack license information. I suggest AGPLv3 :)
Firstly, I had to manually set the DE string to "mate" as it fails to detect the DE in Arch for some reason.
Anyways, I get the following error output:
[tv@Urban-HTPC himawaripy]$ ./himawaripy.py
Updating...
Latest version: 2016/02/05/00:50:00 GMT
Downloading tiles: 64/64 completed
Downloaded
Error while parsing options: Unknown option -type.
Run 'gconftool-2 --help' to see a full list of available command line options.
Done!
I did a tiny change made new coming pic named by date. i wonder how to store a whole day's pic and make backgroud replay?
himawaripy/confif.py
output_file = os.path.join(appdirs.user_cache_dir(appname="himawaripy",
appauthor=False),
time.ctime() )
^^^^^^^^^^^
this will store everyday's pic....and will take huge space....but,we just need one days loop....
I wanted real-time pictures. I kept getting them at some other time. So I went into the config file, and it said "using the default values, script will put the realtime picture of Earth". But it clearly wasn't. So then I changed True
to False
and then it was correct. Either this comment is misleading, or something else is wrong.
its working for me on mac osx el capitan, so maybe we can update the documentation. happy to submit a PR.
However, mac's don't support crontab, so instead, we have to create a plist entry. This is what I had working:
file name: com.user.himawaripy.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.himawaripy</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/himawaripy</string>
</array>
<key>Nice</key>
<integer>1</integer>
<key>StartInterval</key>
<integer>600</integer>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/himapy.err</string>
<key>StandardOutPath</key>
<string>/tmp/himapy.out</string>
</dict>
</plist>
and then it was necessary to load the plist
file
launchctl load ~/Library/LaunchAgents/com.user.himawaripy.plist
Hi!
I recently found himawaripy and I do like it a lot ... downloading the actual image for my background and putting all the images together in a nice movie :)
And that's a reason for my request: to avoid the nightly blackness I would love to use the infrared (B13) Band Pictures.
Is there any chance, that you might add a configurable downloadoption for the image source (so one might choose infrared or any other available band)?
THANKS a lot and BR,
count
Hi,
The image is cut on top in Unity. Seems like the very top is hidden below the top bar. Is there a way to make the image a little bit smaller or to set a top margin?
Updating...
Latest version: 2016/08/05 16:50:00 GMT
Offset version: 2016/08/05 12:08:00 GMT
Downloading tiles: 0/64 completedTraceback (most recent call last):
File "/usr/local/bin/himawaripy", line 9, in <module>
load_entry_point('himawaripy==1.1', 'console_scripts', 'himawaripy')()
File "/usr/local/lib/python3.5/dist-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 88, in main
File "/usr/lib/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7f9eb1756c50>'. Reason: 'TypeError("cannot serialize '_io.BufferedReader' object",)'
I get this error when I run it from terminal. This is the first run. I got this error on Ubuntu few weeks ago when I first tried it. Now I'm on Mint 18 and getting the same error.
I followed every step as described in the installation process, but nothing happened. The is installed, I have looked into the directory, but the desktop background didn't change.
It downloads fine, sets the "xfconf-query --channel xfce4-desktop --property /backdrop/screen0/monitor0/image-path" but background doesn't change.
tom@tom-mint ~/himawaripy $ sudo python3 setup.py install
Traceback (most recent call last):
File "setup.py", line 1, in <module>
from setuptools import setup, find_packages
ImportError: No module named 'setuptools'
I also installed setuptools
via pip to be sure but the problem still persists.
line 16 in utils.py: desktop_session = os.environ.get("DESKTOP_SESSION")
returns "unknown"
When I run the script, I get an error and the following traceback:
Traceback (most recent call last):
File "/usr/lib/python3.5/pdb.py", line 1661, in main
pdb._runscript(mainpyfile)
File "/usr/lib/python3.5/pdb.py", line 1542, in _runscript
self.run(statement)
File "/usr/lib/python3.5/bdb.py", line 431, in run
exec(cmd, globals, locals)
File "<string>", line 1, in <module>
File "/home/rbong/programs/himawaripy/himawaripy.py", line 3, in <module>
from io import BytesIO
File "/home/rbong/programs/himawaripy/himawaripy.py", line 55, in main
de = get_desktop_environment()
File "/home/rbong/programs/himawaripy/utils.py", line 45, in get_desktop_environment
elif is_running("xfce-mcs-manage"):
File "/home/rbong/programs/himawaripy/utils.py", line 73, in is_running
if re.search(process, x):
File "/usr/lib/python3.5/re.py", line 173, in search
return _compile(pattern, flags).search(string)
TypeError: cannot use a string pattern on a bytes-like object
The offending function is this:
def is_running(process):
...
try: # Linux/Unix
s = subprocess.Popen(["ps", "axw"],stdout=subprocess.PIPE)
except: #Windows
s = subprocess.Popen(["tasklist", "/v"],stdout=subprocess.PIPE)
for x in s.stdout:
if re.search(process, x):
return True
return False
The issue for me is that when it uses re.search(process, x), x is a bytearray. subprocess gets its locale from locale.getlocale. This solution would work with both strings and any encoding.
...
for x in s.stdout:
if re.search(process, str (x)):
return True
However, this function has another problem.
>>> is_running('firefox')
True
>>> is_running('firefo')
True
As you might've guessed, I don't have a process called "firefo" running on my system. We could tweak the search function a bit with regex, but it's not worth it. Here's a better solution for the whole function.
def is_running(process):
try:
subprocess.check_output (["pidof", "--", process])
return True
except subprocess.CalledProcessError:
return False
Since "--" blocks further arguments (for my implementation of pidof, at least) the function should only throw subprocess.CalledProcessError if the function is not running according to my pidof man page. Here are the results of a test:
>>> is_running('firefox')
True
>>> is_running('firefo')
False
There are two downsides to this method. The first is that it is not portable on Windows (however you do not support Windows in this fork). The second is that you cannot search for processes by regular expression as re's search function supports (however you do not use regex in this fork). It is for these reasons I'm going to hold off on a pull request, as I'm sure you have your own ideas about the best way to fix this function that preserves the potential for extension you appear to have planned in the original function.
So, trying to run this (./himawaripy.py), it outputs the following:
`$user@$hostname:~/Downloads/himawaripy$ ./himawaripy.py
Updating...
Latest version: 2016/02/05 18:00:00 GMT
Traceback (most recent call last):
File "./himawaripy.py", line 91, in
main()
File "./himawaripy.py", line 63, in main
res = p.map(download_chunk, product(range(level), range(level), (latest,)))
File "/usr/lib/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7f373e9737f0>'. Reason: 'TypeError("cannot serialize '_io.BufferedReader' object",)'`
This is on Debian Stretch, /usr/bin/env python3 --version
returns Python 3.5.1+
, pillow is installed, running XFCE4. Did I do something wrong, or is this a legitimate problem?
Ubuntu kylin 17.10 defaluts destop is ukui
can you change something to surpport ukui desktop.
i try to find how to do it, but has not found yet.
Why not use Esetroot? its in eterm package (debian/ubuntu) and you forget about desktop compatibility. It supports them all (linux).
https://github.com/boramalper/himawaripy/blob/master/himawaripy.py#L72
call(["Esetroot", "-s", output_file])
This is the output I get when I run it. I am on arch, so 'python' is python3 (version included below).
$ python himawaripy.py
Updating...
Latest version: 2016/02/04/16:20:00 GMT
Downloading tiles: 16/16 completed
Downloaded
Property "/backdrop/screen0/monitor0/image-path" does not exist on channel "xfce4-desktop". If a new property should be created, use the --create option.
Done!
$ python
Python 3.5.1 (default, Dec 7 2015, 12:58:09)
[GCC 5.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
Can this script be compatible and runned in windows system? if can do it, how to install it?
Is it normal that there are eighteen processes named himawaripy keeping running?
Hello,
can someone who is using himawaripy on OS X (or macOS, whatever) check whether v2 is working smoothly on OS X?
Battery saving option won't work, I am aware of that.
/CC @jcmiller11
The original version of my OS X support branch just set the main monitor's desktop picture, @cj-zeiger was kind enough to submit a pull request to me that sets all of them. Can anyone comment on how multiple monitors work with the other desktop environments like on Linux so we could perhaps put in a cross-platform, configurable, setting to allow the users to select exactly which monitors they want the script to set the desktop picture on?
I just installed how it is described in the readme and tried to execute $ himawaripy
.
It downloaded the first 3 chunks and then stops with the following error:
Updating...
Latest version: 2016/07/28 14:20:00 GMT
Offset version: 2016/07/28 06:20:00 GMT
Downloading tiles: 3/16 completedmultiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib64/python3.5/urllib/request.py", line 1240, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/lib64/python3.5/http/client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "/usr/lib64/python3.5/http/client.py", line 1128, in _send_request
self.endheaders(body)
File "/usr/lib64/python3.5/http/client.py", line 1079, in endheaders
self._send_output(message_body)
File "/usr/lib64/python3.5/http/client.py", line 911, in _send_output
self.send(msg)
File "/usr/lib64/python3.5/http/client.py", line 854, in send
self.connect()
File "/usr/lib64/python3.5/http/client.py", line 826, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/lib64/python3.5/socket.py", line 693, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib64/python3.5/socket.py", line 732, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -5] No address associated with hostname
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 44, in mapstar
return list(map(*args))
File "/usr/lib/python3.5/site-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 53, in download_chunk
with urlopen(url_format.format(level, width, strftime("%Y/%m/%d/%H%M%S", latest), x, y)) as tile_w:
File "/usr/lib64/python3.5/urllib/request.py", line 162, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python3.5/urllib/request.py", line 465, in open
response = self._open(req, data)
File "/usr/lib64/python3.5/urllib/request.py", line 483, in _open
'_open', req)
File "/usr/lib64/python3.5/urllib/request.py", line 443, in _call_chain
result = func(*args)
File "/usr/lib64/python3.5/urllib/request.py", line 1268, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib64/python3.5/urllib/request.py", line 1242, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -5] No address associated with hostname>
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/bin/himawaripy", line 9, in <module>
load_entry_point('himawaripy==1.1', 'console_scripts', 'himawaripy')()
File "/usr/lib/python3.5/site-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 88, in main
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
urllib.error.URLError: <urlopen error [Errno -5] No address associated with hostname>
I am using the following setup:
Fedora 24
Gnome 3.20.2
Python 3.5.1
I just want to get the latest available image, could it be possible to pass an option to the script so it ignores the offset?
This instead of having to edit the config file
Could NOT retrieve env. var. KDE_FULL_SESSION
Could NOT retrieve env. var. KDE_FULL_SESSION
Error on gnome3, seems to connect & download ok
My machine is an Xubuntu 14.04 box running Xfce4. I know it doesnt say its supported but I thought I would give it a try and report back, unfortunately I get caught on a python module. The error is below
Traceback (most recent call last):
File "himawaripy.py", line 11, in <module>
from PIL import Image
ImportError: No module named 'PIL'
Some research on the PIL import error told me that I should replace the line:
from PIL import Image
with
import Image
That gave the same error as above, expect the module names were obviously different. This is likely an issue of my own doing, but I am hoping someone can assist
Ubuntu 16.04.1 LTS 64-bit
Gnome Shell 3.18.5
`abumaia@AbuMaia:~$ himawaripy
Updating...
Latest version: 2016/08/05 03:30:00 GMT
Offset version: 2016/08/04 11:30:00 GMT
Downloading tiles: 5/16 completedmultiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "/usr/lib/python3.5/http/client.py", line 1106, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.5/http/client.py", line 1151, in _send_request
self.endheaders(body)
File "/usr/lib/python3.5/http/client.py", line 1102, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/usr/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/usr/lib/python3.5/http/client.py", line 849, in connect
(self.host,self.port), self.timeout, self.source_address)
File "/usr/lib/python3.5/socket.py", line 693, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Temporary failure in name resolution
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.5/multiprocessing/pool.py", line 119, in worker
result = (True, func(_args, *_kwds))
File "/usr/lib/python3.5/multiprocessing/pool.py", line 44, in mapstar
return list(map(_args))
File "/usr/local/lib/python3.5/dist-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 53, in download_chunk
with urlopen(url_format.format(level, width, strftime("%Y/%m/%d/%H%M%S", latest), x, y)) as tile_w:
File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.5/urllib/request.py", line 466, in open
response = self._open(req, data)
File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
'_open', req)
File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
result = func(_args)
File "/usr/lib/python3.5/urllib/request.py", line 1282, in http_open
return self.do_open(http.client.HTTPConnection, req)
File "/usr/lib/python3.5/urllib/request.py", line 1256, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/himawaripy", line 9, in
load_entry_point('himawaripy==1.1', 'console_scripts', 'himawaripy')()
File "/usr/local/lib/python3.5/dist-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 88, in main
File "/usr/lib/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
urllib.error.URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
abumaia@AbuMaia:$ nc himawari8.nict.go.jp 80$ curl http://himawari8-dl.nict.go.jp/himawari8/img/D531106/latest.json
abumaia@AbuMaia:
{"date":"2016-08-05 03:30:00","file":"PI_H08_20160805_0330_TRC_FLDK_R10_PGPFD.png"}`
Support setting backgrounds of screensavers.
Thanks for the project, I've just tried to follow the howto, but get a
$ sudo python3 setup.py install
Traceback (most recent call last):
File "setup.py", line 1, in <module>
from setuptools import setup, find_packages
ImportError: No module named 'setuptools'
$ python3 --version
Python 3.5.2
I did not change the configuration - does it need any changes to work?
Are python modules missing?
Thanks
To increase visibility and make installation easier (pip install himawaripy
), a PyPI package could be created.
To separate code from user configuration, the config file should also be moved outside of the package (I can write a patch for that if you want).
Hi, boramalper
Thanks to your great job, I re-implemented some features of himawaripy on Python2.7 whitch especially for Windows user.
My repo is https://github.com/littleningmeng/blueearth.git
And here is the release version https://github.com/littleningmeng/blueearth/releases
Sometimes the image requirement fails, then the desktop went all black with grided text. So I am wondering is there a way to set a fallback option.
hi, I just installed it in Ubuntu 18.04,
GNOME Shell 3.28.3,
And I just updated python3-setuptools,
return "Finished processing dependencies for himawaripy==2.0.1".
But, when I type "himawaripy", I got massage :
Traceback (most recent call last): File "/home/sun/anaconda3/bin/himawaripy", line 11, in <module> load_entry_point('himawaripy==2.0.1', 'console_scripts', 'himawaripy')() File "/home/sun/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 487, in load_entry_point return get_distribution(dist).load_entry_point(group, name) File "/home/sun/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2728, in load_entry_point return ep.load() File "/home/sun/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2346, in load return self.resolve() File "/home/sun/anaconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2352, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) ModuleNotFoundError: No module named 'himawaripy'
I think I've followed the directions, yet I'm getting the message that says the following.
/Users/James/Library/LaunchAgents/org.boramalper.himawaripy.plist: service already loaded
How do I get the background to start?
Could you make it possible to just download the images or even better make it compatible with Windows and/or OSX?
~/Downloads/himawaripy-master > himawaripy
Updating...
Latest version: 2016/07/31 19:10:00 GMT
Offset version: 2016/07/31 14:28:00 GMT
Downloading tiles: 0/16 completedTraceback (most recent call last):
File "/usr/local/bin/himawaripy", line 9, in <module>
load_entry_point('himawaripy==1.1', 'console_scripts', 'himawaripy')()
File "/usr/local/lib/python3.5/dist-packages/himawaripy-1.1-py3.5.egg/himawaripy/himawaripy.py", line 88, in main
File "/usr/lib/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7f435fe7ebe0>'. Reason: 'TypeError("cannot serialize '_io.BufferedReader' object",)'
The regular command does not work for me.
display -window root ~/.himawari/himawari-latest.png
It does not complain, but the background remains unchanged. I successfully changed my background with this command.
pcmanfm --set-wallpaper ~/.himawari/himawari-latest.png --wallpaper-mode=fit
I have already submitted pull request #33. It would be appreciated if someone could confirm the original command does not work and the new one does.
It would be awesome to support also the equirectangular view of our planet.
Just like the DesktopEarth does on Windows.
Is it possible to get such images from the source you use?
So this was happening to me for a while, and I eventually found out it has to do with my Anaconda python install.
Anyone who has anaconda installed will find that their gsettings command now references the anaconda directory: /home/matt/anaconda2/bin/gsettings
And for whatever reason, this gsettings can not save settings for other applications, and this error pops up when you run the scripts: "GLib-Gio-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications." And the wallpaper does not update.
To fix this, I went into the utilsy.py file in himawaripy-master/himawaripy and changed all the references to gsettings to instead reference the specific system gsettings: usr/bin/gsettings
This fixed the problem that was introduced by the anaconda install. Perhaps the devs should think about making this a permanent update to the script.
$ ./himawaripy.py
Updating...
Latest version: 2016/02/05 16:00:00 GMT
Traceback (most recent call last):
File "./himawaripy.py", line 91, in <module>
main()
File "./himawaripy.py", line 63, in main
res = p.map(download_chunk, product(range(level), range(level), (latest,)))
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 260, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/lib64/python3.5/multiprocessing/pool.py", line 608, in get
raise self._value
multiprocessing.pool.MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7f1d0a739f60>'. Reason: 'TypeError("cannot serialize '_io.BufferedReader' object",)'
Python 3.5, python3-pillow 3.1.0.
Probably not worth a PR, but wanted to drop in some customisations I made to the scripts for OSX:
Created /usr/local/bin/himawari.sh to be run via the scheduled job:
#!/bin/bash
/usr/local/bin/himawaripy --auto-offset -l 8
/usr/local/bin/mogrify -gravity south -crop 4400x2475+0+0 +repage /Users/x/Library/Caches/himawaripy/`ls -ABrt1 /Users/x/Library/Caches/himawaripy | tail -n1`
/usr/local/bin/mogrify -gravity south -stroke none -fill 'rgb(200,200,200)' -pointsize 36 -annotate 0 "$(date)" +repage /Users/x/Library/Caches/himawaripy/`ls -ABrt1 /Users/x/Library/Caches/himawaripy | tail -n1`
/usr/bin/sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/Users/x/Library/Caches/himawaripy/`ls -ABrt1 /Users/x/Library/Caches/himawaripy | tail -n1`'" && killall Dock
This does a few things - it crops the image to 16:9 aspect ratio, anchored to the bottom of the image to capture that sweet view of Australia, and adds a timestamp to the bottom of the image.
It also uses an alternative method of setting the desktop image, since the native method doesn't apply the image to secondary desktops on macOS Sierra.
Dodgy af, but hopefully helps someone with the same issue ;)
I have Arch Linux with Cinnamon and I get this error:
./himawaripy.py
Updating...
Latest version: 2016/02/04/18:50:00 GMT
Downloading tiles: 16/16 completed
Downloaded
No such key 'draw-background'
Done!
If anyone want to other views of the world, here is the data for Europe near real time image satellite:
Source: http://oiswww.eumetsat.org/IPPS/html/latestImages.html
There is no instruccions for what have to go inside himawaripy.service, and also path is wrong (and no INSTALLATION_PATH to be replaced)
### Configure
vi systemd/himawaripy.service
# Replace "<INSTALLATION_PATH>" with the output of the aforementioned command.
problem is as described: when the wallpaper is reset, the Dock reloads, causing it to close and open, which is very distracting.
Surely there is a better way of changing the wallpaper than reloading the Dock/Finder?
在win10上安装成功,并且图片也生成了,但是提示:“用提供的模式无法找到文件。”
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.