--- a/web/hdalab/management/commands/export_wpcategory_csv.py Fri Jun 22 19:16:46 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-# -*- coding: utf-8 -*-
-'''
-Created on Feb 2, 2012
-
-@author: ymh
-'''
-from django.core.management.base import BaseCommand, CommandError
-from optparse import make_option
-from hdalab.management.utils import UnicodeWriter
-from hdabo.wp_utils import normalize_tag
-from hdalab.models.categories import WpCategory
-from django.utils.http import urlquote
-from hdabo.utils import show_progress
-
-class Command(BaseCommand):
- '''
- Command to export tags
- '''
- args = '<path_to_csv_file>'
- options = '[-e|--encoding csv file encoding]|[-f|--force force file overwrite]'
- help = """export csv files for hdabo
-Options:
- -e, --encoding : files encoding. default to latin-1
- -f, --force : force file overwrite
- """
-
- option_list = BaseCommand.option_list + (
- make_option("-e","--encoding",
- action='store',
- type='string',
- dest='encoding',
- default="utf-8",
- help='file encoding, default utf-8'),
- make_option("-f","--force",
- action='store_true',
- dest='force',
- default=False,
- help='force file overwrite'),
- )
-
- def handle(self, *args, **options):
-
- if len(args) == 0 or not args[0]:
- raise CommandError("Gives at last one csv file to export")
-
- self.encoding = options.get("encoding", "utf-8")
- self.force = options.get("force", False)
- self.path = args[0].strip()
- self.interactive = options.get("interactive",True)
-
- file = None
- try:
- try:
- file = open(self.path,'r')
- if (not self.force) and self.interactive:
- print self.path
- resp = raw_input("export file already exists. override ? type yes to continue : ")
- if resp is not None and (resp.lower() == "yes" or resp.lower() == "y"):
- self.force = True
- # clear file
- else:
- return "error"
- elif not self.interactive and not self.force:
- print "Export file %s already exists. Exit." % (self.path)
- return "error"
-
- file.close()
- file = open(self.path,'w')
- except IOError:
- file = open(self.path,'w')
-
- csv = UnicodeWriter(file, doublequote=False, escapechar="\\", encoding=self.encoding)
- writer = None
-
- qs = WpCategory.objects.filter(tagwpcategory__hidden=False).distinct()
-
- total = qs.count()
-
- for i,wpcat in enumerate(qs):
- writer = show_progress(i+1, total, wpcat.label, 50, writer)
- nb_ds = 0
- for tag in wpcat.tagwpcategory_set.all():
- nb_ds += tag.tag.datasheet_set.count()
-
- csv.writerow([wpcat.label, u"http://fr.wikipedia.org/wiki/Catégorie:%s" % urlquote(normalize_tag(wpcat.label)), nb_ds])
-
- finally:
- if file is not None:
- file.close()
\ No newline at end of file