mirror of
https://git.linux-kernel.at/oliver/ivatar.git
synced 2025-11-14 12:08:04 +00:00
Rework with black
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
'''
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
Import the whole libravatar export
|
Import the whole libravatar export
|
||||||
'''
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from os.path import isfile, isdir, join
|
from os.path import isfile, isdir, join
|
||||||
@@ -9,13 +10,18 @@ import sys
|
|||||||
import base64
|
import base64
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
import django
|
import django
|
||||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ivatar.settings") # pylint: disable=wrong-import-position
|
|
||||||
|
os.environ.setdefault(
|
||||||
|
"DJANGO_SETTINGS_MODULE", "ivatar.settings"
|
||||||
|
) # pylint: disable=wrong-import-position
|
||||||
django.setup() # pylint: disable=wrong-import-position
|
django.setup() # pylint: disable=wrong-import-position
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
from django_openid_auth.models import UserOpenID
|
from django_openid_auth.models import UserOpenID
|
||||||
from ivatar.settings import JPEG_QUALITY
|
from ivatar.settings import JPEG_QUALITY
|
||||||
from ivatar.ivataraccount.read_libravatar_export import read_gzdata as libravatar_read_gzdata
|
from ivatar.ivataraccount.read_libravatar_export import (
|
||||||
|
read_gzdata as libravatar_read_gzdata,
|
||||||
|
)
|
||||||
from ivatar.ivataraccount.models import ConfirmedEmail
|
from ivatar.ivataraccount.models import ConfirmedEmail
|
||||||
from ivatar.ivataraccount.models import ConfirmedOpenId
|
from ivatar.ivataraccount.models import ConfirmedOpenId
|
||||||
from ivatar.ivataraccount.models import Photo
|
from ivatar.ivataraccount.models import Photo
|
||||||
@@ -26,54 +32,63 @@ if len(sys.argv) < 2:
|
|||||||
exit(-255)
|
exit(-255)
|
||||||
|
|
||||||
if not isdir(sys.argv[1]):
|
if not isdir(sys.argv[1]):
|
||||||
print("First argument to '%s' must be a directory containing the exports" % sys.argv[0])
|
print(
|
||||||
|
"First argument to '%s' must be a directory containing the exports"
|
||||||
|
% sys.argv[0]
|
||||||
|
)
|
||||||
exit(-255)
|
exit(-255)
|
||||||
|
|
||||||
PATH = sys.argv[1]
|
PATH = sys.argv[1]
|
||||||
for file in os.listdir(PATH):
|
for file in os.listdir(PATH):
|
||||||
if not file.endswith('.xml.gz'):
|
if not file.endswith(".xml.gz"):
|
||||||
continue
|
continue
|
||||||
if isfile(join(PATH, file)):
|
if isfile(join(PATH, file)):
|
||||||
fh = open(join(PATH, file), 'rb')
|
fh = open(join(PATH, file), "rb")
|
||||||
items = libravatar_read_gzdata(fh.read())
|
items = libravatar_read_gzdata(fh.read())
|
||||||
print('Adding user "%s"' % items['username'])
|
print('Adding user "%s"' % items["username"])
|
||||||
(user, created) = User.objects.get_or_create(username=items['username'])
|
(user, created) = User.objects.get_or_create(username=items["username"])
|
||||||
user.password = items['password']
|
user.password = items["password"]
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
saved_photos = {}
|
saved_photos = {}
|
||||||
for photo in items['photos']:
|
for photo in items["photos"]:
|
||||||
photo_id = photo['id']
|
photo_id = photo["id"]
|
||||||
data = base64.decodebytes(bytes(photo['data'], 'utf-8'))
|
data = base64.decodebytes(bytes(photo["data"], "utf-8"))
|
||||||
pilobj = Image.open(BytesIO(data))
|
pilobj = Image.open(BytesIO(data))
|
||||||
out = BytesIO()
|
out = BytesIO()
|
||||||
pilobj.save(out, pilobj.format, quality=JPEG_QUALITY)
|
pilobj.save(out, pilobj.format, quality=JPEG_QUALITY)
|
||||||
out.seek(0)
|
out.seek(0)
|
||||||
photo = Photo()
|
photo = Photo()
|
||||||
photo.user = user
|
photo.user = user
|
||||||
photo.ip_address = '0.0.0.0'
|
photo.ip_address = "0.0.0.0"
|
||||||
photo.format = file_format(pilobj.format)
|
photo.format = file_format(pilobj.format)
|
||||||
photo.data = out.read()
|
photo.data = out.read()
|
||||||
photo.save()
|
photo.save()
|
||||||
saved_photos[photo_id] = photo
|
saved_photos[photo_id] = photo
|
||||||
|
|
||||||
for email in items['emails']:
|
for email in items["emails"]:
|
||||||
try:
|
try:
|
||||||
ConfirmedEmail.objects.get_or_create(email=email['email'], user=user,
|
ConfirmedEmail.objects.get_or_create(
|
||||||
photo=saved_photos.get(email['photo_id']))
|
email=email["email"],
|
||||||
except django.db.utils.IntegrityError:
|
user=user,
|
||||||
print('%s not unique?' % email['email'])
|
photo=saved_photos.get(email["photo_id"]),
|
||||||
|
|
||||||
for openid in items['openids']:
|
|
||||||
try:
|
|
||||||
ConfirmedOpenId.objects.get_or_create(openid=openid['openid'], user=user,
|
|
||||||
photo=saved_photos.get(openid['photo_id'])) # pylint: disable=no-member
|
|
||||||
UserOpenID.objects.get_or_create(
|
|
||||||
user_id=user.id,
|
|
||||||
claimed_id=openid['openid'],
|
|
||||||
display_id=openid['openid'],
|
|
||||||
)
|
)
|
||||||
except django.db.utils.IntegrityError:
|
except django.db.utils.IntegrityError:
|
||||||
print('%s not unique?' % openid['openid'])
|
print("%s not unique?" % email["email"])
|
||||||
|
|
||||||
|
for openid in items["openids"]:
|
||||||
|
try:
|
||||||
|
ConfirmedOpenId.objects.get_or_create(
|
||||||
|
openid=openid["openid"],
|
||||||
|
user=user,
|
||||||
|
photo=saved_photos.get(openid["photo_id"]),
|
||||||
|
) # pylint: disable=no-member
|
||||||
|
UserOpenID.objects.get_or_create(
|
||||||
|
user_id=user.id,
|
||||||
|
claimed_id=openid["openid"],
|
||||||
|
display_id=openid["openid"],
|
||||||
|
)
|
||||||
|
except django.db.utils.IntegrityError:
|
||||||
|
print("%s not unique?" % openid["openid"])
|
||||||
|
|
||||||
fh.close()
|
fh.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user