GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Push — master ( 5eeab0...7256bf )
by Ashim
01:19
created

CallAwis.return_output()   A

Complexity

Conditions 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
rs 10
cc 1
1
import datetime
2
import urllib
3
import hmac
4
import hashlib
5
import base64
6
import requests
7
import sys
8
from bs4 import BeautifulSoup
9
try:
10
	from urllib import quote, urlencode
11
except ImportError:
12
	from  urllib.parse import quote, urlencode
13
14
class CallAwis(object):
15
	def __init__(self,domainname,responsegroup, access_id, secret_access_key):
16
		self.domainname=domainname
17
		self.responsegroup=responsegroup
18
		self.access_id = access_id
19
		self.secret_access_key = secret_access_key
20
		self.SignatureVersion = "2"
21
		self.SignatureMethod = "HmacSHA256"
22
		self.ServiceHost = "awis.amazonaws.com"
23
		self.range="31"
24
		self.PATH = "/"
25
26
	def create_timestamp(self):
27
	    now = datetime.datetime.now()
28
	    timestamp = now.isoformat()
29
	    return timestamp
30
31
	def create_uri(self,params):
32
	    params = [(key, params[key])
33
	        for key in sorted(params.keys())]
34
	    return urlencode(params)
35
36
	def create_signature(self):
37
	    Uri = self.create_uri(self.params)
38
	    msg = "\n".join(["GET", self.ServiceHost, self.PATH, Uri])
39
	    try:
40
	    	hmac_signature = hmac.new(self.secret_access_key, msg, hashlib.sha256)
41
	    except TypeError:
42
	    	hmac_signature = hmac.new(self.secret_access_key.encode('utf-8'), msg.encode('utf-8'), hashlib.sha256)
43
	    signature = base64.b64encode(hmac_signature.digest())
44
	    return quote(signature)
45
46
	def urlinfo(self):
47
		#Query Options  # refer to AWIS API reference for full details.
48
		# Action = 
49
		self.params = {
50
	    'Action':"UrlInfo",
51
	    'Url':self.domainname,
52
	    'ResponseGroup':self.responsegroup,
53
	    'SignatureVersion':self.SignatureVersion,
54
	    'SignatureMethod':self.SignatureMethod,
55
	    'Timestamp': self.create_timestamp(),
56
	    'AWSAccessKeyId':self.access_id,
57
	    }
58
59
		uri = self.create_uri(self.params)
60
		signature = self.create_signature()
61
62
		url = "http://%s/?%s&Signature=%s" % (self.ServiceHost, uri, signature)
63
		return self.return_output(url)
64
65
	def traffichistory(self,myrange=31,start=20070801):
66
		# Action="TrafficHistory"
67
		self.params={
68
		'Action':"TrafficHistory",
69
		'AWSAccessKeyId':self.access_id,
70
		'SignatureMethod':self.SignatureMethod,
71
		'SignatureVersion':self.SignatureVersion,
72
		'Timestamp':self.create_timestamp(),
73
		'Url':self.domainname,
74
		'ResponseGroup':self.responsegroup,
75
		'Range':myrange,
76
		'Start':start,
77
		}
78
		uri = self.create_uri(self.params)
79
		signature = self.create_signature()
80
		url = "http://%s/?%s&Signature=%s" % (self.ServiceHost, uri, signature)
81
		return self.return_output(url)
82
83
84
	def cat_browse(self,path):
85
		# Action=''
86
		self.params={
87
		'Action':"CategoryListings",
88
		'AWSAccessKeyId':self.access_id,
89
		'SignatureMethod':self.SignatureMethod,
90
		'SignatureVersion':self.SignatureVersion,
91
		'Timestamp':self.create_timestamp(),
92
		'ResponseGroup':'Listings',
93
		'Path':quote(path),
94
		}
95
		uri = self.create_uri(self.params)
96
		signature = self.create_signature()
97
		url = "http://%s/?%s&Signature=%s" % (self.ServiceHost, uri, signature)
98
		return self.return_output(url)
99
	
100
	
101
	def return_output(self,url):
102
		r=requests.get(url)
103
		soup=BeautifulSoup(r.text.encode('utf-8'),'xml')
104
		return soup
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119