aboutsummaryrefslogtreecommitdiffstats
path: root/servo/management/commands/periodic.py
diff options
context:
space:
mode:
authorFilipp Lepalaan <filipp@mac.com>2016-03-21 19:14:37 +0200
committerFilipp Lepalaan <filipp@mac.com>2016-03-21 19:14:37 +0200
commit1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a (patch)
tree61dd9498cac2b20501bf96f54a95a89d714d4449 /servo/management/commands/periodic.py
parentf30d6d73513a5535cae4d97ee2cc85f01660750c (diff)
downloadServo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.tar.gz
Servo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.tar.bz2
Servo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.zip
Adding GSX articles
Diffstat (limited to 'servo/management/commands/periodic.py')
-rw-r--r--servo/management/commands/periodic.py33
1 files changed, 23 insertions, 10 deletions
diff --git a/servo/management/commands/periodic.py b/servo/management/commands/periodic.py
index 5895e3c..e85f9a3 100644
--- a/servo/management/commands/periodic.py
+++ b/servo/management/commands/periodic.py
@@ -9,25 +9,38 @@ from django.conf import settings
from django.core.cache import caches
from django.core.management.base import BaseCommand
-from servo.models import GsxAccount
+from servo.models import GsxAccount, Article
class Command(BaseCommand):
help = 'Peforms periodic commands'
- VERBS = ('comptia',)
+ VERBS = ('comptia', 'articles',)
def add_arguments(self, parser):
parser.add_argument('verb', type=str, choices=self.VERBS, help='Periodic command to perform')
def handle(self, *args, **options):
- if 'comptia' in options['verb']:
- # Update raw CompTIA data (all product groups)
- try:
- act = GsxAccount.fallback()
- except Exception as e:
- print >> sys.stderr, 'Failed to connect to GSX (%s)' % e
- sys.exit(-1)
-
+ try:
+ act = GsxAccount.fallback()
+ except Exception as e:
+ print >> sys.stderr, 'Failed to connect to GSX (%s)' % e
+ sys.exit(-1)
+
+ if 'articles' in options['verb']: # Update GSX articles
+ articles = gsxws.comms.fetch()
+ for a in articles:
+ try:
+ article = Article.from_gsx(a)
+ try:
+ content = gsxws.comms.content(article.gsx_id)
+ article.content = content.articleContent
+ except Exception as e:
+ pass
+ article.save()
+ except ValueError as e:
+ pass
+
+ if 'comptia' in options['verb']: # Update raw CompTIA data (all product groups)
try:
codes = gsxws.comptia.fetch()
caches['comptia'].set('codes', codes)