-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgetlog.py
More file actions
91 lines (70 loc) · 2.17 KB
/
Copy pathgetlog.py
File metadata and controls
91 lines (70 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
About: Pull download the log lists.
Author: XIAO
Date: 2016-08-22
'''
import requests
import json
import sys
import re
import time
api = 'https://api.upyun.com'
def getopt():
access_token = sys.argv[1]
date = sys.argv[2]
bucket_name = sys.argv[3]
domain = ''
num = len(sys.argv[1:])
if num == 4:
domain = sys.argv[4]
return (access_token, date, bucket_name, domain)
def getlog(access_token, bucket_name, date, domain):
try:
headers = {
'Authorization': 'Bearer ' + access_token
}
response = requests.get(api + '/analysis/archives/?bucket_name=' + bucket_name + '&date=' + date + '&domain=' + domain, headers = headers)
response = json.loads(response.text)
datas = response['data']
fo = open('log_lists.txt', 'w')
if datas:
for data in datas:
fo.write(data['url'] + "\n")
print data['url']
else:
print '--- 不存在相关日志下载列表 ---'
sys.exit()
fo.close()
except:
print '--- 请检查参数是否正确 ---'
sys.exit()
def getday(date):
if re.search('~', date):
date = date.split('~')
start_date = time.mktime(time.strptime(date[0], '%Y-%m-%d'))
end_date = time.mktime(time.strptime(date[1], '%Y-%m-%d'))
day = int((end_date - start_date) / 86400)
i = 0
date = []
while (i <= day):
date.append(time.strftime('%Y-%m-%d', time.localtime(start_date + i*86400)))
i = i + 1
else:
date_temp = date
date = []
date.append(date_temp)
return date
if __name__ == '__main__':
num = len(sys.argv[1:])
if num < 3:
print '---'
print '--- 请检查是否正确输入了必选项 access_token date 和 bucket_name 参数的值 ---'
print '---'
sys.exit()
access_token, date, bucket_name, domain = getopt()
date = getday(date)
for date in date:
getlog(access_token, bucket_name, date, domain)
print '--- 日志下载列表写入文件完成 ---'