Exemple #1
0
    def generate_pages(self, all_pages=False):
        """
        Generate the pages.

        If all_pages is True, will regenerate the entire site.
        """
        if not isdir(self.icebox_path):
            makedirs(self.icebox_path)

        state = State()
        state.icebox = True

        if all_pages:
            self._rebuild_site()
        else:
            for e in self.event_log.get_unprocessed():
                if e.event in ('add_entry', 'update_entry'):
                    pe = depickle(e.blob)
                    entry = self.entry_db.find_by_id(pe.id)
                    if entry is not None:
                        self._generate_page(entry)
                elif e.event == 'rebuild_static':
                    self._rebuild_site()
                elif e.event == 'del_entry':
                    pe = depickle(e.blob)
                    self._remove_page(pe.id, pe.url)
                self.event_log.mark_as_processed(e)

        # Regenerate index
        self._generate_index()

        # Regenerate tags
        self._generate_tags()

        # Sync static pages
        if self.static_path:
            self.sync_static()
Exemple #2
0
    def get_activities(self, role):
        """
        Given a role, return the activities that role can do.

        @param role: The role to use. Can be a role object, a role.id, or a
                     role name.

        @return Decoded/decoupled activity dictionary
        """
        r = self.get_role(role)

        if r is not None:
            return depickle(r.activities)
        else:
            return None