Example #1
0
    def all_tab_delimited_formatter(self, form):
        """All the data of a form, tab-delimited.

        """
        form_list = [
            str(form.id),
            self.no_tabs(u"%s%s" % (form.grammaticality, h.storageToOutputTranslate(form.transcription))),
            self.no_tabs(form.narrowPhoneticTranscription) or u"",
            self.no_tabs(form.phoneticTranscription) or u"",
            self.no_tabs(h.storageToOutputTranslate(form.morphemeBreak, True)) or u"",
            self.no_tabs(form.morphemeGloss) or u"",
            self.no_tabs(
                u"; ".join(["%s%s" % (x.glossGrammaticality, x.gloss.replace(";", ".")) for x in form.glosses])
            ),
            form.comments and self.no_tabs(h.storageToOutputTranslateOLOnly(form.comments)) or u"",
            form.speakerComments and self.no_tabs(h.storageToOutputTranslateOLOnly(form.speakerComments)) or u"",
            form.context and self.no_tabs(form.context) or u"",
            form.dateElicited and self.no_tabs(form.dateElicited.strftime("%b %d, %Y")) or u"",
            form.datetimeEntered and self.no_tabs(form.datetimeEntered.strftime("%b %d, %Y at %I:%M %p")) or u"",
            form.datetimeModified and self.no_tabs(form.datetimeModified.strftime("%b %d, %Y at %I:%M %p")) or u"",
            form.syntacticCategoryString and self.no_tabs(form.syntacticCategoryString) or u"",
            form.elicitor and self.no_tabs(u"%s %s" % (form.elicitor.firstName, form.elicitor.lastName)) or u"",
            form.enterer and self.no_tabs(u"%s %s" % (form.enterer.firstName, form.enterer.lastName)) or u"",
            form.verifier and self.no_tabs(u"%s %s" % (form.verifier.firstName, form.verifier.lastName)) or u"",
            form.speaker and self.no_tabs(u"%s %s" % (form.speaker.firstName, form.speaker.lastName)) or u"",
            form.elicitationMethod and self.no_tabs(form.elicitationMethod.name) or u"",
            form.syntacticCategory and self.no_tabs(form.syntacticCategory.name) or u"",
            form.source and self.no_tabs(u"%s (%s)" % (form.source.authorLastName, form.source.year)) or u"",
            form.keywords and self.no_tabs(u"; ".join([x.name.replace(u";", u".") for x in form.keywords])) or u"",
        ]
        return u"\t".join([x.replace("\t", " ") for x in form_list])
Example #2
0
    def all_tab_delimited_formatter(self, form):
        """All the data of a form, tab-delimited.

        """
        form_list = [
            str(form.id),
            self.no_tabs(u'%s%s' %
                         (form.grammaticality,
                          h.storageToOutputTranslate(form.transcription))),
            self.no_tabs(form.narrowPhoneticTranscription) or u'',
            self.no_tabs(form.phoneticTranscription) or u'',
            self.no_tabs(h.storageToOutputTranslate(form.morphemeBreak, True))
            or u'',
            self.no_tabs(form.morphemeGloss) or u'',
            self.no_tabs(u'; '.join([
                '%s%s' % (x.glossGrammaticality, x.gloss.replace(';', '.'))
                for x in form.glosses
            ])), form.comments
            and self.no_tabs(h.storageToOutputTranslateOLOnly(form.comments))
            or u'', form.speakerComments and self.no_tabs(
                h.storageToOutputTranslateOLOnly(form.speakerComments)) or u'',
            form.context and self.no_tabs(form.context) or u'',
            form.dateElicited
            and self.no_tabs(form.dateElicited.strftime('%b %d, %Y')) or u'',
            form.datetimeEntered and self.no_tabs(
                form.datetimeEntered.strftime('%b %d, %Y at %I:%M %p')) or u'',
            form.datetimeModified and self.no_tabs(
                form.datetimeModified.strftime('%b %d, %Y at %I:%M %p'))
            or u'', form.syntacticCategoryString
            and self.no_tabs(form.syntacticCategoryString) or u'',
            form.elicitor
            and self.no_tabs(u'%s %s' %
                             (form.elicitor.firstName, form.elicitor.lastName))
            or u'', form.enterer
            and self.no_tabs(u'%s %s' %
                             (form.enterer.firstName, form.enterer.lastName))
            or u'', form.verifier
            and self.no_tabs(u'%s %s' %
                             (form.verifier.firstName, form.verifier.lastName))
            or u'', form.speaker
            and self.no_tabs(u'%s %s' %
                             (form.speaker.firstName, form.speaker.lastName))
            or u'', form.elicitationMethod and self.no_tabs(
                form.elicitationMethod.name) or u'', form.syntacticCategory
            and self.no_tabs(form.syntacticCategory.name) or u'', form.source
            and self.no_tabs(u'%s (%s)' %
                             (form.source.authorLastName, form.source.year))
            or u'', form.keywords and self.no_tabs(u'; '.join(
                [x.name.replace(u';', u'.') for x in form.keywords])) or u''
        ]
        return u'\t'.join([x.replace('\t', ' ') for x in form_list])
Example #3
0
    def txt_secondary_data(self, form):
        """Comments, speaker comments and an 'OLD reference' separated by newlines.
        The 'OLD reference' is the date elicited followed by the ID in parentheses.

        """
        result = []
        if form.comments:
            result.append(h.storageToOutputTranslateOLOnly(form.comments))
        if form.speakerComments:
            result.append(h.storageToOutputTranslateOLOnly(form.speakerComments))
        if form.dateElicited:
            result.append(u"%s (%s)" % (form.dateElicited.strftime("%b %d, %Y"), form.id))
        else:
            result.append(u"(%s)" % form.id)
        return u"\n".join(result)
Example #4
0
    def txt_secondary_data(self, form):
        """Comments, speaker comments and an 'OLD reference' separated by newlines.
        The 'OLD reference' is the date elicited followed by the ID in parentheses.

        """
        result = []
        if form.comments:
            result.append(h.storageToOutputTranslateOLOnly(form.comments))
        if form.speakerComments:
            result.append(
                h.storageToOutputTranslateOLOnly(form.speakerComments))
        if form.dateElicited:
            result.append(u'%s (%s)' %
                          (form.dateElicited.strftime('%b %d, %Y'), form.id))
        else:
            result.append(u'(%s)' % form.id)
        return u'\n'.join(result)
Example #5
0
    def xelatex_secondary_data(self, form, reference=True):
        """Return the Form's comments, speaker comments and a reference as a LaTeX
        itemized list.  Reference is 'x(yz)' where 'x' is the speaker's initials,
        'y' is the date elicited and 'z' is the id of the Form.  If reference is
        False, no reference to the Form is added.

        """

        result = [u'\t\\begin{itemize}']
        if form.comments:
            result.append(u'\n\t\t\\item %s' % self.esc_latex(
                h.storageToOutputTranslateOLOnly(form.comments)))
        if form.speakerComments:
            result.append(u'\n\t\t\\item %s' % self.esc_latex(
                h.storageToOutputTranslateOLOnly(form.speakerComments)))
        if form.context:
            result.append(u'\n\t\t\\item %s' % self.esc_latex(form.context))
        if reference:
            if form.speaker:
                speaker = u'%s%s ' % (
                    self.esc_latex(form.speaker.firstName[0].upper()),
                    self.esc_latex(form.speaker.lastName[0].upper()))
            else:
                speaker = u''
            if form.dateElicited:
                dateElicited = self.esc_latex(
                    form.dateElicited.strftime('%b %d, %Y; '))
            else:
                dateElicited = u''
            if form.speaker:
                result.append(u'\n\t\t\\item %s(%s%s)' %
                              (speaker, dateElicited, 'OLD ID: %s' % form.id))
            elif form.source:
                source = '%s (%s) ' % (self.esc_latex(
                    form.source.authorLastName), form.source.year)
                result.append(u'\n\t\t\\item %s(%s)' %
                              (source, 'OLD ID: %s' % form.id))
            else:
                result.append(u'\n\t\t\\item (%s%s)' %
                              (dateElicited, 'OLD ID: %s' % form.id))
        result.append(u'\n\t\\end{itemize}')
        if len(result) > 2:
            return u''.join(result)
        return u''
Example #6
0
    def xelatex_secondary_data(self, form, reference=True):
        """Return the Form's comments, speaker comments and a reference as a LaTeX
        itemized list.  Reference is 'x(yz)' where 'x' is the speaker's initials,
        'y' is the date elicited and 'z' is the id of the Form.  If reference is
        False, no reference to the Form is added.

        """

        result = [u"\t\\begin{itemize}"]
        if form.comments:
            result.append(u"\n\t\t\\item %s" % self.esc_latex(h.storageToOutputTranslateOLOnly(form.comments)))
        if form.speakerComments:
            result.append(u"\n\t\t\\item %s" % self.esc_latex(h.storageToOutputTranslateOLOnly(form.speakerComments)))
        if form.context:
            result.append(u"\n\t\t\\item %s" % self.esc_latex(form.context))
        if reference:
            if form.speaker:
                speaker = u"%s%s " % (
                    self.esc_latex(form.speaker.firstName[0].upper()),
                    self.esc_latex(form.speaker.lastName[0].upper()),
                )
            else:
                speaker = u""
            if form.dateElicited:
                dateElicited = self.esc_latex(form.dateElicited.strftime("%b %d, %Y; "))
            else:
                dateElicited = u""
            if form.speaker:
                result.append(u"\n\t\t\\item %s(%s%s)" % (speaker, dateElicited, "OLD ID: %s" % form.id))
            elif form.source:
                source = "%s (%s) " % (self.esc_latex(form.source.authorLastName), form.source.year)
                result.append(u"\n\t\t\\item %s(%s)" % (source, "OLD ID: %s" % form.id))
            else:
                result.append(u"\n\t\t\\item (%s%s)" % (dateElicited, "OLD ID: %s" % form.id))
        result.append(u"\n\t\\end{itemize}")
        if len(result) > 2:
            return u"".join(result)
        return u""