Exemple #1
0
def main_ui():
    '''
    Top level UI
    This will eventually become a full-blown user dashboard.
    Right now it just returns a list of sites in the system.
    All users for the system can see this dashboard.
    '''
    user = auth.is_logged_in(request)

    # TODO: replace with actual user-centric setting
    try:
        from settings import MAX_RECENT_PAGES
    except ImportError:
        MAX_RECENT_PAGES = 10

    recent_pages = Page.select().where(
        Page.user == user).order_by(
        Page.modified_date.desc()).limit(MAX_RECENT_PAGES)

    your_blogs = user.blogs()

    tpl = template('ui/ui_dashboard',
        search_context=(search_contexts['sites'], None),
        menu=generate_menu('system_menu', None),
        recent_pages=recent_pages,
        your_blogs=your_blogs,
        **template_tags(user=user).__dict__
        )

    return tpl
Exemple #2
0
    def blog_search(self, search_terms_enc, blog):
        from core.models import Page

        # ct = 0

        if blog is not None:
            blog_to_search = blog.pages.select(Page.id)

        try:
            search_results = (Page_Search.select(Page_Search.id)
                .where(Page_Search.id << blog_to_search,
                    Page_Search.title.contains(search_terms_enc) | Page_Search.text.contains(search_terms_enc))
                .order_by(Page_Search.id.desc()))
                # .tuples())
            search_results.count()  # This statement is used to trap FTS4 errors
        except Exception:
            # pass
        # except OperationalError as e:
            # raise e
            # if ct == 0:
            search_results = (Page.select(Page.id)
                .where(Page.blog == blog,
                    Page.title.contains(search_terms_enc) | Page.text.contains(search_terms_enc))
                .order_by(Page.id.desc()))
                # .tuples())

        return search_results
Exemple #3
0
def main_ui():
    '''
    Top level UI
    This will eventually become a full-blown user dashboard.
    Right now it just returns a list of sites in the system.
    All users for the system can see this dashboard.
    '''
    user = auth.is_logged_in(request)

    # TODO: replace with actual user-centric setting
    try:
        from settings import MAX_RECENT_PAGES
    except ImportError:
        MAX_RECENT_PAGES = 10

    recent_pages = Page.select().where(Page.user == user).order_by(
        Page.modified_date.desc()).limit(MAX_RECENT_PAGES)

    your_blogs = user.blogs()

    tpl = template('ui/ui_dashboard',
                   search_context=(search_contexts['sites'], None),
                   menu=generate_menu('system_menu', None),
                   recent_pages=recent_pages,
                   your_blogs=your_blogs,
                   **template_tags(user=user).__dict__)

    return tpl
Exemple #4
0
    def site_search(self, search_terms_enc, site):
        from core.models import Page, Site

        # ct = 0

        if site is not None:
            site_to_search = Site.load(site).pages.select(Page.id).tuples()

        try:
            search_results = (Page_Search.select(Page_Search.id).where(
                Page_Search.id << site_to_search,
                Page_Search.title.contains(search_terms_enc)
                | Page_Search.text.contains(search_terms_enc)).order_by(
                    Page_Search.id.desc()).tuples())
            search_results.count(
            )  # This statement is used to trap FTS4 errors
        except Exception:
            # pass
            # if ct == 0:
            search_results = (Page.select(Page.id).where(
                Page.blog.site == site,
                Page.title.contains(search_terms_enc)
                | Page.text.contains(search_terms_enc)).order_by(
                    Page.id.desc()).tuples())

        return search_results
Exemple #5
0
    def blog_search(self, search_terms_enc, blog):
        from core.models import Page

        # ct = 0

        if blog is not None:
            blog_to_search = blog.pages.select(Page.id)

        try:
            search_results = (Page_Search.select(Page_Search.id).where(
                Page_Search.id << blog_to_search,
                Page_Search.title.contains(search_terms_enc)
                | Page_Search.text.contains(search_terms_enc)).order_by(
                    Page_Search.id.desc()))
            # .tuples())
            search_results.count(
            )  # This statement is used to trap FTS4 errors
        except Exception:
            # pass
            # except OperationalError as e:
            # raise e
            # if ct == 0:
            search_results = (Page.select(Page.id).where(
                Page.blog == blog,
                Page.title.contains(search_terms_enc)
                | Page.text.contains(search_terms_enc)).order_by(
                    Page.id.desc()))
            # .tuples())

        return search_results
Exemple #6
0
def blog_search(search_terms_enc, blog):

    ct = 0

    if blog is not None:
        blog_to_search = blog.pages().select(Page.id).tuples()

    try:
        search_results = (Page_Search.select(Page_Search.id).where(
            Page_Search.id << blog_to_search,
            Page_Search.title.contains(search_terms_enc)
            | Page_Search.text.contains(search_terms_enc)).order_by(
                Page_Search.id.desc()).tuples())
        ct = search_results.count(
        )  # This statement is used to trap FTS4 errors
    except OperationalError:
        pass
    if ct == 0:
        search_results = (Page.select(Page.id).where(
            Page.blog == blog,
            Page.title.contains(search_terms_enc)
            | Page.text.contains(search_terms_enc)).order_by(
                Page.id.desc()).tuples())

    return search_results
Exemple #7
0
    def site_search(self, search_terms_enc, site):
        from core.models import Page, Site

        # ct = 0

        if site is not None:
            site_to_search = Site.load(site).pages.select(Page.id).tuples()

        try:
            search_results = (Page_Search.select(Page_Search.id)
                .where(Page_Search.id << site_to_search,
                    Page_Search.title.contains(search_terms_enc) | Page_Search.text.contains(search_terms_enc))
                .order_by(Page_Search.id.desc()).tuples())
            search_results.count()  # This statement is used to trap FTS4 errors
        except Exception:
            # pass
            # if ct == 0:
            search_results = (Page.select(Page.id)
                .where(Page.blog.site == site,
                    Page.title.contains(search_terms_enc) | Page.text.contains(search_terms_enc))
                .order_by(Page.id.desc()).tuples())

        return search_results
Exemple #8
0
def site_search(search_terms_enc, site):
    ct = 0

    if site is not None:
        site_to_search = get_site(site).pages().select(Page.id).tuples()

    try:
        search_results = (Page_Search.select(Page_Search.id).where(
            Page_Search.id << site_to_search,
            Page_Search.title.contains(search_terms_enc)
            | Page_Search.text.contains(search_terms_enc)).order_by(
                Page_Search.id.desc()).tuples())
        ct = search_results.count(
        )  # This statement is used to trap FTS4 errors
    except OperationalError:
        pass
    if ct == 0:
        search_results = (Page.select(Page.id).where(
            Page.blog.site == site,
            Page.title.contains(search_terms_enc)
            | Page.text.contains(search_terms_enc)).order_by(
                Page.id.desc()).tuples())

    return search_results
Exemple #9
0
    product_id = '{}, running in {}'.format(settings.PRODUCT_NAME, settings.APPLICATION_PATH)

    print ('{}\nScheduled tasks script.'.format(product_id))

    if nowait:
        print('Ignoring insert wait.')

    print ('Looking for scheduled tasks...')

    from core.models import Page, page_status, Queue

    blogs_to_check = {}
    scheduled_page_report = []

    scheduled_pages = Page.select().where(
        Page.status == page_status.scheduled,
        Page.publication_date <= datetime.datetime.utcnow()).order_by(
            Page.publication_date.desc())

    total_pages = scheduled_pages.count()

    print ('{} pages scheduled'.format(total_pages))

    if total_pages > 0:
        for p in scheduled_pages.select(Page.blog).distinct():
            b = p.blog
            blogs_to_check[b.id] = b

    queue_count = Queue.select(Queue.blog).distinct()

    if queue_count.count() > 0:
        for n in queue_count:
Exemple #10
0
def blog_search(search_terms_enc,blog):
    
    return (Page.select(Page.id)
        .where(Page.blog == blog,
            Page.title.contains(search_terms_enc) | Page.text.contains(search_terms_enc))
        .order_by(Page.id.desc()).tuples())
Exemple #11
0
def site_search(search_terms_enc, site):
    
    return (Page.select(Page.id)
        .where(Page.blog.site == site,
            Page.title.contains(search_terms_enc) | Page.text.contains(search_terms_enc))
        .order_by(Page.id.desc()).tuples())
Exemple #12
0
                                            settings.APPLICATION_PATH)

    print('{}\nScheduled tasks script.'.format(product_id))

    if nowait:
        print('Ignoring insert wait.')

    print('Looking for scheduled tasks...')

    from core.models import Page, page_status, Queue

    blogs_to_check = {}
    scheduled_page_report = []

    scheduled_pages = Page.select().where(
        Page.status == page_status.scheduled,
        Page.publication_date <= datetime.datetime.utcnow()).order_by(
            Page.publication_date.desc())

    total_pages = scheduled_pages.count()

    print('{} pages scheduled'.format(total_pages))

    if total_pages > 0:
        for p in scheduled_pages.select(Page.blog).distinct():
            b = p.blog
            blogs_to_check[b.id] = b

    queue_count = Queue.select(Queue.blog).distinct()

    if queue_count.count() > 0:
        for n in queue_count: