<commit_before># -*- coding: utf-8 -*-
##
## This file is part of CDS Invenio.
## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 CERN.
##
## CDS Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## CDS Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with CDS Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
"""BibFormat element - Prints document imprint
"""
__revision__ = "$Id$"

import time

def format(bfo, place_label, publisher_label, date_label, separator=', ', date_format=""):
    """
    Print imprint (Order: Name of publisher, place of publication and date of publication).
    Parameter <code>date_format</code> allows to specify the string representation of the output.
    The format string has the same behaviour as the strftime() function.
    <pre>Eg: 1982-09-24 07:32:00
         "%d %B %Y"   -> 24 September 1982
         "%I:%M"      -> 07:32
    </pre>
    @param separator a separator between the elements of imprint
    @param place_label a label to print before the publication place value
    @param publisher_label a label to print before the publisher name
    @param date_label a a label to print before the publication date
    @param date_format date format
    @see place.py, publisher.py, date.py, reprints.py, pagination.py
    """

    place = bfo.field('260__a')
    publisher = bfo.field('260__b')
    date = bfo.field('260__c')

    out = ""

    if publisher != "sine nomine":
        out += publisher_label + ' ' + publisher + separator

    if place != "sine loco":
        out += place_label + ' ' + place + separator

    if len(date) > 0:
        if format != '':
            try:
                date_time = time.strptime(date, "%Y-%m-%d")
                out += date_label + " " + date_time.strftime(date_format)
            except ValueError:
                out += date_label + ' ' + date
        else:
            out += date_label + ' ' + date

    return out<commit_msg>BibFormat: fixed date formatting in bfe_imprint<commit_after># -*- coding: utf-8 -*-
##
## This file is part of CDS Invenio.
## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 CERN.
##
## CDS Invenio is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
## published by the Free Software Foundation; either version 2 of the
## License, or (at your option) any later version.
##
## CDS Invenio is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with CDS Invenio; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
"""BibFormat element - Prints document imprint
"""
__revision__ = "$Id$"

import time

def format(bfo, place_label, publisher_label, date_label,
           separator=', ', date_format=""):
    """
    Print imprint (Order: Name of publisher, place of publication and date of publication).
    Parameter <code>date_format</code> allows to specify the string representation of the output.
    The format string has the same behaviour as the strftime() function.
    <pre>Eg: 1982-09-24 07:32:00
         "%d %B %Y"   -> 24 September 1982
         "%I:%M"      -> 07:32
    </pre>
    @param separator a separator between the elements of imprint
    @param place_label a label to print before the publication place value
    @param publisher_label a label to print before the publisher name
    @param date_label a a label to print before the publication date
    @param date_format date format
    @see place.py, publisher.py, date.py, reprints.py, pagination.py
    """

    place = bfo.field('260__a')
    publisher = bfo.field('260__b')
    date = bfo.field('260__c')

    out = ""

    if publisher != "sine nomine":
        out += publisher_label + ' ' + publisher + separator

    if place != "sine loco":
        out += place_label + ' ' + place + separator

    if len(date) > 0:
        if date_format != '':
            try:
                date_time = time.strptime(date, "%Y-%m-%d")
                out += date_label + " " + time.strftime(date_format, date_time)
            except ValueError:
                out += date_label + ' ' + date
        else:
            out += date_label + ' ' + date

    return out
{'fraction_non_alphanumeric': 0.10252302763315979, 'fraction_numerical': 0.031237484981978373, 'mean_word_length': 2.92688679245283, 'pattern_counts': {'":': 4, '<': 11, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7549080', 'n_tokens_mistral': 1560, 'n_tokens_neox': 1393, 'n_words': 591}