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)
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)
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)
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)
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)
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)
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()
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)
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)
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)
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)
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)
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)
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()
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)
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, )
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)
def comment_count(self, post_id): post = Posts.get(post_id) return post.number_of_comments();