diff options
author | Filipp Lepalaan <filipp@mac.com> | 2016-03-21 19:14:37 +0200 |
---|---|---|
committer | Filipp Lepalaan <filipp@mac.com> | 2016-03-21 19:14:37 +0200 |
commit | 1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a (patch) | |
tree | 61dd9498cac2b20501bf96f54a95a89d714d4449 /servo/management | |
parent | f30d6d73513a5535cae4d97ee2cc85f01660750c (diff) | |
download | Servo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.tar.gz Servo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.tar.bz2 Servo-1b6e5ee722f76f594e3d95dfa8d77ac2b9f2173a.zip |
Adding GSX articles
Diffstat (limited to 'servo/management')
-rw-r--r-- | servo/management/commands/periodic.py | 33 |
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) |