From debb4abf2e36c38ee5579a522d134fb1b5da3fc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Marti=CC=81n?= Date: Mon, 25 Aug 2014 20:59:18 +0200 Subject: [PATCH] Temp file for legacy purposes --- other/migration_to_languages_collections.py | 183 ++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 other/migration_to_languages_collections.py diff --git a/other/migration_to_languages_collections.py b/other/migration_to_languages_collections.py new file mode 100644 index 0000000..ff06306 --- /dev/null +++ b/other/migration_to_languages_collections.py @@ -0,0 +1,183 @@ +# coding: utf-8 +import json +import os +import sys +import requesocks as requests +import uuid +import re +from utils.crawler_listadomanga.progressbar import ProgressBar +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "shelfzilla.settings.local") +from filer.models.imagemodels import Image +from django.core.files import File +import datetime + + +from shelfzilla.apps.manga.models import Series, Person, Publisher, Volume, Language, SeriesSummary, SeriesPublisher, VolumeCollection + + +esp = Language.objects.get(code='es-es') +cat = Language.objects.get(code='es-ca') + +# +# MIGRATE SUMMARIES +# +# series = Series.objects.all() +# for s in series: +# language = esp +# if u'Catalán' in s.name: +# language = cat + +# summary, is_new = SeriesSummary.objects.get_or_create( +# series=s, language=language, summary=s.summary +# ) +# empty = SeriesSummary.objects.filter(summary=None).delete() +# empty = SeriesSummary.objects.filter(summary="").count() + +# +# ADD NEW PUBLISHERS INFO +# +# series = Series.objects.all() +# for s in series: +# i = 1 +# for pub in s.publishers_old.all(): +# if i == 1: +# current = True +# else: +# current = False +# pub_new, is_new = SeriesPublisher.objects.get_or_create( +# series=s, publisher=pub, status=s.status, actual_publisher=current +# ) +# i += 1 + + +# +# MIGRATE CATALA SERIES TO SERIES NAME +# +# series_catala = Series.objects.filter(name__contains=u'Catalán') +# print(series_catala) + +# # series_catala = Series.objects.filter(pk=1284) +# for s in series_catala: +# name_corrected = " ".join(s.name.split(' ')[:-1]) +# print(s.name.encode('utf-8')) +# print(name_corrected.encode('utf-8')) +# try: +# correct_series = Series.objects.get(name=name_corrected) + +# for vol in s.volumes.all(): +# vol.series = correct_series +# vol.save() + +# for summary in s.summaries.all(): +# summary.series = correct_series +# summary.save() + +# for pub in s.publishers.all(): +# if correct_series.publishers.filter(publisher=pub.publisher).count() > 0: +# update_spub = correct_series.publishers.filter(publisher=pub.publisher)[0] +# else: +# update_spub = SeriesPublisher.objects.create( +# series=correct_series, publisher=pub.publisher, status=s.status +# ) + +# update_spub.status = s.status +# update_spub.save() + +# s.delete() +# except Series.DoesNotExist: +# # Rename series if only in csatalá +# s.name = name_corrected +# s.save() + + +# +# UPDATE VOLUMES WITHOUT LANGUAGE TO ESP +# +# volumes_not = Volume.objects.filter(language=None).update(language=esp) + +# +# INSERT VOLUMES INTO COLLECTIONS +# +# pattern = re.compile('\((.*)\)') +# series = Series.objects.all() +# for s in series: +# delete_this_series = False +# if u'Catalán' not in s.name: +# if '(' in s.name: +# print(s.name.encode('utf-8')) +# m = pattern.search(s.name) +# special_name = m.group() +# col_name = special_name.replace('(', '').replace(')', '') +# name = s.name.split(' (')[0] + + +# # Look for series name without (asdjaslkdjasd) +# try: +# series = Series.objects.get(name=name) +# collection = VolumeCollection.objects.create( +# name=col_name, series=series +# ) + +# for pub in s.publishers.all(): +# if series.publishers.filter(publisher=pub.publisher).count() > 0: +# update_spub = series.publishers.filter(publisher=pub.publisher)[0] +# else: +# update_spub = SeriesPublisher.objects.create( +# series=series, publisher=pub.publisher, status=s.status +# ) +# update_spub.status = s.status +# update_spub.save() + +# for vol in s.volumes.all(): +# vol.series = series +# vol.collection = collection +# vol.save() + +# delete_this_series = True +# except Series.DoesNotExist: +# series = s +# series.name = name +# series.slug = None +# series.save() + +# collection = VolumeCollection.objects.create( +# name=col_name, series=series, default=True +# ) + +# for vol in s.volumes.all(): +# vol.collection = collection +# vol.save() + + +# if delete_this_series: +# s.delete() + +# +# MAKE ALL CREATED COLLECTIONS NOT DEFAULT EXCEPT THE ONES NAMED TOMOS +# +# VolumeCollection.objects.all().update(default=False) +# VolumeCollection.objects.filter(name='Tomos').update(default=True) + +# +# ALL VOLUMES WITHOUT A COLLECTION SHOULD BE NAMED 1º Edicion +# + +# volumes = Volume.objects.filter(collection=None) +# for vol in volumes: +# col, is_new = VolumeCollection.objects.get_or_create( +# series=vol.series, default=True, name='1ª Edición' +# ) +# vol.collection = col +# vol.save() + + +# +# REMOVE COLLECTIONS WITHOUT VOLUMES +# +# from django.db.models import Count +# collections = VolumeCollection.objects +# collections_wo_vols = VolumeCollection.objects.all()\ +# .annotate(num_volumes=Count('volumes'))\ +# .filter(num_volumes__eq=0) + +# collections_wo_vols.delete()