misc: use requests

This commit is contained in:
Frédéric Péters 2016-07-30 09:42:27 +02:00
parent 40db5d0236
commit 0bcb3351fb
4 changed files with 12 additions and 26 deletions

View File

@ -1,2 +1,3 @@
django >= 1.7, < 1.8
gadjo
requests

View File

@ -1,6 +1,4 @@
import json
import urllib2
import ssl
import requests
from django.core.management.base import BaseCommand
import django.utils.timezone
@ -8,14 +6,6 @@ import django.utils.timezone
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):
help = 'Scrutiny services for changes'
@ -27,19 +17,14 @@ class Command(BaseCommand):
if self.verbose:
print 'Checking', service.url
try:
if ctx:
versions = json.load(urllib2.urlopen('%s__version__' % service.url,
timeout=5, context=ctx))
else:
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:
response = requests.get('%s__version__' % service.url,
timeout=5, verify=False)
response.raise_for_status()
except requests.RequestException as e:
print 'Error with', service.url, e
continue
versions = response.json()
current_modules = set([x for x in
service.service.get_modules(platforms=[service.platform])])
seen_modules = set()

View File

@ -1,6 +1,6 @@
import json
import re
import urllib2
import requests
from django.conf import settings
from django.core.cache import cache
@ -23,11 +23,10 @@ class Issue(object):
self.commits = []
def update_content(self):
request = urllib2.Request(
response = requests.get(
'%s/issues/%s.json' % (settings.REDMINE_URL, self.id),
headers={'X-Redmine-API-Key': settings.REDMINE_API_KEY})
f = urllib2.urlopen(request)
content = json.loads(f.read())
content = response.json()
cache.set('issue-%s' % self.id, content, CACHE_DURATION)
def get_attribute(self, attr):
@ -36,7 +35,7 @@ class Issue(object):
return content.get('issue').get(attr)
try:
self.update_content()
except urllib2.HTTPError:
except requests.RequestException:
return '---'
return self.get_attribute(attr)

View File

@ -43,6 +43,7 @@ setup(name='scrutiny',
include_package_data = True,
install_requires=[
'django >= 1.7, < 1.8',
'requests',
'gadjo',
],
cmdclass={