From 98ac66f8213fa59161ff3960ec7f1ed4a6f8377b Mon Sep 17 00:00:00 2001 From: anibal Date: Tue, 9 Sep 2008 14:10:00 +0000 Subject: [PATCH] Added more flexibility to childclasses who override gespider command --HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40215 --- scrapy/trunk/scrapy/command/commands/genspider.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scrapy/trunk/scrapy/command/commands/genspider.py b/scrapy/trunk/scrapy/command/commands/genspider.py index 07e6b0500..d442c500a 100644 --- a/scrapy/trunk/scrapy/command/commands/genspider.py +++ b/scrapy/trunk/scrapy/command/commands/genspider.py @@ -6,6 +6,13 @@ from scrapy.command import ScrapyCommand from scrapy.conf import settings class Command(ScrapyCommand): + + """ Default template file name """ + template_name = 'spider.tmpl' + + """ Childs can define custom tvars """ + custom_tvars = {} + def syntax(self): return " " @@ -31,13 +38,14 @@ class Command(ScrapyCommand): 'site': site, 'classname': '%sSpider' % ''.join([s.capitalize() for s in name.split('-')]) } + tvars.update(self.custom_tvars) spiders_module = __import__(settings['NEWSPIDER_MODULE'], {}, {}, ['']) spidersdir = os.path.abspath(os.path.dirname(spiders_module.__file__)) if name[0] not in string.letters: # must start with a letter, for valid python modules name = "a" + name name = name.replace('-', '_') # - are replaced by _, for valid python modules - self._genfiles('spider.tmpl', '%s/%s.py' % (spidersdir, name), tvars) + self._genfiles(self.template_name, '%s/%s.py' % (spidersdir, name), tvars) def _genfiles(self, template_name, source_name, tvars): """ Generate source from template, substitute variables """