class Strip(models.Model): comic = models.ForeignKey("rack.Comic") url = models.URLField() added_at = models.DateTimeField(default=_utc_now) objects = StripManager() def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) module_path = 'rack.quirks.%s' % (self.comic.dosage_name.lower(),) try: module = importlib.import_module(module_path) except ImportError: # if no specific quirk module, load the dummy quirk class. from rack.quirks import BaseQuirk self.quirk = BaseQuirk() self.template = 'generic' else: quirk_class_name = self.comic.dosage_name.lower() self.quirk = getattr(module, quirk_class_name) self.template = self.comic.dosage_name.lower() def __str__(self): return "%s strip for %s" % (self.comic.name, self.added_at) def save_extra_data(self, json): self.quirk.save_extra_strip_data(self.comic, self, json)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) module_path = 'rack.quirks.%s' % (self.comic.dosage_name.lower(),) try: module = importlib.import_module(module_path) except ImportError: # if no specific quirk module, load the dummy quirk class. from rack.quirks import BaseQuirk self.quirk = BaseQuirk() self.template = 'generic' else: quirk_class_name = self.comic.dosage_name.lower() self.quirk = getattr(module, quirk_class_name) self.template = self.comic.dosage_name.lower()