Beispiel #1
0
 def edit_post(self,year, month, day, title):
     permalink = '/'.join((year, month, day, title))
     site=get_current_site()
     post = Posts.find_by_permalink(permalink=permalink, site=site)
     return dict(post=post,
                site=site,
                comment_widget=widgets.comment_widget,
                archive_posts= Posts.find_archive_count(site=site),
                archives_widget=widgets.archives_widget,
                tags_widget=widgets.tags_widget,
                pages_widget=widgets.pages_widget,
                pages=Pages.find_all(site=site),
                tags=Tags.find_all(site=site),
                admin_widget=widgets.admin_widget,
                badge_widget=widgets.badge_widget,
                recent_comments=Comments.find_recent(),
                recent_comments_widget=widgets.recent_comments_widget)
Beispiel #2
0
 def archives(self, year, month):
     archives = '/'.join((year, month))
     site=get_current_site()
     posts = Posts.find_all_archived(archives=archives, site=site)
     return dict(posts=posts,
                 site=site,
                 archive_posts=Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 posts_widget=widgets.posts_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)
Beispiel #3
0
 def create_comment(self, post_id, name, web_site, email, text):
     
     #sanitize input...
     post = Posts.get(post_id)
     comments = list(post.comments)
     comment = Comments(post=post, name=name, web_site=web_site, email=email, text=text, created=datetime.now())
     comments.append(comment)
     return widgets.comment_widget.render(comment=comment)
Beispiel #4
0
 def index(self):
     site=get_current_site()
     posts = Posts.find(site=site, top=site.posts_per_page)
     
     return dict(posts=posts,
                 site=site,
                 archive_posts= Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 posts_widget=widgets.posts_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)
Beispiel #5
0
 def tags(self, name):
     site=get_current_site()
     tag = Tags.find_by(name=name, site=site)
     if tag == None:
         redirect_to_home()
         
     posts = Posts.find_by_tag(tag=tag, site=site)
     return dict(posts=posts,
                 site=site,
                 archive_posts=Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 posts_widget=widgets.posts_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)   
Beispiel #6
0
 def post(self, year, month, day, title):
     permalink = '/'.join((year, month, day, title))
     site=get_current_site()
     try:
         post = Posts.find_by_permalink(permalink=permalink, site=site)
     except SQLObjectNotFound:
             flash("Sorry, post could not be found!")
             raise controllers.redirect('/')
             
     return dict(post=post,
                site=site,
                comment_widget=widgets.comment_widget,
                archive_posts= Posts.find_archive_count(site=site),
                archives_widget=widgets.archives_widget,
                tags_widget=widgets.tags_widget,
                pages_widget=widgets.pages_widget,
                pages=Pages.find_all(site=site),
                tags=Tags.find_all(site=site),
                admin_widget=widgets.admin_widget,
                badge_widget=widgets.badge_widget,
                recent_comments=Comments.find_recent(),
                recent_comments_widget=widgets.recent_comments_widget)
Beispiel #7
0
 def create_post(self, title, text, user_id, tags):
     t = datetime.now()
     site=get_current_site()
     user = User.get(user_id)
     cleaned = remove_special_char(title)
     permalink = "/".join((t.strftime('%Y/%m/%d'), cleaned.strip()))
     post = Posts(title=title, 
                  text=text, 
                  user=user, 
                  site=site,
                  created=t,
                  updated=None,
                  archives=(t.strftime('%Y/%m')),
                  permalink=permalink)
                  
     tag_list = Tags.parse(tags)
     for tag_name in tag_list:
         tag = Tags.find_or_create(name=tag_name, site=site)
         tag.count = tag.count + 1
         post.addTags(tag)
             
     redirect_to_home()
Beispiel #8
0
 def new_page(self, name=""):
     site=get_current_site()
     return dict(name=name,
                site=site,
                archive_posts= Posts.find_archive_count(site=site),
                archives_widget=widgets.archives_widget,
                tags_widget=widgets.tags_widget,
                pages_widget=widgets.pages_widget,
                pages=Pages.find_all(site=site),
                tags=Tags.find_all(site=site),
                admin_widget=widgets.admin_widget,
                badge_widget=widgets.badge_widget,
                recent_comments=Comments.find_recent(),
                recent_comments_widget=widgets.recent_comments_widget)
Beispiel #9
0
 def edit_site(self):
     site=get_current_site()
     return dict(site=site,
                 archive_posts=Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 themes=Themes.find_all(),
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)
Beispiel #10
0
 def new(self):
     """docstring for new"""
     site=get_current_site()
     return dict(site=site,
                 archive_posts=Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 groups=Group.find_all(site=site),
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)
Beispiel #11
0
 def new_post(self):
     user = identity.current.user
     site=get_current_site()
     return dict(user=user,
                site=site,
                archive_posts= Posts.find_archive_count(site=site),
                archives_widget=widgets.archives_widget,
                tags_widget=widgets.tags_widget,
                pages_widget=widgets.pages_widget,
                pages=Pages.find_all(site=site),
                tags=Tags.find_all(site=site),
                admin_widget=widgets.admin_widget,
                badge_widget=widgets.badge_widget,
                recent_comments=Comments.find_recent(),
                recent_comments_widget=widgets.recent_comments_widget)
Beispiel #12
0
 def index(self):
     """docstring for index"""
     site=get_current_site()
     users = User.find_all(site=site)
     return dict(site=site,
                 archive_posts=Posts.find_archive_count(site=site),
                 archives_widget=widgets.archives_widget,
                 tags_widget=widgets.tags_widget,
                 pages_widget=widgets.pages_widget,
                 pages=Pages.find_all(site=site),
                 tags=Tags.find_all(site=site),
                 users=users,
                 admin_widget=widgets.admin_widget,
                 badge_widget=widgets.badge_widget,
                 recent_comments=Comments.find_recent(),
                 recent_comments_widget=widgets.recent_comments_widget)
Beispiel #13
0
    def index(self):
        site=get_current_site()
        home_url=config.get('calabro.default_site')
        
        return dict(home_url=home_url,
                    site=site,
                    archive_posts= Posts.find_archive_count(site=site),
                    archives_widget=widgets.archives_widget,
                    tags_widget=widgets.tags_widget,
                    pages_widget=widgets.pages_widget,
                    pages=Pages.find_all(site=site),
                    tags=Tags.find_all(site=site),
                    admin_widget=widgets.admin_widget,
                    badge_widget=widgets.badge_widget,
                    recent_comments=Comments.find_recent(),
                    recent_comments_widget=widgets.recent_comments_widget)

        
Beispiel #14
0
 def update_post(self, post_id, title, text, user_id, tags):
     t = datetime.now()
     site=get_current_site()
     user = User.get(user_id)
     post = Posts.get(post_id)
     post.set(title=title,
              text=text,
              user=user,
              updated=t)
     
     tag_list = Tags.parse(tags)
     for tag_name in tag_list:
         tag = Tags.find_or_create(name=tag_name, site=site)
         if tag not in post.tags:
             tag.count = tag.count + 1            
             post.addTags(tag)
                           
     redirect_to_home()
Beispiel #15
0
    def default(self, name, *args, **kwargs):
        site=get_current_site()
        page = Pages.find_by_name(name=name,
                                  site=site)
        if page == None:
            raise controllers.redirect('/new_page?name=' + name)

        return dict(page=page,
                    site=site,
                    archive_posts= Posts.find_archive_count(site=site),
                    archives_widget=widgets.archives_widget,
                    tags_widget=widgets.tags_widget,
                    pages_widget=widgets.pages_widget,
                    pages=Pages.find_all(site=site),
                    tags=Tags.find_all(site=site),
                    admin_widget=widgets.admin_widget,
                    badge_widget=widgets.badge_widget,
                    recent_comments=Comments.find_recent(),
                    recent_comments_widget=widgets.recent_comments_widget)
Beispiel #16
0
    def get_feed_data(self):
        site = get_current_site()
        posts = Posts.find_all(site=site)
        entries = []
        for post in posts:
            entry = {}
            entry["updated"] = post.created
            entry["title"] = post.title
            entry["link"] = "%s/%s/blog/post/%s" % (site.url, site.name, post.permalink)
            entry["published"] = post.created
            entry["author"] = post.user.display_name
            entry["summary"] = textile(
                escape(post.text).encode("utf-8"), encoding="utf-8", output="utf-8"
            )  # post.text[:50]
            entries.append(entry)

        return dict(
            title=site.title,
            link=site.url,
            author={"name": site.title, "email": site.email},
            id=site.url,
            subtitle=site.subtitle,
            entries=entries,
        )
Beispiel #17
0
 def search(self, query, *args, **kv):
     site=get_current_site()
     posts = Posts.find_by_query(query=query, site=site)
     return widgets.posts_widget.render(posts=posts, site=site)       
Beispiel #18
0
 def comment_count(self, post_id):
     post = Posts.get(post_id)
     return post.number_of_comments();