恰巧发现有个叫“EarthLiveSharp”,可用将日本向日葵8号卫星的地球实时图片设为屏保。向日葵8号卫星的地球实时图片官网为:http://himawari8.nict.go.jp/,EarthLiveSharp的项目地址是:https://github.com/bitdust/EarthLiveSharp。
为了减轻向日葵8号的服务器负担,同时也是提高地球实时图片的获取成功率,需要使用cloudinary来做CDN。注册配置都在软件里有说明。
目前EarthLiveSharp暂时没有清理cloudinary的CDN图片缓存的功能,于是我用python写了一个,并尝试用gist管理,地址为:https://gist.github.com/creke/c5a8a18fa41b8f5c1a0719a7e0cf4de6
同时,为了大家方便,顺便编译成了Windows可执行文件,下载: https://pan.baidu.com/s/1c27fXEo 提取码:k33n
为了自己检索方便,顺便在这里附上python脚本源码,可以作为python如何使用RESTful接口的例子,相关工具类函数也便于参考。
EarthLiveCleanCloudinary.py
# -*- coding: utf-8 -*- # Author: Creke # HomePage: http://blog.creke.net import sys import urllib, urllib2 import base64 import json URLLIB_DEBUG_LEVEL = 1 URLLIB_TIMEOUT = 5 def Dict2Uri(dic): return urllib.urlencode(dic) def GenUrllibReq(url, method, api_key, api_secret, post_data=None): urlreq = None if post_data is None: urlreq = urllib2.Request(url) else: urlreq = urllib2.Request(url, post_data) urlreq.get_method = lambda: method auth_str = base64.b64encode('%s:%s' % (api_key, api_secret)) urlreq.add_header("Authorization", "Basic %s" % auth_str) urlreq.add_header('Cache-Control', 'no-cache') return urlreq def GetApiDelUrl(cloud_name, img_type): url = "https://api.cloudinary.com/v1_1/%s/resources/image/%s" % (cloud_name, img_type) params = {"prefix": "http://himawari8-dl"} url = url + "" + Dict2Uri(params) return url def main(argv): arg_idx = 1 api_key = argv[arg_idx] arg_idx += 1 api_secret = argv[arg_idx] arg_idx += 1 cloud_name = argv[arg_idx] while True: del_url = GetApiDelUrl(cloud_name, 'fetch') urlreq = GenUrllibReq(del_url, 'DELETE', api_key, api_secret) print "===========================" print "Requesting %s" % (del_url) opener = urllib2.build_opener(urllib2.HTTPSHandler(debuglevel=URLLIB_DEBUG_LEVEL)) urllib_open = opener.open(urlreq, timeout=URLLIB_TIMEOUT) response = urllib_open.read() print "===========================" print "Response:" print "%s" % (response) print "===========================" urllib_open.close() print "Done Requesting" res_json = json.loads(response) deleted_cnt = len(res_json['deleted']) print "Deleted %u himawari8 pics" % (deleted_cnt) print "===========================" if 'next_cursor' in res_json and deleted_cnt>0: print "Due to Cloudinary limits, we're starting a new round" else: break return 0 def PrintHelp(argv): print "\t USAGE: %s [api_key] [api_secret] [cloud_name]" % (argv[0]) if __name__ == '__main__': if len(sys.argv) < 4: PrintHelp(sys.argv) exit(1) print "RUNNING main" main(sys.argv) print "DONE main"
EarthLiveCleanCloudinary2exe.py
# -*- coding: utf-8 -*- # Author: Creke # HomePage: http://blog.creke.net from distutils.core import setup import py2exe setup(console=['EarthLiveCleanCloudinary.py'])
Windows编译版本下载:
链接: https://pan.baidu.com/s/1skADZeH 密码: rdgb
CDN图片缓存,自动清理
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。