def delete_themes(sender, **kwargs): instance = kwargs['instance'] try: shutil.rmtree(os.path.join(settings.THEMES_DIR, instance.name)) except OSError: pass set_themes()
def theme_site_m2m_changes(sender, **kwargs): instance = kwargs['instance'] action = kwargs['action'] if action in ("post_add", "post_remove", "post_clear"): if type(instance) is Theme: for site in instance.sites.all(): for theme in site.themes.all(): if theme.id != instance.id: site.theme_set.remove(theme) set_themes()
def process_request(self, request): self.request = request self.site = None self.SITE_ALIASES = getattr(settings, "SITE_ALIASES", None) self.theme = None self.domain, self.port = self.get_domain_and_port() self.domain_requested = self.domain self.domain_unsplit = self.domain self.subdomain = None self.env_domain_requested = None # main loop - lookup the site by domain/subdomain, plucking # subdomains off the request hostname until a site or # redirect is found res = self.lookup() # res = self.theme_lookup() if 'goscale.themes' in settings.INSTALLED_APPS: set_themes()
def handle(self, *args, **options): # restore sites and themes if enabled file = '%s/fixtures/%s.json' % (settings.PROJECT_PATH, 'sites') management.call_command('loaddata', file) print 'Restored %s' % file if 'goscale.themes' in settings.INSTALLED_APPS: file = '%s/fixtures/%s.json' % (settings.PROJECT_PATH, 'themes') management.call_command('loaddata', file) print 'Restored %s' % file # restore users file = '%s/fixtures/%s.json' % (settings.PROJECT_PATH, 'auth') management.call_command('loaddata', file) print 'Restored %s' % file # restore placeholders file = '%s/fixtures/%s.json' % (settings.PROJECT_PATH, 'placeholders') management.call_command('loaddata', file) print 'Restored %s' % file # # # restore pages try: for theme in models.Theme.objects.all(): site = theme.sites.all()[0] # set theme site_middleware.SITE_ID.value = site.id set_themes() # load pages file = '%s/fixtures/pages_%s.json' % (settings.PROJECT_PATH, theme.name) management.call_command('loaddata', file) print 'Restored %s' % file except Exception, e: print 'Couldn\'t load themes: %s' % str(e) file = '%s/fixtures/pages.json' % settings.PROJECT_PATH management.call_command('loaddata', file) print 'Restored %s' % file
def handle(self, *args, **options): set_themes() print 'TEMPLATE_DIRS: %s' % settings.TEMPLATE_DIRS