国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

EarthLiveSharp中cloudinary的CDN圖片緩存自動清理python腳本

2024-05-04 23:56:32
字體:
來源:轉載
供稿:網友

恰巧發現有個叫“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.netimport sysimport urllib, urllib2import base64import jsonURLLIB_DEBUG_LEVEL = 1URLLIB_TIMEOUT = 5def 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 urlreqdef 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 urldef 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 0def 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.netfrom distutils.core import setupimport py2exesetup(console=['EarthLiveCleanCloudinary.py'])

Windows編譯版本下載:

鏈接: https://pan.baidu.com/s/1skADZeH 密碼: rdgb

 

注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 方正县| 高唐县| 子长县| 凌源市| 合水县| 鹤峰县| 海南省| 闽清县| 拉萨市| 新郑市| 武威市| 山西省| 方山县| 成都市| 东兴市| 黄陵县| 吉水县| 拜泉县| 三穗县| 金溪县| 阿鲁科尔沁旗| 宽甸| 莱阳市| 甘孜县| 宁远县| 兰西县| 南丹县| 雅安市| 香河县| 镇赉县| 海宁市| 内黄县| 大渡口区| 屏东市| 聂拉木县| 桂林市| 沧州市| 阿坝县| 东乡| 缙云县| 汉中市|