Esempio n. 1
0
def create_test_article(create=True, articleset=None, deduplicate=True, properties=None, project=None, **kargs):
    """Create a test article"""
    from amcat.models.article import Article

    # Get static properties
    title = kargs.pop("title", "test title {}: {}".format(_get_next_id(), uuid4()))
    date = kargs.pop("date", datetime.datetime.now())
    url = kargs.pop("url", "http://example.com")
    text = kargs.pop("text", "Lorum Ipsum: {}".format(_get_next_id()))
    if project is None:
        project = articleset.project if articleset is not None else create_test_project()
    parent_hash = kargs.pop("parent_hash", None)
    hash = kargs.pop("hash", None)

    # Caller is allowed to pas date as string
    if isinstance(date, str):
        date = _parse_date(date)

    a = Article(title=title, date=date, url=url, text=text, project=project, parent_hash=parent_hash, hash=hash)

    if properties:
        for propname, value in properties.items():
            if get_property_primitive_type(propname) == datetime.datetime and isinstance(value, str):
                properties[propname] = _parse_date(value)
        a.properties.update(properties)

    if create:
        Article.create_articles([a], articleset, deduplicate=deduplicate)

    return a
Esempio n. 2
0
def create_test_article(create=True, articleset=None, deduplicate=True, properties=None, **kargs):
    """Create a test article"""
    from amcat.models.article import Article

    # Get static properties
    title = kargs.pop("title", "test title {}: {}".format(_get_next_id(), uuid4()))
    date = kargs.pop("date", datetime.datetime.now())
    url = kargs.pop("url", "http://example.com")
    text = kargs.pop("text", "Lorum Ipsum: {}".format(_get_next_id()))
    project = kargs.pop("project", articleset.project if articleset is not None else create_test_project())
    parent_hash = kargs.pop("parent_hash", None)
    hash = kargs.pop("hash", None)

    # Caller is allowed to pas date as string
    if isinstance(date, str):
        date = _parse_date(date)

    a = Article(title=title, date=date, url=url, text=text, project=project, parent_hash=parent_hash, hash=hash)

    if properties:
        for propname, value in properties.items():
            if get_property_primitive_type(propname) == datetime.datetime and isinstance(value, str):
                properties[propname] = _parse_date(value)
        a.properties.update(properties)

    if create:
        Article.create_articles([a], articleset, deduplicate=deduplicate)

    return a
Esempio n. 3
0
def create_test_set(articles=0, **kargs):
    """Create a test (Article) set"""
    from amcat.models.articleset import ArticleSet, Article
    if "name" not in kargs: kargs["name"] = "testset_%i" % len(ArticleSet.objects.all())
    if "project" not in kargs: kargs["project"] = create_test_project()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    s = ArticleSet.objects.create(**kargs)
    if type(articles) == int:
        articles = [create_test_article(create=False) for _x in range(articles)]
        Article.create_articles(articles, articleset=s, check_duplicate=False, create_id=True)
    elif articles:
        s.add_articles(articles)
    return s
Esempio n. 4
0
def create_test_article(create=True, articleset=None, check_duplicate=False, **kargs):
    """Create a test article"""
    from amcat.models.article import Article
    if "project" not in kargs: kargs["project"] = create_test_project()
    if "date" not in kargs: kargs["date"] = "2000-01-01"
    if "medium" not in kargs: kargs["medium"] = create_test_medium()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    if 'headline' not in kargs: kargs['headline'] = 'test headline'

    a = Article(**kargs)
    if create:
        Article.create_articles([a], articleset, check_duplicate=check_duplicate, create_id=True)
    return a
Esempio n. 5
0
def create_test_set(articles=0, **kargs):
    """Create a test (Article) set"""
    from amcat.models.articleset import ArticleSet, Article
    if "name" not in kargs: kargs["name"] = "testset_%i" % len(ArticleSet.objects.all())
    if "project" not in kargs: kargs["project"] = create_test_project()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    s = ArticleSet.objects.create(**kargs)
    if type(articles) == int:
        articles = [create_test_article(create=False) for _x in range(articles)]
        Article.create_articles(articles, articleset=s, check_duplicate=False)
    elif articles:
        s.add_articles(articles)
    return s
Esempio n. 6
0
def create_test_article(create=True, articleset=None, check_duplicate=False, **kargs):
    """Create a test article"""
    from amcat.models.article import Article
    if "project" not in kargs: kargs["project"] = create_test_project()
    if "date" not in kargs: kargs["date"] = "2000-01-01"
    if "medium" not in kargs: kargs["medium"] = create_test_medium()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    if 'headline' not in kargs: kargs['headline'] = 'test headline'

    a = Article(**kargs)
    if create:
        Article.create_articles([a], articleset, check_duplicate=check_duplicate)
    return a
Esempio n. 7
0
def create_test_article(create=True, articleset=None, deduplicate=True, **kargs):
    """Create a test article"""
    from amcat.models.article import Article

    if "date" in kargs and isinstance(kargs["date"], str):
        kargs["date"] = read_date(kargs["date"])

    if "project" not in kargs: kargs["project"] = create_test_project()
    if "date" not in kargs: kargs["date"] = datetime.date(2000, 1, 1)
    if "medium" not in kargs: kargs["medium"] = create_test_medium()
    if 'headline' not in kargs: kargs['headline'] = 'test headline {} : {}'.format(_get_next_id(), uuid4())
    if 'text' not in kargs: kargs["text"] = 'test text {}'.format(_get_next_id())

    a = Article(**kargs)
    if create:
        Article.create_articles([a], articleset, deduplicate=deduplicate)
    return a
Esempio n. 8
0
def create_test_article(create=True, articleset=None, check_duplicate=False, **kargs):
    """Create a test article"""
    from amcat.models.article import Article

    if "date" in kargs and isinstance(kargs["date"], basestring):
        kargs["date"] = read_date(kargs["date"])

    if "project" not in kargs: kargs["project"] = create_test_project()
    if "date" not in kargs: kargs["date"] = datetime.date(2000, 1, 1)
    if "medium" not in kargs: kargs["medium"] = create_test_medium()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    if 'headline' not in kargs: kargs['headline'] = 'test headline'
    if 'text' not in kargs: kargs["text"] = "\n\n".join(map(str, range(5)))

    a = Article(**kargs)
    if create:
        Article.create_articles([a], articleset, check_duplicate=check_duplicate, create_id=True)
    return a
Esempio n. 9
0
def create_test_article(create=True,
                        articleset=None,
                        check_duplicate=False,
                        **kargs):
    """Create a test article"""
    from amcat.models.article import Article

    if "date" in kargs and isinstance(kargs["date"], basestring):
        kargs["date"] = read_date(kargs["date"])

    if "project" not in kargs: kargs["project"] = create_test_project()
    if "date" not in kargs: kargs["date"] = datetime.date(2000, 1, 1)
    if "medium" not in kargs: kargs["medium"] = create_test_medium()
    if "id" not in kargs: kargs["id"] = _get_next_id()
    if 'headline' not in kargs: kargs['headline'] = 'test headline'
    if 'text' not in kargs: kargs["text"] = "\n\n".join(map(str, range(5)))

    a = Article(**kargs)
    if create:
        Article.create_articles([a],
                                articleset,
                                check_duplicate=check_duplicate,
                                create_id=True)
    return a