Example #1
0
    def _add_discussions(self, row, draftlaw):
        """Add discussion to a draftlaw record.

        @param row: data row
        @type row: [ str ]
        @param draftlaw: a draftlaw
        @type draftlaw: draftlaw.DraftLaw
        """
        from draftlaw.models import DraftLawDiscussion
        col_start = 11
        col_end = 16
        for i in xrange(col_start, col_end + 1):
            if not row[i]: continue

            stage = i - col_start
            stripped = row[i].strip()
            places = stripped.split(';')

            if len(places) > 1:  # must be committees
                for j in xrange(len(places)):
                    parts = places[j].strip().split(':')
                    if len(parts) != 2: continue
                    discussion = DraftLawDiscussion(draftlaw=draftlaw,
                                                    date=self._get_isodate(
                                                        parts[0]),
                                                    place_ka=parts[1].strip(),
                                                    stage=stage)
                    discussion.save()
            else:  # plenary or single committee
                regex = re.compile("\(.+\)")
                try:
                    datestr = regex.search(stripped).group()
                except AttributeError:
                    datestr = ""
                date = self._get_isodate(datestr.strip('()'))
                if i in [11, 13, 15]:  # comittee
                    place = _('Committee')
                else:  # plenary
                    place = _('Plenary')
                discussion = DraftLawDiscussion(draftlaw=draftlaw,
                                                date=date,
                                                place_ka=place,
                                                stage=stage)
                discussion.save()
Example #2
0
    def _add_discussions (self, row, draftlaw):
        """Add discussion to a draftlaw record.

        @param row: data row
        @type row: [ str ]
        @param draftlaw: a draftlaw
        @type draftlaw: draftlaw.DraftLaw
        """
        from draftlaw.models import DraftLawDiscussion
        col_start = 11
        col_end = 16
        for i in xrange(col_start, col_end + 1):
            if not row[i]: continue

            stage = i - col_start
            stripped = row[i].strip()
            places = stripped.split(';')

            if len(places) > 1: # must be committees
                for j in xrange(len(places)):
                    parts = places[j].strip().split(':')
                    if len(parts) != 2: continue
                    discussion = DraftLawDiscussion(draftlaw=draftlaw,
                        date=self._get_isodate(parts[0]),
                        place_ka=parts[1].strip(),
                        stage=stage)
                    discussion.save()
            else: # plenary or single committee
                regex = re.compile("\(.+\)")
                try:
                    datestr = regex.search(stripped).group()
                except AttributeError:
                    datestr = ""
                date = self._get_isodate(datestr.strip('()'))
                if i in [11, 13, 15]: # comittee
                    place = _('Committee')
                else: # plenary
                    place = _('Plenary')
                discussion = DraftLawDiscussion(
                    draftlaw=draftlaw, date=date, place_ka=place, stage=stage)
                discussion.save()
    def _add_discussions (self, row, draftlaw):
        """Add discussion to a draftlaw record.

        @param row: data row
        @type row: [ str ]
        @param draftlaw: a draftlaw
        @type draftlaw: draftlaw.DraftLaw
        """
        col_start = 11
        col_end = 16
        for i in xrange(col_start, col_end + 1):
            if not row[i]: continue

            stage = i - col_start
            stripped = row[i].strip()
            places = stripped.split(';')

            if len(places) > 1: # must be committees
                for j in xrange(len(places)):
                    parts = places[j].strip().split(':')
                    if len(parts) != 2: continue
                    discussion = DraftLawDiscussion(draftlaw=draftlaw,
                        date=self._get_isodate(parts[0]),
                        place_en=parts[1].strip(),
                        stage=stage)
                    discussion.save()
            else: # plenary or single committee
                parts = stripped.split(':')
                date = self._get_isodate(parts[0])
                if i in [11, 13, 15]: # comittee
                    try:
                        # split name of committee from 'PASS'
                        place = parts[1].strip().split(',')[0].strip()
                    except IndexError:
                        place = _('Unknown Committee')
                else: # plenary
                    place = _('Plenary')
                discussion = DraftLawDiscussion(
                    draftlaw=draftlaw, date=date, place_en=place, stage=stage)
                discussion.save()