Esempio n. 1
0
 def original_merge(self):
     """
     As the function worked originally
     :return:
     """
     for ged_result in self.get_all_ids():
         id_gedetineerde = ged_result[0]
         # Check whether it is in PrisonersCompare
         already_merged = PrisonersMerged.query.filter(PrisonersMerged.id_gedetineerde == id_gedetineerde).first()
         if already_merged:
             continue
         print(id_gedetineerde)
         #in_compare = db.session.query(prisonersmatch).filter(
         #    prisonersmatch.c.master_id_ged == id_gedetineerde).first()
         in_compare = PrisonersMatch.query.filter(PrisonersMatch.master_id_ged == id_gedetineerde).first()
         # in_compare = PrisonersCompare.query.filter(PrisonersCompare.id_gedetineerde == id_gedetineerde).first()
         if in_compare:
             print('Has some matches')
             db_pris_compare = PrisonersCompare.query. \
                 filter(PrisonersCompare.id_gedetineerde == id_gedetineerde).first()
             # Get the matches using a join (using .matches does not work)
             matches = self.get_matches(db_pris_compare)
             for match in matches:
                 print('idmatch:' + str(match.id_gedetineerde))
             # It is
             db_gedetineerde = db_pris_compare.Gedetineerde
             db_verblijf = db_gedetineerde.Verblijf.first()
             db_geboorteplaats = db_verblijf.Geboorteplaats.first()
             db_misdrijf = db_verblijf.Misdrijf.first()
             db_woonplaats = db_verblijf.Woonplaats.first()
             db_prisoner = PrisonersMerged()
             db_prisoner.id_gedetineerde = db_gedetineerde.Id_gedetineerde
             db_prisoner.naam = db_gedetineerde.Naam
             db_prisoner.voornaam = db_gedetineerde.Voornaam
             db_prisoner.geslacht = db_gedetineerde.Geslacht
             if db_geboorteplaats:
                 db_prisoner.geboorteplaats = db_geboorteplaats.Plaatsnaam_vertaling
                 db_prisoner.geboorteplaats_nis = db_geboorteplaats.Plaatsnaam_NIS
             if db_misdrijf:
                 db_prisoner.misdrijf = db_misdrijf.Misdrijf_vertaling
             if db_woonplaats:
                 db_prisoner.woonplaats = db_woonplaats.Plaatsnaam_vertaling
                 db_prisoner.woonplaats_nis = db_woonplaats.Plaatsnaam_NIS
             db_prisoner.beroep = self.get_occupation_closest_to(db_pris_compare, self.age_to, matches)
             # db_prisoner.leeftijd = db_pris_compare.Gedetineerde.first().Verblijf.first().Leeftijd
             db_prisoner.lichaamslengte = self.get_height_closest_to(db_pris_compare, self.age_to, matches)
             db_prisoner.geboortejaar = self.make_year_of_birth(db_pris_compare.Gedetineerde)
             db_prisoner.flag = True
             db_prisoner.control_leeftijd = self.make_control_leeftijd(db_pris_compare, matches)
             db_prisoner.control_lichaamslengte = self.make_control_lichaamslengte(db_pris_compare, matches)
             db.session.add(db_prisoner)
             try:
                 db.session.commit()
             except Exception as e:
                 db.session.rollback()
                 print(e)
         else:
             # It isn't
             # Check whether it has been matched (we skip those as well)
             #has_been_checked = db.session.query(prisonersmatch).filter(
             #    prisonersmatch.c.slave_id_ged == id_gedetineerde).first()
             has_been_checked = PrisonersMatch.query.filter(PrisonersMatch.slave_id_ged == id_gedetineerde).first()
             if not has_been_checked:
                 db_gedetineerde = Gedetineerde.query.filter(Gedetineerde.Id_gedetineerde == id_gedetineerde).first()
                 db_verblijf = db_gedetineerde.Verblijf.first()
                 db_geboorteplaats = db_verblijf.Geboorteplaats.first()
                 db_misdrijf = db_verblijf.Misdrijf.first()
                 db_woonplaats = db_verblijf.Woonplaats.first()
                 db_beroep = db_verblijf.Beroep.first()
                 db_prisoner = PrisonersMerged()
                 db_prisoner.id_gedetineerde = db_gedetineerde.Id_gedetineerde
                 db_prisoner.naam = db_gedetineerde.Naam
                 db_prisoner.voornaam = db_gedetineerde.Voornaam
                 db_prisoner.geslacht = db_gedetineerde.Geslacht
                 if db_geboorteplaats:
                     db_prisoner.geboorteplaats = db_geboorteplaats.Plaatsnaam_vertaling
                     db_prisoner.geboorteplaats_nis = db_geboorteplaats.Plaatsnaam_NIS
                 if db_misdrijf:
                     db_prisoner.misdrijf = db_misdrijf.Misdrijf_vertaling
                 if db_woonplaats:
                     db_prisoner.woonplaats = db_woonplaats.Plaatsnaam_vertaling
                     db_prisoner.woonplaats_nis = db_woonplaats.Plaatsnaam_NIS
                 if db_beroep:
                     db_prisoner.beroep = db_beroep.Beroep_vertaling
                 db_prisoner.leeftijd = db_verblijf.Leeftijd
                 db_prisoner.geboortejaar = self.make_year_of_birth(db_gedetineerde)
                 db_prisoner.lichaamslengte = db_verblijf.Lichaamslengte_m
                 db.session.add(db_prisoner)
                 try:
                     db.session.commit()
                 except Exception as e:
                     db.session.rollback()
                     print(e)
Esempio n. 2
0
    def new_merge(self):
        """
        Function that merges and returns the correct id_gedetineerde + fill in the age
        :return:
        """
        for ged_result in self.get_all_ids():
            id_gedetineerde = ged_result[0]
            # Check whether it is in PrisonersCompare
            already_merged = PrisonersMerged.query.filter(PrisonersMerged.id_gedetineerde == id_gedetineerde).first()
            if already_merged:
                continue
            print(id_gedetineerde)
            #in_compare = db.session.query(prisonersmatch).filter(
            #    prisonersmatch.c.master_id_ged == id_gedetineerde).first()
            in_compare = PrisonersMatch.query.filter(PrisonersMatch.master_id_ged == id_gedetineerde).first()
            # in_compare = PrisonersCompare.query.filter(PrisonersCompare.id_gedetineerde == id_gedetineerde).first()
            if in_compare:
                print('Has some matches')
                db_pris_compare = PrisonersCompare.query. \
                    filter(PrisonersCompare.id_gedetineerde == id_gedetineerde).first()
                # Get the matches using a join (using .matches does not work)
                matches = self.get_matches(db_pris_compare)
                for match in matches:
                    print('idmatch:' + str(match.id_gedetineerde))
                # It is
                # Now get all information from the one that's closest to our self.age_to
                db_prisoner_to_age = self.get_pris_closest_to(db_pris_compare, self.age_to, matches)

                print('pris closest to {0}: {1}'.format(str(self.age_to), str(db_prisoner_to_age.id_gedetineerde)))
                print('check:{0}'.format(db_pris_compare.id_gedetineerde))

                db_gedetineerde = db_prisoner_to_age.Gedetineerde
                db_verblijf = db_gedetineerde.Verblijf.first()
                db_geboorteplaats = db_verblijf.Geboorteplaats.first()
                db_misdrijf = db_verblijf.Misdrijf.first()
                db_woonplaats = db_verblijf.Woonplaats.first()
                db_beroep = db_verblijf.Beroep.first()

                db_prisoner = PrisonersMerged()
                db_prisoner.id_gedetineerde = db_gedetineerde.Id_gedetineerde
                db_prisoner.id_gedetineerde_wrong = db_pris_compare.id_gedetineerde
                db_prisoner.naam = db_gedetineerde.Naam
                db_prisoner.voornaam = db_gedetineerde.Voornaam
                db_prisoner.geslacht = db_gedetineerde.Geslacht
                if db_geboorteplaats:
                    db_prisoner.geboorteplaats = db_geboorteplaats.Plaatsnaam_vertaling
                    db_prisoner.geboorteplaats_nis = db_geboorteplaats.Plaatsnaam_NIS
                if db_misdrijf:
                    db_prisoner.misdrijf = db_misdrijf.Misdrijf_vertaling
                if db_woonplaats:
                    db_prisoner.woonplaats = db_woonplaats.Plaatsnaam_vertaling
                    db_prisoner.woonplaats_nis = db_woonplaats.Plaatsnaam_NIS
                if db_beroep:
                    db_prisoner.beroep = db_beroep.Beroep_vertaling
                db_prisoner.leeftijd = db_verblijf.Leeftijd
                db_prisoner.geboortejaar = self.make_year_of_birth(db_gedetineerde)
                db_prisoner.lichaamslengte = db_verblijf.Lichaamslengte_m
                db_prisoner.flag = False
                db_prisoner.control_leeftijd = self.make_control_leeftijd(db_pris_compare, matches)
                db_prisoner.control_lichaamslengte = self.make_control_lichaamslengte(db_pris_compare, matches)
                db.session.add(db_prisoner)
                try:
                    db.session.commit()
                except Exception as e:
                    db.session.rollback()
                    print(e)
            else:
                # It isn't
                # Check whether it has been matched (we skip those as well)
                #has_been_checked = db.session.query(prisonersmatch).filter(
                #    prisonersmatch.c.slave_id_ged == id_gedetineerde).first()
                has_been_checked = PrisonersMatch.query.filter(PrisonersMatch.slave_id_ged == id_gedetineerde).first()
                if not has_been_checked:
                    db_gedetineerde = Gedetineerde.query.filter(Gedetineerde.Id_gedetineerde == id_gedetineerde).first()
                    db_verblijf = db_gedetineerde.Verblijf.first()
                    db_geboorteplaats = db_verblijf.Geboorteplaats.first()
                    db_misdrijf = db_verblijf.Misdrijf.first()
                    db_woonplaats = db_verblijf.Woonplaats.first()
                    db_beroep = db_verblijf.Beroep.first()
                    db_prisoner = PrisonersMerged()
                    db_prisoner.id_gedetineerde = db_gedetineerde.Id_gedetineerde
                    db_prisoner.naam = db_gedetineerde.Naam
                    db_prisoner.voornaam = db_gedetineerde.Voornaam
                    db_prisoner.geslacht = db_gedetineerde.Geslacht
                    if db_geboorteplaats:
                        db_prisoner.geboorteplaats = db_geboorteplaats.Plaatsnaam_vertaling
                        db_prisoner.geboorteplaats_nis = db_geboorteplaats.Plaatsnaam_NIS
                    if db_misdrijf:
                        db_prisoner.misdrijf = db_misdrijf.Misdrijf_vertaling
                    if db_woonplaats:
                        db_prisoner.woonplaats = db_woonplaats.Plaatsnaam_vertaling
                        db_prisoner.woonplaats_nis = db_woonplaats.Plaatsnaam_NIS
                    if db_beroep:
                        db_prisoner.beroep = db_beroep.Beroep_vertaling
                    db_prisoner.leeftijd = db_verblijf.Leeftijd
                    db_prisoner.geboortejaar = self.make_year_of_birth(db_gedetineerde)
                    db_prisoner.lichaamslengte = db_verblijf.Lichaamslengte_m
                    db.session.add(db_prisoner)
                    try:
                        db.session.commit()
                    except Exception as e:
                        db.session.rollback()
                        print(e)