久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

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

這篇文章主要介紹了EarthLiveSharp暫時(shí)沒有清理cloudinary的CDN圖片緩存的功能,于是我用python寫了一個(gè),并嘗試用gist管理,需要的朋友可以參考下

恰巧發(fā)現(xiàn)有個(gè)叫“EarthLiveSharp”,可用將日本向日葵8號衛(wèi)星的地球?qū)崟r(shí)圖片設(shè)為屏保。向日葵8號衛(wèi)星的地球?qū)崟r(shí)圖片官網(wǎng)為:http://himawari8.nict.go.jp/,EarthLiveSharp的項(xiàng)目地址是:https://github.com/bitdust/EarthLiveSharp。
為了減輕向日葵8號的服務(wù)器負(fù)擔(dān),同時(shí)也是提高地球?qū)崟r(shí)圖片的獲取成功率,需要使用cloudinary來做CDN。注冊配置都在軟件里有說明。

目前EarthLiveSharp暫時(shí)沒有清理cloudinary的CDN圖片緩存的功能,于是我用python寫了一個(gè),并嘗試用gist管理,地址為:https://gist.github.com/creke/c5a8a18fa41b8f5c1a0719a7e0cf4de6

同時(shí),為了大家方便,順便編譯成了Windows可執(zhí)行文件,下載: https://pan.baidu.com/s/1c27fXEo 提取碼:k33n
為了自己檢索方便,順便在這里附上python腳本源碼,可以作為python如何使用RESTful接口的例子,相關(guān)工具類函數(shù)也便于參考。

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

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

主站蜘蛛池模板: 亚洲欧美少妇 | www亚洲一区 | 国产成人高清视频 | 日韩午夜网站 | 紧缚调教一区二区三区视频 | 久久首页| 精品一区二区三区四区 | 狠狠干天天干 | 国产区在线观看 | 911精品美国片911久久久 | 羞羞网站在线观看 | 99精品免费视频 | 国产精品久久久久久吹潮 | 一级黄色影片在线观看 | 亚洲精品一区中文字幕乱码 | 日韩精品一区二区三区四区视频 | 国产精品18久久久久久白浆动漫 | 欧美亚洲一区二区三区 | 99精品视频一区二区三区 | 亚洲一区二区三区国产 | 日本中文字幕日韩精品免费 | 亚洲视频在线免费观看 | 天天久久 | 高清国产一区二区 | 国产一区二区三区在线视频 | 国产日韩欧美激情 | www.99re5.com| 看片网站在线 | 国产日韩欧美中文字幕 | 国内精品视频在线观看 | 欧美在线不卡 | 亚洲一区 | 午夜a v电影| 日韩高清一区 | 97超碰在线播放 | 日本a∨视频 | 成人小视频在线观看 | 蜜桃免费一区二区三区 | 国产成人免费视频网站高清观看视频 | 欧美成视频 | 国产一区二区三区在线 |