You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
import urllib2
|
|
from django.conf import settings
|
|
from django.utils import translation
|
|
from django.core.management.base import BaseCommand, CommandError
|
|
from place_exposition.models import PlaceExposition
|
|
|
|
|
|
def handle_place(place):
|
|
logo = place.get_logo()
|
|
translation.activate('en')
|
|
|
|
domain = 'http://hit.expomap.ru'
|
|
url = domain+logo.file_path.url
|
|
file_name = url.split('/')[-1]
|
|
download_to = settings.MEDIA_ROOT+'place_exposition/logo/'+file_name
|
|
try:
|
|
response = urllib2.urlopen(url, timeout=5)
|
|
except:
|
|
print('download error')
|
|
return None
|
|
|
|
with open(download_to,'wb') as f:
|
|
f.write(response.read())
|
|
f.close()
|
|
file_name = 'place_exposition/logo/'+file_name
|
|
place.logo = file_name
|
|
place.save()
|
|
|
|
|
|
class Command(BaseCommand):
|
|
def handle(self, *args, **options):
|
|
for place in PlaceExposition.objects.all('en'):
|
|
if place.files.filter(purpose='logo').exists():
|
|
handle_place(place)
|
|
print(place) |