Browse Source

Temp file for legacy purposes

crawlers/norma
Felipe Martín 7 years ago
parent
commit
debb4abf2e
  1. 183
      other/migration_to_languages_collections.py

183
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()