misc: use requests
This commit is contained in:
parent
40db5d0236
commit
0bcb3351fb
|
@ -1,2 +1,3 @@
|
||||||
django >= 1.7, < 1.8
|
django >= 1.7, < 1.8
|
||||||
gadjo
|
gadjo
|
||||||
|
requests
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
import json
|
import requests
|
||||||
import urllib2
|
|
||||||
import ssl
|
|
||||||
|
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
import django.utils.timezone
|
import django.utils.timezone
|
||||||
|
@ -8,14 +6,6 @@ import django.utils.timezone
|
||||||
from scrutiny.projects.models import InstalledService, Module, Version, InstalledVersion
|
from scrutiny.projects.models import InstalledService, Module, Version, InstalledVersion
|
||||||
|
|
||||||
|
|
||||||
if hasattr(ssl, 'create_default_context'):
|
|
||||||
ctx = ssl.create_default_context()
|
|
||||||
ctx.check_hostname = False
|
|
||||||
ctx.verify_mode = ssl.CERT_NONE
|
|
||||||
else:
|
|
||||||
ctx = None
|
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
help = 'Scrutiny services for changes'
|
help = 'Scrutiny services for changes'
|
||||||
|
|
||||||
|
@ -27,19 +17,14 @@ class Command(BaseCommand):
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print 'Checking', service.url
|
print 'Checking', service.url
|
||||||
try:
|
try:
|
||||||
if ctx:
|
response = requests.get('%s__version__' % service.url,
|
||||||
versions = json.load(urllib2.urlopen('%s__version__' % service.url,
|
timeout=5, verify=False)
|
||||||
timeout=5, context=ctx))
|
response.raise_for_status()
|
||||||
else:
|
except requests.RequestException as e:
|
||||||
versions = json.load(urllib2.urlopen('%s__version__' % service.url,
|
|
||||||
timeout=5))
|
|
||||||
except urllib2.HTTPError, e:
|
|
||||||
print 'Error with', service.url, e
|
|
||||||
continue
|
|
||||||
except urllib2.URLError, e:
|
|
||||||
print 'Error with', service.url, e
|
print 'Error with', service.url, e
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
versions = response.json()
|
||||||
current_modules = set([x for x in
|
current_modules = set([x for x in
|
||||||
service.service.get_modules(platforms=[service.platform])])
|
service.service.get_modules(platforms=[service.platform])])
|
||||||
seen_modules = set()
|
seen_modules = set()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import json
|
import json
|
||||||
import re
|
import re
|
||||||
import urllib2
|
import requests
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
@ -23,11 +23,10 @@ class Issue(object):
|
||||||
self.commits = []
|
self.commits = []
|
||||||
|
|
||||||
def update_content(self):
|
def update_content(self):
|
||||||
request = urllib2.Request(
|
response = requests.get(
|
||||||
'%s/issues/%s.json' % (settings.REDMINE_URL, self.id),
|
'%s/issues/%s.json' % (settings.REDMINE_URL, self.id),
|
||||||
headers={'X-Redmine-API-Key': settings.REDMINE_API_KEY})
|
headers={'X-Redmine-API-Key': settings.REDMINE_API_KEY})
|
||||||
f = urllib2.urlopen(request)
|
content = response.json()
|
||||||
content = json.loads(f.read())
|
|
||||||
cache.set('issue-%s' % self.id, content, CACHE_DURATION)
|
cache.set('issue-%s' % self.id, content, CACHE_DURATION)
|
||||||
|
|
||||||
def get_attribute(self, attr):
|
def get_attribute(self, attr):
|
||||||
|
@ -36,7 +35,7 @@ class Issue(object):
|
||||||
return content.get('issue').get(attr)
|
return content.get('issue').get(attr)
|
||||||
try:
|
try:
|
||||||
self.update_content()
|
self.update_content()
|
||||||
except urllib2.HTTPError:
|
except requests.RequestException:
|
||||||
return '---'
|
return '---'
|
||||||
return self.get_attribute(attr)
|
return self.get_attribute(attr)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue