def test_create_only_required_fields_success(self):
        # given
        _id = self.generate_uuid_32_string()
        press_release_data = {
            '_id': _id,
            'title': 'foo bar',
            'language': 'en',
            'content': 'lorem ipsum dolor sit ahmet',
            'url': 'http://blog.scielo.org',
            'publication_date': datetime.now(),
        }
        # when
        pr_doc = PressRelease(**press_release_data)
        pr_doc.save()

        # then
        pr_count = PressRelease.objects.all().count()
        self.assertEqual(_id, pr_doc._id)
        self.assertEqual(1, pr_count)
예제 #2
0
def get_press_release(journal, issue, lang_code, article=None):
    filters = {}

    if article:
        filters['article'] = article.id

    filters['journal'] = journal.id
    filters['issue'] = issue.id
    filters['language'] = lang_code

    return PressRelease.objects(**filters).first()
예제 #3
0
def create_press_release_record(pr_model_data):
    try:
        pr = PressRelease.objects(**pr_model_data)[:1]

        if len(pr) == 0:  # On create add an id
            pr_model_data['_id'] = uuid4().hex

        pr.modify(upsert=True, new=True, **pr_model_data)

    except Exception as e:
        raise e
예제 #4
0
def get_press_release(journal, issue, lang_code, article=None):

    filters = {}

    if article:
        filters['article'] = article.id

    filters['journal'] = journal.id
    filters['issue'] = issue.id
    filters['language'] = lang_code

    return PressRelease.objects(**filters).first()
예제 #5
0
def get_press_releases(query_filter=None, order_by="-publication_date"):
    if not query_filter:
        query_filter = {}

    return PressRelease.objects(**query_filter).order_by(order_by)
예제 #6
0
def get_press_releases(query_filter=None, order_by="publication_date"):

    if not query_filter:
        query_filter = {}

    return PressRelease.objects(**query_filter).order_by(order_by)