diff --git a/accounts/admin.py b/accounts/admin.py index b0a394ee..50504df9 100644 --- a/accounts/admin.py +++ b/accounts/admin.py @@ -8,7 +8,7 @@ import random from django.utils.translation import ugettext as _ #models and forms from models import User -from forms import UserForm, UserCreationForm, ChangePasswordForm, EmailAnnouncementForm +from forms import UserForm, UserCreationForm, ChangePasswordForm, EmailAnnouncementForm #custom views from functions.custom_views import objects_list @@ -16,13 +16,6 @@ from hashlib import md5 import json -@login_required -def profile(request): - args = {'change_password_form': ChangePasswordForm(), - 'email_announcement_form': EmailAnnouncementForm()} - args.update(csrf(request)) - return render_to_response('profile.html', args, context_instance=RequestContext(request)) - def user_all(request): @@ -51,6 +44,8 @@ def user_change(request, url): return HttpResponseRedirect('/admin/accounts/all') else: form = UserForm(instance=user) + if user.profile.city: + form.fields['city'].widget.attrs['data-init-text'] = user.profile.city.name args = {} args.update(csrf(request)) diff --git a/accounts/edit_forms.py b/accounts/edit_forms.py new file mode 100644 index 00000000..3c241553 --- /dev/null +++ b/accounts/edit_forms.py @@ -0,0 +1,104 @@ +# -*- coding: utf-8 -*- +from django import forms +from django.utils.translation import ugettext as _ +from models import User, Profile +from country.models import Country + +class AvatarForm(forms.ModelForm): + avatar = forms.ImageField(label=_(u'Выберите файл (GIF, JPG, PNG. Размер 100 × 100 пикселей)'), + required=False) + class Meta: + model = Profile + fields = ('avatar',) + +class NameForm(forms.ModelForm): + first_name = forms.CharField(label=_(u'Введите ваше имя')) + last_name = forms.CharField(label=_(u'Введите вашу фамилию')) + + class Meta: + model = User + fields = ('first_name', 'last_name') + + def get_full_name(self): + return u'%s %s'%(self.instance.first_name, self.instance.last_name,) + + +class HomeForm(forms.ModelForm): + city = forms.ChoiceField(label='Город', required=False) + country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(), empty_label='', required=False) + class Meta: + model = Profile + fields = ('country', 'city') + + def current_country(self): + return self.instance.country + country = Country.objects.get(id=self.instance.country) + return country + + def clean_city(self): + return None + + +class WorkForm(forms.ModelForm): + position = forms.CharField(label=_(u'Укажите вашу должность'), + required=False) + work = forms.CharField(label=_(u'Место работы'), + required=False) + + class Meta: + model = Profile + fields = ('position', 'work') + + def get_full_work(self): + divider = _('в') + return 'dsfsdf' + return u'%s %s %s'%(self.instance.position, divider, self.instance.work) + + + +class AboutCompanyForm(forms.ModelForm): + about_company = forms.CharField(label=_(u'Описание компании'), required=False, + widget=forms.Textarea(attrs={'cols':'30'})) + class Meta: + model = Profile + fields = ('about_company',) + + +class PhoneForm(forms.ModelForm): + phone = forms.CharField(label=_(u'Контактный телефон'), required=False) + class Meta: + model = Profile + fields = ('phone',) + +class EmailForm(forms.ModelForm): + email = forms.EmailField(label=_(u'Ваш e-mail'), required=False) + + class Meta: + model = User + fields = ('email',) + +class WebPageForm(forms.ModelForm): + web_page = forms.CharField(label=_(u'Адрес вашего сайта'), required=False) + + class Meta: + model = User + fields = ('web_page',) + +class SocialForm(forms.ModelForm): + facebook = forms.CharField(label=_(u'Facebook'), required=False) + twitter = forms.CharField(label=_(u'Twitter'), required=False) + vk = forms.CharField(label=_(u'В контакте'), required=False) + linkedin = forms.CharField(label=_(u'LinkedIn'), required=False) + + + class Meta: + model = Profile + fields = ('facebook', 'twitter', 'vk', 'linkedin') + +class AboutForm(forms.ModelForm): + about = forms.CharField(label=_(u'Немного о себе'), required=False, + widget=forms.Textarea(attrs={'cols':'30'})) + + class Meta: + model = Profile + fields = ('about',) \ No newline at end of file diff --git a/accounts/forms.py b/accounts/forms.py index f7b813fe..f2a881ec 100644 --- a/accounts/forms.py +++ b/accounts/forms.py @@ -60,7 +60,7 @@ class UserChangeForm(forms.ModelForm): class UserForm(forms.ModelForm): email = forms.EmailField(widget=forms.TextInput(attrs={'disabled' : True}), required=False) country = forms.ModelChoiceField(label='Страна', queryset=Country.objects.all(), empty_label=None, required=False) - city = forms.ModelChoiceField(label='Город', queryset=City.objects.all(), empty_label='', required=False) + city = forms.CharField(label='Город', widget=forms.HiddenInput()) company = forms.ModelChoiceField(label='Компания', queryset=Company.objects.all(), empty_label='', required=False) organiser = forms.ModelChoiceField(label='Организатор', queryset=Organiser.objects.all(), empty_label='', required=False) title = forms.CharField(widget=forms.TextInput(attrs={'style':'width: 550px'}), required=False) diff --git a/accounts/migrations/0001_initial.py b/accounts/migrations/0001_initial.py new file mode 100644 index 00000000..9a8ee31f --- /dev/null +++ b/accounts/migrations/0001_initial.py @@ -0,0 +1,538 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding model 'User' + db.create_table(u'accounts_user', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('password', self.gf('django.db.models.fields.CharField')(max_length=128)), + ('last_login', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), + ('is_superuser', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('email', self.gf('django.db.models.fields.EmailField')(unique=True, max_length=255, db_index=True)), + ('first_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('last_name', self.gf('django.db.models.fields.CharField')(max_length=255)), + ('url', self.gf('django.db.models.fields.SlugField')(max_length=50, blank=True)), + ('is_active', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('is_staff', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('is_admin', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('date_joined', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)), + ('date_registered', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True)), + ('date_modified', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)), + ('organiser', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['organiser.Organiser'], unique=True, null=True, on_delete=models.PROTECT, blank=True)), + ('translator', self.gf('django.db.models.fields.related.ForeignKey')(related_name='user', null=True, on_delete=models.PROTECT, to=orm['translator.Translator'], blank=True, unique=True)), + ('country', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='users', null=True, on_delete=models.PROTECT, to=orm['country.Country'])), + ('city', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['city.City'], null=True, on_delete=models.PROTECT, blank=True)), + ('company', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='users', null=True, on_delete=models.PROTECT, to=orm['company.Company'])), + ('phone', self.gf('django.db.models.fields.BigIntegerField')(null=True, blank=True)), + ('position', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('about', self.gf('django.db.models.fields.TextField')(blank=True)), + ('avatar', self.gf('django.db.models.fields.files.ImageField')(max_length=100, blank=True)), + ('web_page', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('social', self.gf('django.db.models.fields.TextField')(blank=True)), + ('skype', self.gf('django.db.models.fields.CharField')(max_length=50, blank=True)), + ('title', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('descriptions', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + ('keywords', self.gf('django.db.models.fields.CharField')(max_length=255, blank=True)), + )) + db.send_create_signal(u'accounts', ['User']) + + # Adding M2M table for field groups on 'User' + m2m_table_name = db.shorten_name(u'accounts_user_groups') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), + ('group', models.ForeignKey(orm[u'auth.group'], null=False)) + )) + db.create_unique(m2m_table_name, ['user_id', 'group_id']) + + # Adding M2M table for field user_permissions on 'User' + m2m_table_name = db.shorten_name(u'accounts_user_user_permissions') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('user', models.ForeignKey(orm[u'accounts.user'], null=False)), + ('permission', models.ForeignKey(orm[u'auth.permission'], null=False)) + )) + db.create_unique(m2m_table_name, ['user_id', 'permission_id']) + + # Adding model 'Calendar' + db.create_table(u'accounts_calendar', ( + (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), + ('user', self.gf('django.db.models.fields.related.OneToOneField')(to=orm['accounts.User'], unique=True)), + )) + db.send_create_signal(u'accounts', ['Calendar']) + + # Adding M2M table for field expositions on 'Calendar' + m2m_table_name = db.shorten_name(u'accounts_calendar_expositions') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), + ('exposition', models.ForeignKey(orm[u'exposition.exposition'], null=False)) + )) + db.create_unique(m2m_table_name, ['calendar_id', 'exposition_id']) + + # Adding M2M table for field conferences on 'Calendar' + m2m_table_name = db.shorten_name(u'accounts_calendar_conferences') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), + ('conference', models.ForeignKey(orm[u'conference.conference'], null=False)) + )) + db.create_unique(m2m_table_name, ['calendar_id', 'conference_id']) + + # Adding M2M table for field seminars on 'Calendar' + m2m_table_name = db.shorten_name(u'accounts_calendar_seminars') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), + ('seminar', models.ForeignKey(orm[u'seminar.seminar'], null=False)) + )) + db.create_unique(m2m_table_name, ['calendar_id', 'seminar_id']) + + # Adding M2M table for field webinars on 'Calendar' + m2m_table_name = db.shorten_name(u'accounts_calendar_webinars') + db.create_table(m2m_table_name, ( + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), + ('calendar', models.ForeignKey(orm[u'accounts.calendar'], null=False)), + ('webinar', models.ForeignKey(orm[u'webinar.webinar'], null=False)) + )) + db.create_unique(m2m_table_name, ['calendar_id', 'webinar_id']) + + + def backwards(self, orm): + # Deleting model 'User' + db.delete_table(u'accounts_user') + + # Removing M2M table for field groups on 'User' + db.delete_table(db.shorten_name(u'accounts_user_groups')) + + # Removing M2M table for field user_permissions on 'User' + db.delete_table(db.shorten_name(u'accounts_user_user_permissions')) + + # Deleting model 'Calendar' + db.delete_table(u'accounts_calendar') + + # Removing M2M table for field expositions on 'Calendar' + db.delete_table(db.shorten_name(u'accounts_calendar_expositions')) + + # Removing M2M table for field conferences on 'Calendar' + db.delete_table(db.shorten_name(u'accounts_calendar_conferences')) + + # Removing M2M table for field seminars on 'Calendar' + db.delete_table(db.shorten_name(u'accounts_calendar_seminars')) + + # Removing M2M table for field webinars on 'Calendar' + db.delete_table(db.shorten_name(u'accounts_calendar_webinars')) + + + models = { + u'accounts.calendar': { + 'Meta': {'object_name': 'Calendar'}, + 'conferences': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['conference.Conference']", 'null': 'True', 'symmetrical': 'False'}), + 'expositions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['exposition.Exposition']", 'null': 'True', 'symmetrical': 'False'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'seminars': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['seminar.Seminar']", 'null': 'True', 'symmetrical': 'False'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': u"orm['accounts.User']", 'unique': 'True'}), + 'webinars': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['webinar.Webinar']", 'null': 'True', 'symmetrical': 'False'}) + }, + u'accounts.user': { + 'Meta': {'object_name': 'User'}, + 'about': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'avatar': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'blank': 'True'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), + 'company': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'users'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['company.Company']"}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'users'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'date_registered': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'descriptions': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '255', 'db_index': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'keywords': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'organiser': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['organiser.Organiser']", 'unique': 'True', 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'position': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'skype': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), + 'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'translator': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'user'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['translator.Translator']", 'blank': 'True', 'unique': 'True'}), + 'url': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'blank': 'True'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'auth.group': { + 'Meta': {'object_name': 'Group'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + u'auth.permission': { + 'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + u'city.city': { + 'Meta': {'object_name': 'City'}, + 'code_IATA': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['directories.Iata']", 'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'cities'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'phone_code': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'population': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}) + }, + u'company.company': { + 'Meta': {'object_name': 'Company'}, + 'address': ('functions.custom_fields.LocationField', [], {'blank': 'True'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['country.Country']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'created_company'", 'null': 'True', 'to': u"orm['accounts.User']"}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'foundation': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'staff_number': ('django.db.models.fields.CharField', [], {'max_length': '50', 'blank': 'True'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'max_length': '50'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'conference.conference': { + 'Meta': {'object_name': 'Conference'}, + 'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), + 'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), + 'data_begin': ('django.db.models.fields.DateField', [], {}), + 'data_end': ('django.db.models.fields.DateField', [], {}), + 'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), + 'place': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference_place'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['place_conference.PlaceConference']"}), + 'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), + 'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'conference_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), + 'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + u'country.area': { + 'Meta': {'object_name': 'Area'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + u'country.country': { + 'Meta': {'object_name': 'Country'}, + 'area': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Area']"}), + 'big_cities': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'cities'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['city.City']"}), + 'capital': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'capital'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['city.City']"}), + 'country_code': ('django.db.models.fields.CharField', [], {'max_length': '2'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['directories.Currency']", 'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['directories.Language']", 'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'phone_code': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'population': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'teritory': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'time_delivery': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'timezone': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}) + }, + u'directories.currency': { + 'Meta': {'object_name': 'Currency'}, + 'currency': ('django.db.models.fields.CharField', [], {'max_length': '20'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + u'directories.iata': { + 'Meta': {'object_name': 'Iata'}, + 'airport': ('django.db.models.fields.CharField', [], {'max_length': '50'}), + 'code': ('django.db.models.fields.CharField', [], {'max_length': '5'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + u'directories.language': { + 'Meta': {'object_name': 'Language'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + u'exposition.exposition': { + 'Meta': {'object_name': 'Exposition'}, + 'application_deadline': ('django.db.models.fields.DateField', [], {'null': 'True'}), + 'audience': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), + 'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), + 'data_begin': ('django.db.models.fields.DateField', [], {}), + 'data_end': ('django.db.models.fields.DateField', [], {}), + 'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'max_closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'max_closed_equipped_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'max_open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_closed_equipped_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_stand_size': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), + 'periodic': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'place': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'exposition_place'", 'null': 'True', 'on_delete': 'models.PROTECT', 'to': u"orm['place_exposition.PlaceExposition']"}), + 'price_all': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'price_all_bar': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'price_catalog': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'price_day': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'price_day_bar': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'registration_payment': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), + 'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'exposition_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'exposition_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0', 'null': 'True'}), + 'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'file.filemodel': { + 'Meta': {'object_name': 'FileModel'}, + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']", 'null': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'file_path': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), + 'file_type': ('functions.custom_fields.EnumField', [], {'default': "'PDF'", 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'img_height': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'img_width': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'purpose': ('functions.custom_fields.EnumField', [], {'default': "'photo'"}) + }, + u'organiser.organiser': { + 'Meta': {'object_name': 'Organiser'}, + 'address': ('functions.custom_fields.LocationField', [], {'null': 'True', 'blank': 'True'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'null': 'True', 'on_delete': 'models.PROTECT', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'events_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'foundation': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'place_conference': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'organiser_place_conference'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['place_conference.PlaceConference']"}), + 'place_exposition': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'organiser_place_exposition'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['place_exposition.PlaceExposition']"}), + 'social': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'staff_number': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Tag']", 'null': 'True', 'blank': 'True'}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': u"orm['theme.Theme']", 'null': 'True', 'blank': 'True'}), + 'url': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'place_conference.placeconference': { + 'Meta': {'object_name': 'PlaceConference'}, + 'address': ('functions.custom_fields.LocationField', [], {}), + 'amount_halls': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'banquet_hall': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'catering': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), + 'conference_call': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'exp_hall_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'exposition_hall': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'hotel': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'multimedia_equipment': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'total_capacity': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'translate_equipment': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'type': ('functions.custom_fields.EnumField', [], {'default': "'Convention centre'"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), + 'web_page': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'wifi': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + u'place_exposition.placeexposition': { + 'Meta': {'ordering': "['translations__name']", 'object_name': 'PlaceExposition'}, + 'address': ('functions.custom_fields.LocationField', [], {}), + 'bank': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'business_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'cafe': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'children_room': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), + 'closed_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'conference_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'disabled_service': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'fax': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'mobile_application': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'online_registration': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'open_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'parking': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'phone': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'press_centre': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'terminals': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'total_area': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'total_halls': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'total_pavilions': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'type': ('functions.custom_fields.EnumField', [], {'default': "'Exposition complex'"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'video_link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), + 'web_page': ('django.db.models.fields.URLField', [], {'max_length': '200', 'blank': 'True'}), + 'wifi': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}) + }, + u'seminar.seminar': { + 'Meta': {'object_name': 'Seminar'}, + 'address': ('functions.custom_fields.LocationField', [], {'blank': 'True'}), + 'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['city.City']", 'on_delete': 'models.PROTECT'}), + 'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), + 'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['country.Country']", 'on_delete': 'models.PROTECT'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), + 'data_begin': ('django.db.models.fields.DateTimeField', [], {}), + 'data_end': ('django.db.models.fields.DateTimeField', [], {}), + 'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), + 'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), + 'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'seminar_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), + 'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + u'theme.tag': { + 'Meta': {'object_name': 'Tag'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'theme': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'tags'", 'on_delete': 'models.PROTECT', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) + }, + u'theme.theme': { + 'Meta': {'ordering': "['translations__name']", 'object_name': 'Theme'}, + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'types': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '255'}) + }, + u'translator.translator': { + 'Meta': {'object_name': 'Translator'}, + 'birth': ('django.db.models.fields.DateField', [], {}), + 'car': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'gender': ('functions.custom_fields.EnumField', [], {'default': "'male'"}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + u'webinar.webinar': { + 'Meta': {'object_name': 'Webinar'}, + 'canceled': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'canceled_by_administrator': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'company': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_companies'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['company.Company']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'currency': ('functions.custom_fields.EnumField', [], {'default': "'RUB'"}), + 'data_begin': ('django.db.models.fields.DateTimeField', [], {'blank': 'True'}), + 'discount': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'expohit': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'foundation_year': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'link': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'max_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'members': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'min_price': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'moved': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'organiser': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_organisers'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['organiser.Organiser']"}), + 'quality_label': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'services': ('django.db.models.fields.BigIntegerField', [], {'default': 'None'}), + 'tag': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_tags'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['theme.Tag']"}), + 'tax': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'theme': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'webinar_themes'", 'symmetrical': 'False', 'to': u"orm['theme.Theme']"}), + 'url': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'}), + 'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'webinar_users'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['accounts.User']"}), + 'views': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}), + 'visitors': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}), + 'web_page': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + } + } + + complete_apps = ['accounts'] \ No newline at end of file diff --git a/accounts/migrations/__init__.py b/accounts/migrations/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/accounts/models.py b/accounts/models.py index 363e2678..ae74b8ed 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -8,7 +8,9 @@ from django.utils.translation import ugettext as _ from django.db.models.signals import post_save #custom functions from functions.form_check import translit_with_separator - +import random, string +from django.core.validators import email_re +from django.db.models import Q """ from django.contrib.auth.hashers import check_password @@ -29,6 +31,7 @@ class UserManager(BaseUserManager): user= self.model( email = UserManager.normalize_email(email),first_name = first_name,last_name = last_name, + username = UserManager.normalize_email(email), is_staff=False, is_active=False, is_superuser=False, last_login=now, date_joined=now, **extra_fields ) @@ -37,12 +40,37 @@ class UserManager(BaseUserManager): user.save(using=self._db) return user - def create_superuser(self, email, first_name, last_name, password, **extra_fields): - if not email: + def create_social_user(self,username, first_name, last_name, password=None, **extra_fields): + now = timezone.now() + # generate random password + digits = random.sample(('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), 4) + chars = random.sample(string.lowercase[:], 4) + password = chars + digits + random.shuffle(password) + password = ''.join(password) + + + user= self.model(first_name=first_name, last_name=last_name, username=username, + is_staff=False, is_active=True, is_superuser=False, + last_login=now, date_joined=now, **extra_fields) + + check = True if email_re.match(username) else False + if check: + user.email = UserManager.normalize_email(username) + + user.set_password(password) + user.save(using=self._db) + return user + + + def create_superuser(self, username, first_name, last_name, password, **extra_fields): + if not username: raise ValueError('Вы должни ввести электронную почту') + username = UserManager.normalize_email(username) + user = self.create_user( - email = UserManager.normalize_email(email), + email = username, first_name = first_name,last_name = last_name, password = password, **extra_fields ) @@ -73,9 +101,10 @@ class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField( verbose_name = u'Электронная почта', max_length = 255, - unique = True, + #unique = True, db_index = True, ) + username = models.CharField(verbose_name='Почта', max_length=255, unique=True, db_index=True) first_name = models.CharField(verbose_name='Имя', max_length=255) last_name = models.CharField(verbose_name='Фамилия', max_length=255) @@ -95,29 +124,11 @@ class User(AbstractBaseUser, PermissionsMixin): translator = models.ForeignKey('translator.Translator', verbose_name='Переводчик', blank=True, null=True, unique=True, on_delete=models.PROTECT, related_name='user') - country = models.ForeignKey('country.Country', verbose_name='Страна', blank=True, null=True, + company = models.ForeignKey('company.Company', blank=True, null=True, on_delete=models.PROTECT, related_name='users') - city = models.ForeignKey('city.City', verbose_name='Город', blank=True, null=True, - on_delete=models.PROTECT) - company = models.ForeignKey('company.Company', blank=True, null=True, on_delete=models.PROTECT, related_name='users') - - - # other user information - phone = models.BigIntegerField(verbose_name='Телефон', blank=True, null=True) - position = models.CharField(verbose_name='Должность', max_length=255, blank=True) - about = models.TextField(verbose_name='О себе', blank=True) - avatar = models.ImageField(verbose_name='Фото', upload_to='/accounts/avatar/', blank=True) - web_page = models.CharField(verbose_name='Вебсайт', max_length=255, blank=True) - social = models.TextField(verbose_name='Социальные страницы', blank=True) - skype = models.CharField(blank=True, max_length=50) - # meta - title = models.CharField(max_length=255, blank=True) - descriptions = models.CharField(max_length=255, blank=True) - keywords = models.CharField(max_length=255, blank=True) - # objects = UserManager() - USERNAME_FIELD = 'email' + USERNAME_FIELD = 'username' REQUIRED_FIELDS = ['first_name', 'last_name'] def get_full_name(self): @@ -158,6 +169,34 @@ class User(AbstractBaseUser, PermissionsMixin): webinars = self.webinar_users.all() return len(list(expositions)+list(conferences)+list(seminars)+list(webinars)) +class Profile(models.Model): + user = models.OneToOneField(User) + country = models.ForeignKey('country.Country', verbose_name='Страна', blank=True, null=True, + on_delete=models.PROTECT, related_name='users') + city = models.ForeignKey('city.City', verbose_name='Город', blank=True, null=True, + on_delete=models.PROTECT) + position = models.CharField(verbose_name='Должность', max_length=255, blank=True) + work = models.CharField(verbose_name='Работа', max_length=255, blank=True) + about_company = models.TextField(verbose_name=_(u'Описание компании'), blank=True) + + phone = models.BigIntegerField(verbose_name='Телефон', blank=True, null=True) + web_page = models.URLField(verbose_name='Вебсайт',blank=True) + about = models.TextField(verbose_name='О себе', blank=True) + avatar = models.ImageField(verbose_name='Фото', upload_to='accounts/avatar/', blank=True) + skype = models.CharField(blank=True, max_length=255) + facebook = models.URLField(verbose_name=_(u'Facebook'), blank=True) + twitter = models.URLField(verbose_name=_(u'Twitter'), blank=True) + linkedin = models.URLField(verbose_name=_(u'LinkedIn'), blank=True) + vk = models.URLField(verbose_name=_(u'В контакте'), blank=True) + + # meta + title = models.CharField(max_length=255, blank=True) + descriptions = models.CharField(max_length=255, blank=True) + keywords = models.CharField(max_length=255, blank=True) + + +from dateutil.relativedelta import relativedelta + class Calendar(models.Model): user = models.OneToOneField(User) expositions = models.ManyToManyField('exposition.Exposition', null=True) @@ -165,13 +204,32 @@ class Calendar(models.Model): seminars = models.ManyToManyField('seminar.Seminar', null=True) webinars = models.ManyToManyField('webinar.Webinar', null=True) + def get_events(self): + events = list(self.expositions.all()) + list(self.conferences.all()) + list(self.seminars.all()) + list(self.webinars.all()) + return events + + + def events_by_month(self, day): + exp = list(self.expositions.filter((Q(data_begin__month=day.month) & Q(data_begin__year=day.year))\ + | (Q(data_end__month=day.month) & Q(data_end__year=day.year)))) + + con = list(self.conferences.filter((Q(data_begin__month=day.month) & Q(data_begin__year=day.year))\ + | (Q(data_end__month=day.month) & Q(data_end__year=day.year)))) + sem = list(self.seminars.filter((Q(data_begin__month=day.month) & Q(data_begin__year=day.year))\ + | (Q(data_end__month=day.month) & Q(data_end__year=day.year)))) + web = list(self.webinars.filter(Q(data_begin__month=day.month)&Q(data_begin__year=day.year))) + + return exp+con+sem+web + + -def create_user_calendar(sender, instance, created, **kwargs): +def create_user_inf(sender, instance, created, **kwargs): if created: Calendar.objects.create(user=instance) + Profile.objects.create(user=instance) -post_save.connect(create_user_calendar, sender=User) +post_save.connect(create_user_inf, sender=User) #need import after User Model, because User imported in "organiser.models" diff --git a/accounts/search_indexes.py b/accounts/search_indexes.py index 1325c2d9..aae09549 100644 --- a/accounts/search_indexes.py +++ b/accounts/search_indexes.py @@ -6,7 +6,6 @@ class UserIndex(indexes.SearchIndex, indexes.Indexable): text = indexes.CharField(document=True, use_template=True) first_name = indexes.CharField(model_attr='first_name') - def get_model(self): return User diff --git a/accounts/urls.py b/accounts/urls.py new file mode 100644 index 00000000..f21a7823 --- /dev/null +++ b/accounts/urls.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +from django.conf.urls import patterns, url +from django.contrib.auth.decorators import login_required +from views import SettingsView, ProfileView, CalendarView, MessagesView +from views import NameView, HomeView, AvatarView, WorkView, AboutCompanyView, PhoneView, EmailView, WebPageView,\ + SocialView, AboutView + +from views import test + +urlpatterns = patterns('', + url(r'^profile/$', login_required(ProfileView.as_view())), + url(r'^profile/settings/$', login_required(SettingsView.as_view())), + url(r'^profile/calendar/$', login_required(CalendarView.as_view())), + #url(r'^profile/messages/(?P.*)/$', login_required(MessagesView.as_view())), + #url(r'^profile/messages/$', login_required(MessagesView.as_view())), + + # + url(r'^profile/update/name/$', login_required(NameView.as_view())), + url(r'^profile/update/home/$', login_required(HomeView.as_view())), + url(r'^profile/update/avatar/$', login_required(AvatarView.as_view())), + url(r'^profile/update/work/$', login_required(WorkView.as_view())), + url(r'^profile/update/about-company/$', login_required(AboutCompanyView.as_view())), + url(r'^profile/update/phone/$', login_required(PhoneView.as_view())), + url(r'^profile/update/email/$', login_required(EmailView.as_view())), + url(r'^profile/update/web-page/$', login_required(WebPageView.as_view())), + url(r'^profile/update/social/$', login_required(SocialView.as_view())), + url(r'^profile/update/about/$', login_required(AboutView.as_view())), + # + url(r'^accounts/get/calendar/(?P\d+)/(?P\d+)/$', 'accounts.views.get_calendar'), + url(r'^accounts/get-tag-users/$', 'accounts.views.user_for_tag'), + +) diff --git a/accounts/views.py b/accounts/views.py index 52648bfa..5c582366 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -5,18 +5,98 @@ from django.template import RequestContext from django.core.context_processors import csrf from django.contrib.auth.decorators import login_required from django.utils.translation import ugettext as _ +from django.utils import timezone # forms from forms import ChangePasswordForm, EmailAnnouncementForm +from edit_forms import AvatarForm, NameForm, HomeForm, WorkForm, AboutCompanyForm, PhoneForm, EmailForm,\ + WebPageForm, SocialForm, AboutForm +from models import User # python -import json +import json, datetime +import calendar as python_calendar +from django.views.generic import TemplateView, FormView + +class SettingsView(TemplateView): + template_name = 'accounts/settings.html' + def get_context_data(self, **kwargs): + context = super(SettingsView, self).get_context_data(**kwargs) + context['change_password_form'] = ChangePasswordForm() + context['email_announcement_form'] = EmailAnnouncementForm() + return context + +class CalendarView(TemplateView): + template_name = 'accounts/calendar.html' + + def get_context_data(self, **kwargs): + context = super(CalendarView, self).get_context_data(**kwargs) + now = timezone.now().replace(microsecond=0, second=0, minute=0, hour=0) + + number_of_days = python_calendar.monthrange(now.year, now.month)[1] + days = [timezone.make_aware(datetime.datetime(now.year, now.month, i+1), timezone.get_default_timezone()) for i in range(number_of_days)] + + context['days'] = days + context['current_day'] = now + # -------------------- + calendar = self.request.user.calendar + context['events'] = calendar.events_by_month(now) + + return context + + +def events_handeler(obj): + response = {'name': obj.name, 'country': obj.country.name, 'city': obj.city.name} + if obj.place: + response['place'] = obj.place.name + return response @login_required -def profile(request): - args = {'change_password_form': ChangePasswordForm(), - 'email_announcement_form': EmailAnnouncementForm()} - args.update(csrf(request)) - return render_to_response('profile.html', args, context_instance=RequestContext(request)) +def get_calendar(request, year, month): + now = timezone.now().replace(microsecond=0, second=0, minute=0, hour=0) + day = timezone.make_aware(datetime.datetime(year=int(year), month=int(month), day=1), timezone.get_default_timezone()) + calendar = request.user.calendar + + number_of_days = python_calendar.monthrange(day.year, day.month)[1] + days = [timezone.make_aware(datetime.datetime(day.year, day.month, i+1), timezone.get_default_timezone()) for i in range(number_of_days)] + args = {} + dthandler = lambda obj: (obj.isoformat() if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date) else None) + + args['days'] = json.dumps(days, default=dthandler) + args['current_day'] = json.dumps(now, default=dthandler) + events = calendar.events_by_month(day) + + args['events'] = json.dumps(events, default=events_handeler) + + return HttpResponse(json.dumps(args), content_type='application/json') + +class ProfileView(TemplateView): + template_name = 'accounts/profile.html' + + def post(self): + return HttpResponse(self.request.POST) + + def get_context_data(self, **kwargs): + context = super(ProfileView, self).get_context_data(**kwargs) + user = self.request.user + profile = user.profile + + + profile_forms = { + 'avatar_form': AvatarForm(instance=profile), 'name_form': NameForm(instance=user), + 'home_form': HomeForm(instance=profile), 'work_form': WorkForm(instance=profile), + 'about_company_form': AboutCompanyForm(instance=profile), 'phone_form': PhoneForm(instance=profile), + 'email_form': EmailForm(instance=user), 'web_page_form': WebPageForm(instance=profile), + 'social_form': SocialForm(instance=profile), 'about_form': AboutForm(instance=profile) + } + + context.update(profile_forms) + return context + + +class MessagesView(TemplateView): + template_name = 'accounts/messages.html' + + @login_required def change_password(request): @@ -44,4 +124,97 @@ def change_password(request): success.update(errors) return HttpResponse(json.dumps(success), content_type='application/json') else: - return HttpResponse(json.dumps(success), content_type='application/json') \ No newline at end of file + return HttpResponse(json.dumps(success), content_type='application/json') + + + + +def user_for_tag(request): + + users = [{'id': user.id, 'label': user.get_full_name(), 'value': user.get_full_name() } for user in User.objects.all()] + return HttpResponse(json.dumps(users), content_type='application/json') + +class ProfileInvalidView(FormView): + """ + abstract view + """ + def form_invalid(self, form): + response = {'success': False} + return HttpResponse(json.dumps(response), content_type='application/json') + + +class BaseProfileView(ProfileInvalidView): + """ + abstract view + """ + def form_valid(self, form): + profile = self.request.user.profile + form = self.form_class(self.request.POST, instance=profile) + form.save() + response = {'success': True} + return HttpResponse(json.dumps(response), content_type='application/json') + +class WorkView(BaseProfileView): + form_class = WorkForm + +class AvatarView(BaseProfileView): + form_class = AvatarForm + + def form_valid(self, form): + profile = self.request.user.profile + form = self.form_class(self.request.POST, self.request.FILES, instance=profile) + form.save() + response = {'success': True} + return HttpResponse(json.dumps(response), content_type='application/json') + + +class HomeView(BaseProfileView): + form_class = HomeForm + + +class AboutCompanyView(BaseProfileView): + form_class = AboutCompanyForm + + +class PhoneView(BaseProfileView): + form_class = PhoneForm + + +class WebPageView(BaseProfileView): + form_class = WebPageForm + + +class SocialView(BaseProfileView): + form_class = SocialForm + + +class AboutView(BaseProfileView): + form_class = AboutForm + + +class EmailView(ProfileInvalidView): + form_class = EmailForm + + def form_valid(self, form): + user = self.request.user + form = self.form_class(self.request.POST, instance=user) + form.save() + response = {'success': True} + + return HttpResponse(json.dumps(response), content_type='application/json') + + +class NameView(ProfileInvalidView): + form_class = NameForm + + def form_valid(self, form): + user = self.request.user + form = self.form_class(self.request.POST, instance=user) + form.save() + response = {'success': True} + + return HttpResponse(json.dumps(response), content_type='application/json') + +def test(request): + + return HttpResponse('test') \ No newline at end of file diff --git a/article/models.py b/article/models.py index 59a4b154..e8eaabaf 100644 --- a/article/models.py +++ b/article/models.py @@ -27,6 +27,7 @@ class Article(TranslatableModel): tag = models.ManyToManyField('theme.Tag', related_name='tags',blank=True, null=True) user = models.ForeignKey('accounts.User', verbose_name='Автор', on_delete=models.PROTECT, related_name='articles') + main_page = models.PositiveIntegerField(default=0, db_index=True) #translated fields translations = TranslatedFields( diff --git a/build/pip-delete-this-directory.txt b/build/pip-delete-this-directory.txt new file mode 100644 index 00000000..c8883ea9 --- /dev/null +++ b/build/pip-delete-this-directory.txt @@ -0,0 +1,5 @@ +This file is placed here by pip to indicate the source was put +here by pip. + +Once this package is successfully installed this source code will be +deleted (unless you remove this file). diff --git a/city/admin.py b/city/admin.py index 20431ae9..476013e2 100644 --- a/city/admin.py +++ b/city/admin.py @@ -90,4 +90,20 @@ def city_change(request, url): object_id=getattr(c, 'id')) args['obj_id'] = city_id - return render_to_response('city_add.html', args) \ No newline at end of file + return render_to_response('city_add.html', args) + +from django.http import HttpResponse +import json + +def search_city(request): + country = request.GET['country'] + term = request.GET['term'].capitalize() + if not term: + qs = City.objects.language().filter(country=country)[:200] + else: + qs = City.objects.language().filter(country=country, translations__name__contains=term) + result = [{'id': city.id, 'label': city.name} for city in qs] + + + return HttpResponse(json.dumps(result), content_type='application/json') + return HttpResponse(country_id) \ No newline at end of file diff --git a/city/admin_urls.py b/city/admin_urls.py index 6887e3e0..74f4f589 100644 --- a/city/admin_urls.py +++ b/city/admin_urls.py @@ -6,4 +6,6 @@ urlpatterns = patterns('city.admin', url(r'^delete/(?P.*)/$', 'city_delete'), url(r'^change/(.*)/$', 'city_change'), url(r'^all/$', 'city_all'), + url(r'^search/$', 'search_city'), + ) \ No newline at end of file diff --git a/city/forms.py b/city/forms.py index 61b4048c..3ba51a0b 100644 --- a/city/forms.py +++ b/city/forms.py @@ -61,9 +61,9 @@ class CityForm(forms.Form): #meta data self.fields['title_%s' % code] = forms.CharField(label='Тайтл', required=False, max_length=255, widget=forms.TextInput(attrs={'style':'width: 550px'})) - self.fields['keywords_%s' % code] = forms.CharField(label='Дескрипшен', required=False, max_length=255, + self.fields['keywords_%s' % code] = forms.CharField(label='Кейвордс', required=False, max_length=255, widget=forms.TextInput(attrs={'style':'width: 550px'})) - self.fields['descriptions_%s' % code] = forms.CharField(label='Кейвордс', required=False, max_length=255, + self.fields['descriptions_%s' % code] = forms.CharField(label='Дескрипшен', required=False, max_length=255, widget=forms.TextInput(attrs={'style':'width: 550px'})) diff --git a/city/management/__init__.py b/city/management/__init__.py new file mode 100644 index 00000000..13ef41a7 --- /dev/null +++ b/city/management/__init__.py @@ -0,0 +1 @@ +__author__ = 'kotzilla' diff --git a/city/management/commands/__init__.py b/city/management/commands/__init__.py new file mode 100644 index 00000000..13ef41a7 --- /dev/null +++ b/city/management/commands/__init__.py @@ -0,0 +1 @@ +__author__ = 'kotzilla' diff --git a/city/management/commands/errors.txt b/city/management/commands/errors.txt new file mode 100644 index 00000000..068ec76c --- /dev/null +++ b/city/management/commands/errors.txt @@ -0,0 +1,8210 @@ +error: (1062, "Duplicate entry 'san-lorenzo-ar' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Lorenzo', u'countrycode': u'ar', u'city_id': u'-1013231', u'longitude': u'-65.4832992553711', u'nr_hotels': u'11', u'latitude': u'-24.716699600219727'} +error: (1062, "Duplicate entry 'san-lorenzo-ar' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Lorenzo', u'countrycode': u'ar', u'city_id': u'-1013231', u'longitude': u'-65.4832992553711', u'nr_hotels': u'11', u'latitude': u'-24.716699600219727'} +error: (1062, "Duplicate entry 'san-javier-ar' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Javier', u'countrycode': u'ar', u'city_id': u'-1012637', u'longitude': u'-59.95000076293945', u'nr_hotels': u'0', u'latitude': u'-30.58329963684082'} +error: (1062, "Duplicate entry 'san-javier-ar' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Javier', u'countrycode': u'ar', u'city_id': u'-1012637', u'longitude': u'-59.95000076293945', u'nr_hotels': u'0', u'latitude': u'-30.58329963684082'} +error: (1062, "Duplicate entry 'san-javier-ar' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Javier', u'countrycode': u'ar', u'city_id': u'-1012635', u'longitude': u'-65.38330078125', u'nr_hotels': u'1', u'latitude': u'-26.783300399780273'} +error: (1062, "Duplicate entry 'los-molles-ar' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Los Molles', u'countrycode': u'ar', u'city_id': u'-1001953', u'longitude': u'-65.0333023071289', u'nr_hotels': u'1', u'latitude': u'-31.950000762939453'} +error: (1062, "Duplicate entry 'los-molles-ar' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Los Molles', u'countrycode': u'ar', u'city_id': u'-1001953', u'longitude': u'-65.0333023071289', u'nr_hotels': u'1', u'latitude': u'-31.950000762939453'} +error: (1062, "Duplicate entry 'la-paz-ar' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Paz', u'countrycode': u'ar', u'city_id': u'-997381', u'longitude': u'-59.650001525878906', u'nr_hotels': u'1', u'latitude': u'-30.75'} +error: (1062, "Duplicate entry 'la-paz-ar' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Paz', u'countrycode': u'ar', u'city_id': u'-997381', u'longitude': u'-59.650001525878906', u'nr_hotels': u'1', u'latitude': u'-30.75'} +error: (1062, "Duplicate entry 'warth-at' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warth', u'countrycode': u'at', u'city_id': u'-1994990', u'longitude': u'10.183300018310547', u'nr_hotels': u'22', u'latitude': u'47.25'} +error: (1062, "Duplicate entry 'treffen-at' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Treffen', u'countrycode': u'at', u'city_id': u'-1993461', u'longitude': u'14.066699981689453', u'nr_hotels': u'1', u'latitude': u'46.56669998168945'} +error: (1062, "Duplicate entry 'treffen-at' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Treffen', u'countrycode': u'at', u'city_id': u'-1993461', u'longitude': u'14.066699981689453', u'nr_hotels': u'1', u'latitude': u'46.56669998168945'} +error: (1062, "Duplicate entry 'swansea-au' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Swansea', u'countrycode': u'au', u'city_id': u'-1603099', u'longitude': u'151.63299560546875', u'nr_hotels': u'3', u'latitude': u'-33.08330154418945'} +error: (1062, "Duplicate entry 'swansea-au' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Swansea', u'countrycode': u'au', u'city_id': u'-1603099', u'longitude': u'151.63299560546875', u'nr_hotels': u'3', u'latitude': u'-33.08330154418945'} +error: (1062, "Duplicate entry 'stanley-au' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stanley', u'countrycode': u'au', u'city_id': u'-1601954', u'longitude': u'146.75', u'nr_hotels': u'1', u'latitude': u'-36.41669845581055'} +error: (1062, "Duplicate entry 'stanley-au' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stanley', u'countrycode': u'au', u'city_id': u'-1601954', u'longitude': u'146.75', u'nr_hotels': u'1', u'latitude': u'-36.41669845581055'} +error: (1062, "Duplicate entry 'sassafras-au' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sassafras', u'countrycode': u'au', u'city_id': u'-1599524', u'longitude': u'146.5', u'nr_hotels': u'1', u'latitude': u'-41.28329849243164'} +error: (1062, "Duplicate entry 'sassafras-au' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sassafras', u'countrycode': u'au', u'city_id': u'-1599524', u'longitude': u'146.5', u'nr_hotels': u'1', u'latitude': u'-41.28329849243164'} +error: (1062, "Duplicate entry 'richmond-au' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richmond', u'countrycode': u'au', u'city_id': u'-1597508', u'longitude': u'150.76699829101562', u'nr_hotels': u'1', u'latitude': u'-33.599998474121094'} +error: (1062, "Duplicate entry 'richmond-au' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richmond', u'countrycode': u'au', u'city_id': u'-1597508', u'longitude': u'150.76699829101562', u'nr_hotels': u'1', u'latitude': u'-33.599998474121094'} +error: (1062, "Duplicate entry 'tielt-be' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tielt', u'countrycode': u'be', u'city_id': u'-1970976', u'longitude': u'4.900000095367432', u'nr_hotels': u'1', u'latitude': u'50.93330001831055'} +error: (1062, "Duplicate entry 'tielt-be' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tielt', u'countrycode': u'be', u'city_id': u'-1970976', u'longitude': u'4.900000095367432', u'nr_hotels': u'1', u'latitude': u'50.93330001831055'} +error: (1062, "Duplicate entry 'yablanitsa-bg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Yablanitsa', u'countrycode': u'bg', u'city_id': u'-839910', u'longitude': u'23.549999237060547', u'nr_hotels': u'1', u'latitude': u'42.849998474121094'} +error: (1062, "Duplicate entry 'yablanitsa-bg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042f\u0431\u043b\u0430\u043d\u0438\u0446\u0430', u'countrycode': u'bg', u'city_id': u'-839910', u'longitude': u'23.549999237060547', u'nr_hotels': u'1', u'latitude': u'42.849998474121094'} +error: (1062, "Duplicate entry 'vetren-bg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vetren', u'countrycode': u'bg', u'city_id': u'-839589', u'longitude': u'27.033300399780273', u'nr_hotels': u'2', u'latitude': u'44.13330078125'} +error: (1062, "Duplicate entry 'vetren-bg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vetren', u'countrycode': u'bg', u'city_id': u'-839589', u'longitude': u'27.033300399780273', u'nr_hotels': u'2', u'latitude': u'44.13330078125'} +error: (1062, "Duplicate entry 'varvara-bg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Varvara', u'countrycode': u'bg', u'city_id': u'-839474', u'longitude': u'27.91670036315918', u'nr_hotels': u'3', u'latitude': u'42.11669921875'} +error: (1062, "Duplicate entry 'varvara-bg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Varvara', u'countrycode': u'bg', u'city_id': u'-839474', u'longitude': u'27.91670036315918', u'nr_hotels': u'3', u'latitude': u'42.11669921875'} +error: (1062, "Duplicate entry 'stefanovo-bg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stefanovo', u'countrycode': u'bg', u'city_id': u'-838701', u'longitude': u'23', u'nr_hotels': u'1', u'latitude': u'42.483299255371094'} +error: (1062, "Duplicate entry 'stefanovo-bg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stefanovo', u'countrycode': u'bg', u'city_id': u'-838701', u'longitude': u'23', u'nr_hotels': u'1', u'latitude': u'42.483299255371094'} +error: (1062, "Duplicate entry 'vila-velha-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vila Velha', u'countrycode': u'br', u'city_id': u'-679168', u'longitude': u'-34.849998474121094', u'nr_hotels': u'1', u'latitude': u'-7.800000190734863'} +error: (1062, "Duplicate entry 'vila-velha-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vila Velha', u'countrycode': u'br', u'city_id': u'-679168', u'longitude': u'-34.849998474121094', u'nr_hotels': u'1', u'latitude': u'-7.800000190734863'} +error: (1062, "Duplicate entry 'taquari-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taquari', u'countrycode': u'br', u'city_id': u'-675411', u'longitude': u'-48.29999923706055', u'nr_hotels': u'1', u'latitude': u'-10.366700172424316'} +error: (1062, "Duplicate entry 'taquari-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Taquari', u'countrycode': u'br', u'city_id': u'-675411', u'longitude': u'-48.29999923706055', u'nr_hotels': u'1', u'latitude': u'-10.366700172424316'} +error: (1062, "Duplicate entry 'tanquinho-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tanquinho', u'countrycode': u'br', u'city_id': u'-675087', u'longitude': u'-41.266700744628906', u'nr_hotels': u'1', u'latitude': u'-12.466699600219727'} +error: (1062, "Duplicate entry 'tanquinho-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tanquinho', u'countrycode': u'br', u'city_id': u'-675087', u'longitude': u'-41.266700744628906', u'nr_hotels': u'1', u'latitude': u'-12.466699600219727'} +error: (1062, "Duplicate entry 'santo-amaro-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santo Amaro', u'countrycode': u'br', u'city_id': u'-669388', u'longitude': u'-43.233299255371094', u'nr_hotels': u'0', u'latitude': u'-2.549999952316284'} +error: (1062, "Duplicate entry 'santo-amaro-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santo Amaro', u'countrycode': u'br', u'city_id': u'-669388', u'longitude': u'-43.233299255371094', u'nr_hotels': u'0', u'latitude': u'-2.549999952316284'} +error: (1062, "Duplicate entry 'santa-cruz-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Cruz', u'countrycode': u'br', u'city_id': u'-668215', u'longitude': u'-40.150001525878906', u'nr_hotels': u'2', u'latitude': u'-19.933300018310547'} +error: (1062, "Duplicate entry 'santa-cruz-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Cruz', u'countrycode': u'br', u'city_id': u'-668215', u'longitude': u'-40.150001525878906', u'nr_hotels': u'2', u'latitude': u'-19.933300018310547'} +error: (1062, "Duplicate entry 'santa-cruz-br' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Cruz', u'countrycode': u'br', u'city_id': u'-668172', u'longitude': u'-36.016700744628906', u'nr_hotels': u'4', u'latitude': u'-6.216670036315918'} +error: (1062, "Duplicate entry 'santa-cruz-br' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Cruz', u'countrycode': u'br', u'city_id': u'-668172', u'longitude': u'-36.016700744628906', u'nr_hotels': u'4', u'latitude': u'-6.216670036315918'} +error: (1062, "Duplicate entry 'woodstock-ca' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'ca', u'city_id': u'-576205', u'longitude': u'-80.75', u'nr_hotels': u'9', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'woodstock-ca' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'ca', u'city_id': u'-576205', u'longitude': u'-80.75', u'nr_hotels': u'9', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'windsor-ca' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windsor', u'countrycode': u'ca', u'city_id': u'-576073', u'longitude': u'-82.99363708496094', u'nr_hotels': u'28', u'latitude': u'42.294071197509766'} +error: (1062, "Duplicate entry 'vindzor-ca' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u043d\u0434\u0437\u043e\u0440', u'countrycode': u'ca', u'city_id': u'-576063', u'longitude': u'-115.96700286865234', u'nr_hotels': u'1', u'latitude': u'50.46670150756836'} +error: (1062, "Duplicate entry 'waterloo-ca' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterloo', u'countrycode': u'ca', u'city_id': u'-575624', u'longitude': u'-80.5333023071289', u'nr_hotels': u'10', u'latitude': u'43.46670150756836'} +error: (1062, "Duplicate entry 'tracadie-ca' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tracadie', u'countrycode': u'ca', u'city_id': u'-574916', u'longitude': u'-61.650001525878906', u'nr_hotels': u'1', u'latitude': u'45.61669921875'} +error: (1062, "Duplicate entry 'tracadie-ca' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tracadie', u'countrycode': u'ca', u'city_id': u'-574916', u'longitude': u'-61.650001525878906', u'nr_hotels': u'1', u'latitude': u'45.61669921875'} +error: (1062, "Duplicate entry 'sutton-ca' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sutton', u'countrycode': u'ca', u'city_id': u'-574397', u'longitude': u'-79.36669921875', u'nr_hotels': u'1', u'latitude': u'44.29999923706055'} +error: (1062, "Duplicate entry 'sutton-ca' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sutton', u'countrycode': u'ca', u'city_id': u'-574397', u'longitude': u'-79.36669921875', u'nr_hotels': u'1', u'latitude': u'44.29999923706055'} +error: (1062, "Duplicate entry 'sidnej-ca' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0438\u0434\u043d\u0435\u0439', u'countrycode': u'ca', u'city_id': u'-573615', u'longitude': u'-123.41699981689453', u'nr_hotels': u'12', u'latitude': u'48.650001525878906'} +error: (1062, "Duplicate entry 'schwanden-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Schwanden', u'countrycode': u'ch', u'city_id': u'-2554138', u'longitude': u'7.716670036315918', u'nr_hotels': u'4', u'latitude': u'46.733299255371094'} +error: (1062, "Duplicate entry 'schwanden-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Schwanden', u'countrycode': u'ch', u'city_id': u'-2554138', u'longitude': u'7.716670036315918', u'nr_hotels': u'4', u'latitude': u'46.733299255371094'} +error: (1062, "Duplicate entry 'schwanden-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Schwanden', u'countrycode': u'ch', u'city_id': u'-2554138', u'longitude': u'7.716670036315918', u'nr_hotels': u'4', u'latitude': u'46.733299255371094'} +error: (1062, "Duplicate entry 'schwanden-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Schwanden', u'countrycode': u'ch', u'city_id': u'-2554138', u'longitude': u'7.716670036315918', u'nr_hotels': u'4', u'latitude': u'46.733299255371094'} +error: (1062, "Duplicate entry 'sankt-morits-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u043a\u0442-\u041c\u043e\u0440\u0438\u0446', u'countrycode': u'ch', u'city_id': u'-2553958', u'longitude': u'7', u'nr_hotels': u'3', u'latitude': u'46.21670150756836'} +error: (1062, "Duplicate entry 'pfeffikon-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0444\u0435\u0444\u0444\u0438\u043a\u043e\u043d', u'countrycode': u'ch', u'city_id': u'-2553597', u'longitude': u'8.766670227050781', u'nr_hotels': u'1', u'latitude': u'47.20000076293945'} +error: (1062, "Duplicate entry 'oberwil-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oberwil', u'countrycode': u'ch', u'city_id': u'-2553491', u'longitude': u'7.433330059051514', u'nr_hotels': u'1', u'latitude': u'46.650001525878906'} +error: (1062, "Duplicate entry 'matten-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Matten', u'countrycode': u'ch', u'city_id': u'-2553074', u'longitude': u'7.416669845581055', u'nr_hotels': u'1', u'latitude': u'46.483299255371094'} +error: (1062, "Duplicate entry 'matten-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Matten', u'countrycode': u'ch', u'city_id': u'-2553074', u'longitude': u'7.416669845581055', u'nr_hotels': u'1', u'latitude': u'46.483299255371094'} +error: (1062, "Duplicate entry 'langnau-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Langnau', u'countrycode': u'ch', u'city_id': u'-2552771', u'longitude': u'7.766670227050781', u'nr_hotels': u'5', u'latitude': u'46.95000076293945'} +error: (1062, "Duplicate entry 'langnau-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Langnau', u'countrycode': u'ch', u'city_id': u'-2552771', u'longitude': u'7.766670227050781', u'nr_hotels': u'5', u'latitude': u'46.95000076293945'} +error: (1062, "Duplicate entry 'hergiswil-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hergiswil', u'countrycode': u'ch', u'city_id': u'-2552432', u'longitude': u'8.316670417785645', u'nr_hotels': u'2', u'latitude': u'46.983299255371094'} +error: (1062, "Duplicate entry 'affoltern-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Affoltern', u'countrycode': u'ch', u'city_id': u'-2550943', u'longitude': u'7.733329772949219', u'nr_hotels': u'1', u'latitude': u'47.06669998168945'} +error: (1062, "Duplicate entry 'affoltern-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Affoltern', u'countrycode': u'ch', u'city_id': u'-2550943', u'longitude': u'7.733329772949219', u'nr_hotels': u'1', u'latitude': u'47.06669998168945'} +error: (1062, "Duplicate entry 'mollens-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mollens', u'countrycode': u'ch', u'city_id': u'900040340', u'longitude': u'7.5204901695251465', u'nr_hotels': u'3', u'latitude': u'46.31560134887695'} +error: (1062, "Duplicate entry 'hasle-ch' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hasle', u'countrycode': u'ch', u'city_id': u'900049467', u'longitude': u'7.654029846191406', u'nr_hotels': u'1', u'latitude': u'47.017513275146484'} +error: (1062, "Duplicate entry 'hasle-ch' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hasle', u'countrycode': u'ch', u'city_id': u'900049467', u'longitude': u'7.654029846191406', u'nr_hotels': u'1', u'latitude': u'47.017513275146484'} +error: (1062, "Duplicate entry 'puyehue-cl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Puyehue', u'countrycode': u'cl', u'city_id': u'-897922', u'longitude': u'-72.33089447021484', u'nr_hotels': u'0', u'latitude': u'-40.70745086669922'} +error: (1062, "Duplicate entry 'puyehue-cl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Puyehue', u'countrycode': u'cl', u'city_id': u'-897922', u'longitude': u'-72.33089447021484', u'nr_hotels': u'0', u'latitude': u'-40.70745086669922'} +error: (1062, "Duplicate entry 'molina-cl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Molina', u'countrycode': u'cl', u'city_id': u'-892693', u'longitude': u'-71.2833023071289', u'nr_hotels': u'1', u'latitude': u'-35.11669921875'} +error: (1062, "Duplicate entry 'molina-cl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Molina', u'countrycode': u'cl', u'city_id': u'-892693', u'longitude': u'-71.2833023071289', u'nr_hotels': u'1', u'latitude': u'-35.11669921875'} +error: (1062, "Duplicate entry 'maitencillo-cl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maitencillo', u'countrycode': u'cl', u'city_id': u'900052627', u'longitude': u'-71.4403', u'nr_hotels': u'5', u'latitude': u'-32.65001'} +error: (1062, "Duplicate entry 'maitencillo-cl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Maitencillo', u'countrycode': u'cl', u'city_id': u'900052627', u'longitude': u'-71.4403', u'nr_hotels': u'5', u'latitude': u'-32.65001'} +error: (1062, "Duplicate entry 'zhongxin-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zhongxin', u'countrycode': u'cn', u'city_id': u'-1939244', u'longitude': u'113.61299896240234', u'nr_hotels': u'1', u'latitude': u'23.287799835205078'} +error: (1062, "Duplicate entry 'zhongxin-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zhongxin', u'countrycode': u'cn', u'city_id': u'-1939244', u'longitude': u'113.61299896240234', u'nr_hotels': u'1', u'latitude': u'23.287799835205078'} +error: (1062, "Duplicate entry 'zhangjiagang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zhangjiagang', u'countrycode': u'cn', u'city_id': u'-1935572', u'longitude': u'120.53900146484375', u'nr_hotels': u'4', u'latitude': u'31.864999771118164'} +error: (1062, "Duplicate entry 'zhangjiagang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zhangjiagang', u'countrycode': u'cn', u'city_id': u'-1935572', u'longitude': u'120.53900146484375', u'nr_hotels': u'4', u'latitude': u'31.864999771118164'} +error: (1062, "Duplicate entry 'xinchang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Xinchang', u'countrycode': u'cn', u'city_id': u'-1933285', u'longitude': u'120.90799713134766', u'nr_hotels': u'1', u'latitude': u'29.48859977722168'} +error: (1062, "Duplicate entry 'xinchang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Xinchang', u'countrycode': u'cn', u'city_id': u'-1933285', u'longitude': u'120.90799713134766', u'nr_hotels': u'1', u'latitude': u'29.48859977722168'} +error: (1062, "Duplicate entry 'tangxia-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tangxia', u'countrycode': u'cn', u'city_id': u'-1928089', u'longitude': u'113.03700256347656', u'nr_hotels': u'0', u'latitude': u'22.6781005859375'} +error: (1062, "Duplicate entry 'tangxia-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tangxia', u'countrycode': u'cn', u'city_id': u'-1928089', u'longitude': u'113.03700256347656', u'nr_hotels': u'0', u'latitude': u'22.6781005859375'} +error: (1062, "Duplicate entry 'tangshan-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tangshan', u'countrycode': u'cn', u'city_id': u'-1928045', u'longitude': u'119.05799865722656', u'nr_hotels': u'3', u'latitude': u'32.057498931884766'} +error: (1062, "Duplicate entry 'tangshan-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tangshan', u'countrycode': u'cn', u'city_id': u'-1928045', u'longitude': u'119.05799865722656', u'nr_hotels': u'3', u'latitude': u'32.057498931884766'} +error: (1062, "Duplicate entry 'rizhao-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rizhao', u'countrycode': u'cn', u'city_id': u'-1923239', u'longitude': u'119.45500183105469', u'nr_hotels': u'1', u'latitude': u'35.4275016784668'} +error: (1062, "Duplicate entry 'rizhao-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rizhao', u'countrycode': u'cn', u'city_id': u'-1923239', u'longitude': u'119.45500183105469', u'nr_hotels': u'1', u'latitude': u'35.4275016784668'} +error: (1062, "Duplicate entry 'pingshan-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pingshan', u'countrycode': u'cn', u'city_id': u'-1921158', u'longitude': u'114.33300018310547', u'nr_hotels': u'4', u'latitude': u'22.683300018310547'} +error: (1062, "Duplicate entry 'pingshan-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pingshan', u'countrycode': u'cn', u'city_id': u'-1921158', u'longitude': u'114.33300018310547', u'nr_hotels': u'4', u'latitude': u'22.683300018310547'} +error: (1062, "Duplicate entry 'jinzhou-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jinzhou', u'countrycode': u'cn', u'city_id': u'-1912815', u'longitude': u'121.71700286865234', u'nr_hotels': u'1', u'latitude': u'39.099998474121094'} +error: (1062, "Duplicate entry 'jinzhou-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jinzhou', u'countrycode': u'cn', u'city_id': u'-1912815', u'longitude': u'121.71700286865234', u'nr_hotels': u'1', u'latitude': u'39.099998474121094'} +error: (1062, "Duplicate entry 'jingjiang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jingjiang', u'countrycode': u'cn', u'city_id': u'-1912413', u'longitude': u'120.26200103759766', u'nr_hotels': u'1', u'latitude': u'32.014198303222656'} +error: (1062, "Duplicate entry 'jingjiang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jingjiang', u'countrycode': u'cn', u'city_id': u'-1912413', u'longitude': u'120.26200103759766', u'nr_hotels': u'1', u'latitude': u'32.014198303222656'} +error: (1062, "Duplicate entry 'heping-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Heping', u'countrycode': u'cn', u'city_id': u'-1909087', u'longitude': u'113.80000305175781', u'nr_hotels': u'1', u'latitude': u'22.700000762939453'} +error: (1062, "Duplicate entry 'heping-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Heping', u'countrycode': u'cn', u'city_id': u'-1909087', u'longitude': u'113.80000305175781', u'nr_hotels': u'1', u'latitude': u'22.700000762939453'} +error: (1062, "Duplicate entry 'fuyang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fuyang', u'countrycode': u'cn', u'city_id': u'-1905900', u'longitude': u'119.9520034790039', u'nr_hotels': u'3', u'latitude': u'30.053300857543945'} +error: (1062, "Duplicate entry 'fuyang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fuyang', u'countrycode': u'cn', u'city_id': u'-1905900', u'longitude': u'119.9520034790039', u'nr_hotels': u'3', u'latitude': u'30.053300857543945'} +error: (1062, "Duplicate entry 'dongshan-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dongshan', u'countrycode': u'cn', u'city_id': u'-1904120', u'longitude': u'116.98300170898438', u'nr_hotels': u'1', u'latitude': u'32.63330078125'} +error: (1062, "Duplicate entry 'dongshan-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dongshan', u'countrycode': u'cn', u'city_id': u'-1904120', u'longitude': u'116.98300170898438', u'nr_hotels': u'1', u'latitude': u'32.63330078125'} +error: (1062, "Duplicate entry 'changping-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Changping', u'countrycode': u'cn', u'city_id': u'-1899946', u'longitude': u'113.98400115966797', u'nr_hotels': u'3', u'latitude': u'22.97170066833496'} +error: The database backend does not accept 0 as a value for AutoField. + city: {u'languagecode': u'en', u'name': u'', u'countrycode': u'cn', u'city_id': u'0', u'longitude': u'120.4280014038086', u'nr_hotels': u'0', u'latitude': u'31.50480079650879'} +error: The database backend does not accept 0 as a value for AutoField. + city: {u'languagecode': u'ru', u'name': u'', u'countrycode': u'cn', u'city_id': u'0', u'longitude': u'120.4280014038086', u'nr_hotels': u'0', u'latitude': u'31.50480079650879'} +error: (1062, "Duplicate entry 'suzhou-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Suzhou', u'countrycode': u'cn', u'city_id': u'79514', u'longitude': u'120.58399963378906', u'nr_hotels': u'108', u'latitude': u'31.303199768066406'} +error: (1062, "Duplicate entry 'hongqiao-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hongqiao', u'countrycode': u'cn', u'city_id': u'90579', u'longitude': u'121.16600036621094', u'nr_hotels': u'1', u'latitude': u'32.317501068115234'} +error: (1062, "Duplicate entry 'hongqiao-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hongqiao', u'countrycode': u'cn', u'city_id': u'90579', u'longitude': u'121.16600036621094', u'nr_hotels': u'1', u'latitude': u'32.317501068115234'} +error: (1062, "Duplicate entry 'chuzhou-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chuzhou', u'countrycode': u'cn', u'city_id': u'168951', u'longitude': u'118.14800262451172', u'nr_hotels': u'1', u'latitude': u'32.29690170288086'} +error: (1062, "Duplicate entry 'chuzhou-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chuzhou', u'countrycode': u'cn', u'city_id': u'168951', u'longitude': u'118.14800262451172', u'nr_hotels': u'1', u'latitude': u'32.29690170288086'} +error: (1062, "Duplicate entry 'weitang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Weitang', u'countrycode': u'cn', u'city_id': u'170995', u'longitude': u'120.64700317382812', u'nr_hotels': u'1', u'latitude': u'31.459699630737305'} +error: (1062, "Duplicate entry 'weitang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Weitang', u'countrycode': u'cn', u'city_id': u'170995', u'longitude': u'120.64700317382812', u'nr_hotels': u'1', u'latitude': u'31.459699630737305'} +error: (1062, "Duplicate entry 'nansha-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nansha', u'countrycode': u'cn', u'city_id': u'6020822', u'longitude': u'113.56999969482422', u'nr_hotels': u'4', u'latitude': u'22.746700286865234'} +error: (1062, "Duplicate entry 'nansha-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nansha', u'countrycode': u'cn', u'city_id': u'6020822', u'longitude': u'113.56999969482422', u'nr_hotels': u'4', u'latitude': u'22.746700286865234'} +error: (1062, "Duplicate entry 'huangshan-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huangshan', u'countrycode': u'cn', u'city_id': u'900048301', u'longitude': u'118.33699798583984', u'nr_hotels': u'26', u'latitude': u'29.71470069885254'} +error: (1062, "Duplicate entry 'huangshan-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huangshan', u'countrycode': u'cn', u'city_id': u'900048301', u'longitude': u'118.33699798583984', u'nr_hotels': u'26', u'latitude': u'29.71470069885254'} +error: (1062, "Duplicate entry 'linhai-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Linhai', u'countrycode': u'cn', u'city_id': u'900050511', u'longitude': u'121.36067962646484', u'nr_hotels': u'1', u'latitude': u'28.84598159790039'} +error: (1062, "Duplicate entry 'linhai-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Linhai', u'countrycode': u'cn', u'city_id': u'900050511', u'longitude': u'121.36067962646484', u'nr_hotels': u'1', u'latitude': u'28.84598159790039'} +error: (1062, "Duplicate entry 'taizhou-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taizhou', u'countrycode': u'cn', u'city_id': u'900050515', u'longitude': u'121.41699981689453', u'nr_hotels': u'3', u'latitude': u'28.6560001373291'} +error: (1062, "Duplicate entry 'taizhou-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Taizhou', u'countrycode': u'cn', u'city_id': u'900050515', u'longitude': u'121.41699981689453', u'nr_hotels': u'3', u'latitude': u'28.6560001373291'} +error: (1062, "Duplicate entry 'tongzhou-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tongzhou', u'countrycode': u'cn', u'city_id': u'900050573', u'longitude': u'121.08892822265625', u'nr_hotels': u'3', u'latitude': u'32.03430938720703'} +error: (1062, "Duplicate entry 'tongzhou-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tongzhou', u'countrycode': u'cn', u'city_id': u'900050573', u'longitude': u'121.08892822265625', u'nr_hotels': u'3', u'latitude': u'32.03430938720703'} +error: (1062, "Duplicate entry 'songjianghe-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Songjianghe', u'countrycode': u'cn', u'city_id': u'900050580', u'longitude': u'127.64464569091797', u'nr_hotels': u'1', u'latitude': u'42.132530212402344'} +error: (1062, "Duplicate entry 'songjianghe-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Songjianghe', u'countrycode': u'cn', u'city_id': u'900050580', u'longitude': u'127.64464569091797', u'nr_hotels': u'1', u'latitude': u'42.132530212402344'} +error: (1062, "Duplicate entry 'mianyang-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mianyang', u'countrycode': u'cn', u'city_id': u'900050939', u'longitude': u'104.76699829101562', u'nr_hotels': u'1', u'latitude': u'31.466699600219727'} +error: (1062, "Duplicate entry 'mianyang-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mianyang', u'countrycode': u'cn', u'city_id': u'900050939', u'longitude': u'104.76699829101562', u'nr_hotels': u'1', u'latitude': u'31.466699600219727'} +error: (1062, "Duplicate entry 'tangxia-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tangxia', u'countrycode': u'cn', u'city_id': u'900051437', u'longitude': u'114.10064697265625', u'nr_hotels': u'0', u'latitude': u'22.814411163330078'} +error: (1062, "Duplicate entry 'tangxia-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tangxia', u'countrycode': u'cn', u'city_id': u'900051437', u'longitude': u'114.10064697265625', u'nr_hotels': u'0', u'latitude': u'22.814411163330078'} +error: (1062, "Duplicate entry 'dongying-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dongying', u'countrycode': u'cn', u'city_id': u'900051609', u'longitude': u'118.6776351928711', u'nr_hotels': u'1', u'latitude': u'37.4361572265625'} +error: (1062, "Duplicate entry 'dongying-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dongying', u'countrycode': u'cn', u'city_id': u'900051609', u'longitude': u'118.6776351928711', u'nr_hotels': u'1', u'latitude': u'37.4361572265625'} +error: (1062, "Duplicate entry 'longsheng-cn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Longsheng', u'countrycode': u'cn', u'city_id': u'900052824', u'longitude': u'110.011139', u'nr_hotels': u'2', u'latitude': u'25.85428'} +error: (1062, "Duplicate entry 'longsheng-cn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Longsheng', u'countrycode': u'cn', u'city_id': u'900052824', u'longitude': u'110.011139', u'nr_hotels': u'2', u'latitude': u'25.85428'} +error: (1062, "Duplicate entry 'santa-elena-co' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Elena', u'countrycode': u'co', u'city_id': u'-598539', u'longitude': u'-76.24079895019531', u'nr_hotels': u'1', u'latitude': u'3.658329963684082'} +error: (1062, "Duplicate entry 'santa-elena-co' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Elena', u'countrycode': u'co', u'city_id': u'-598539', u'longitude': u'-76.24079895019531', u'nr_hotels': u'1', u'latitude': u'3.658329963684082'} +error: (1062, "Duplicate entry 'palomino-co' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Palomino', u'countrycode': u'co', u'city_id': u'-594205', u'longitude': u'-73.6500015258789', u'nr_hotels': u'0', u'latitude': u'11.033300399780273'} +error: (1062, "Duplicate entry 'palomino-co' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Palomino', u'countrycode': u'co', u'city_id': u'-594205', u'longitude': u'-73.6500015258789', u'nr_hotels': u'0', u'latitude': u'11.033300399780273'} +error: (1062, "Duplicate entry 'santa-rosa-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Rosa', u'countrycode': u'cr', u'city_id': u'-1109417', u'longitude': u'-85.80000305175781', u'nr_hotels': u'1', u'latitude': u'10.316699981689453'} +error: (1062, "Duplicate entry 'santa-rosa-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Rosa', u'countrycode': u'cr', u'city_id': u'-1109417', u'longitude': u'-85.80000305175781', u'nr_hotels': u'1', u'latitude': u'10.316699981689453'} +error: (1062, "Duplicate entry 'santa-elena-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Elena', u'countrycode': u'cr', u'city_id': u'-1109355', u'longitude': u'-83.63330078125', u'nr_hotels': u'0', u'latitude': u'9.350000381469727'} +error: (1062, "Duplicate entry 'santa-elena-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Elena', u'countrycode': u'cr', u'city_id': u'-1109355', u'longitude': u'-83.63330078125', u'nr_hotels': u'0', u'latitude': u'9.350000381469727'} +error: (1062, "Duplicate entry 'santa-cruz-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Cruz', u'countrycode': u'cr', u'city_id': u'-1109347', u'longitude': u'-84.0333023071289', u'nr_hotels': u'1', u'latitude': u'9.733329772949219'} +error: (1062, "Duplicate entry 'santa-cruz-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Cruz', u'countrycode': u'cr', u'city_id': u'-1109347', u'longitude': u'-84.0333023071289', u'nr_hotels': u'1', u'latitude': u'9.733329772949219'} +error: (1062, "Duplicate entry 'san-gerardo-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Gerardo', u'countrycode': u'cr', u'city_id': u'-1109061', u'longitude': u'-84.31670379638672', u'nr_hotels': u'0', u'latitude': u'9.633330345153809'} +error: (1062, "Duplicate entry 'san-gerardo-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Gerardo', u'countrycode': u'cr', u'city_id': u'-1109061', u'longitude': u'-84.31670379638672', u'nr_hotels': u'0', u'latitude': u'9.633330345153809'} +error: (1062, "Duplicate entry 'pital-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pital', u'countrycode': u'cr', u'city_id': u'-1108572', u'longitude': u'-84.2833023071289', u'nr_hotels': u'1', u'latitude': u'10.449999809265137'} +error: (1062, "Duplicate entry 'pital-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pital', u'countrycode': u'cr', u'city_id': u'-1108572', u'longitude': u'-84.2833023071289', u'nr_hotels': u'1', u'latitude': u'10.449999809265137'} +error: (1062, "Duplicate entry 'palma-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Palma', u'countrycode': u'cr', u'city_id': u'-1108326', u'longitude': u'-83.43329620361328', u'nr_hotels': u'1', u'latitude': u'8.933329582214355'} +error: (1062, "Duplicate entry 'palma-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Palma', u'countrycode': u'cr', u'city_id': u'-1108326', u'longitude': u'-83.43329620361328', u'nr_hotels': u'1', u'latitude': u'8.933329582214355'} +error: (1062, "Duplicate entry 'la-cruz-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Cruz', u'countrycode': u'cr', u'city_id': u'-1107687', u'longitude': u'-84.83329772949219', u'nr_hotels': u'1', u'latitude': u'10.33329963684082'} +error: (1062, "Duplicate entry 'la-cruz-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Cruz', u'countrycode': u'cr', u'city_id': u'-1107687', u'longitude': u'-84.83329772949219', u'nr_hotels': u'1', u'latitude': u'10.33329963684082'} +error: (1062, "Duplicate entry 'fortuna-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fortuna', u'countrycode': u'cr', u'city_id': u'-1107229', u'longitude': u'-84.6500015258789', u'nr_hotels': u'77', u'latitude': u'10.48330020904541'} +error: (1062, "Duplicate entry 'fortuna-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u043e\u0440\u0442\u0443\u043d\u0430', u'countrycode': u'cr', u'city_id': u'-1107229', u'longitude': u'-84.6500015258789', u'nr_hotels': u'77', u'latitude': u'10.48330020904541'} +error: (1062, "Duplicate entry 'carrillo-cr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carrillo', u'countrycode': u'cr', u'city_id': u'-1106558', u'longitude': u'-85.4666976928711', u'nr_hotels': u'10', u'latitude': u'9.866669654846191'} +error: (1062, "Duplicate entry 'carrillo-cr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carrillo', u'countrycode': u'cr', u'city_id': u'-1106558', u'longitude': u'-85.4666976928711', u'nr_hotels': u'10', u'latitude': u'9.866669654846191'} +error: (1062, "Duplicate entry 'zvole-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zvole', u'countrycode': u'cz', u'city_id': u'-559620', u'longitude': u'16.183300018310547', u'nr_hotels': u'2', u'latitude': u'49.5'} +error: (1062, "Duplicate entry 'zvole-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zvole', u'countrycode': u'cz', u'city_id': u'-559620', u'longitude': u'16.183300018310547', u'nr_hotels': u'2', u'latitude': u'49.5'} +error: (1062, "Duplicate entry 'sedlec-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sedlec', u'countrycode': u'cz', u'city_id': u'-554550', u'longitude': u'16.700000762939453', u'nr_hotels': u'2', u'latitude': u'48.78329849243164'} +error: (1062, "Duplicate entry 'sedlec-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sedlec', u'countrycode': u'cz', u'city_id': u'-554550', u'longitude': u'16.700000762939453', u'nr_hotels': u'2', u'latitude': u'48.78329849243164'} +error: (1062, "Duplicate entry 'rzhichani-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0436\u0438\u0447\u0430\u043d\u0438', u'countrycode': u'cz', u'city_id': u'-553994', u'longitude': u'16.38330078125', u'nr_hotels': u'1', u'latitude': u'49.21670150756836'} +error: (1062, "Duplicate entry 'petrovice-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Petrovice', u'countrycode': u'cz', u'city_id': u'-552495', u'longitude': u'16.700000762939453', u'nr_hotels': u'1', u'latitude': u'49.41669845581055'} +error: (1062, "Duplicate entry 'petrovice-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Petrovice', u'countrycode': u'cz', u'city_id': u'-552495', u'longitude': u'16.700000762939453', u'nr_hotels': u'1', u'latitude': u'49.41669845581055'} +error: (1062, "Duplicate entry 'mikulov-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mikulov', u'countrycode': u'cz', u'city_id': u'-550129', u'longitude': u'16.63330078125', u'nr_hotels': u'43', u'latitude': u'48.79999923706055'} +error: (1062, "Duplicate entry 'mikulov-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u043a\u0443\u043b\u043e\u0432', u'countrycode': u'cz', u'city_id': u'-550129', u'longitude': u'16.63330078125', u'nr_hotels': u'43', u'latitude': u'48.79999923706055'} +error: (1062, "Duplicate entry 'karlov-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Karlov', u'countrycode': u'cz', u'city_id': u'-547000', u'longitude': u'15.91670036315918', u'nr_hotels': u'1', u'latitude': u'49.650001525878906'} +error: (1062, "Duplicate entry 'karlov-cz' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u043b\u043e\u0432', u'countrycode': u'cz', u'city_id': u'-547000', u'longitude': u'15.91670036315918', u'nr_hotels': u'1', u'latitude': u'49.650001525878906'} +error: (1062, "Duplicate entry 'nepomuk-cz' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nepomuk', u'countrycode': u'cz', u'city_id': u'-542556', u'longitude': u'12.800000190734863', u'nr_hotels': u'0', u'latitude': u'49.41669845581055'} +error: (1062, "Duplicate entry 'zierzow-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zierzow', u'countrycode': u'de', u'city_id': u'-1892823', u'longitude': u'11.683300018310547', u'nr_hotels': u'0', u'latitude': u'53.28329849243164'} +error: (1062, "Duplicate entry 'zierzow-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zierzow', u'countrycode': u'de', u'city_id': u'-1892823', u'longitude': u'11.683300018310547', u'nr_hotels': u'0', u'latitude': u'53.28329849243164'} +error: (1062, "Duplicate entry 'wulkow-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wulkow', u'countrycode': u'de', u'city_id': u'-1891241', u'longitude': u'14.466699600219727', u'nr_hotels': u'2', u'latitude': u'52.400001525878906'} +error: (1062, "Duplicate entry 'wulkow-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wulkow', u'countrycode': u'de', u'city_id': u'-1891241', u'longitude': u'14.466699600219727', u'nr_hotels': u'2', u'latitude': u'52.400001525878906'} +error: (1062, "Duplicate entry 'winsen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winsen', u'countrycode': u'de', u'city_id': u'-1889242', u'longitude': u'9.913439750671387', u'nr_hotels': u'5', u'latitude': u'52.68360137939453'} +error: (1062, "Duplicate entry 'winsen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Winsen', u'countrycode': u'de', u'city_id': u'-1889242', u'longitude': u'9.913439750671387', u'nr_hotels': u'5', u'latitude': u'52.68360137939453'} +error: (1062, "Duplicate entry 'windorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windorf', u'countrycode': u'de', u'city_id': u'-1888978', u'longitude': u'12.783300399780273', u'nr_hotels': u'0', u'latitude': u'48.45000076293945'} +error: (1062, "Duplicate entry 'windorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Windorf', u'countrycode': u'de', u'city_id': u'-1888978', u'longitude': u'12.783300399780273', u'nr_hotels': u'0', u'latitude': u'48.45000076293945'} +error: (1062, "Duplicate entry 'westerburg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westerburg', u'countrycode': u'de', u'city_id': u'-1886664', u'longitude': u'7.983329772949219', u'nr_hotels': u'3', u'latitude': u'50.56669998168945'} +error: (1062, "Duplicate entry 'westerburg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westerburg', u'countrycode': u'de', u'city_id': u'-1886664', u'longitude': u'7.983329772949219', u'nr_hotels': u'3', u'latitude': u'50.56669998168945'} +error: (1062, "Duplicate entry 'wangen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wangen', u'countrycode': u'de', u'city_id': u'-1882777', u'longitude': u'8.933329582214355', u'nr_hotels': u'1', u'latitude': u'47.66669845581055'} +error: (1062, "Duplicate entry 'wangen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wangen', u'countrycode': u'de', u'city_id': u'-1882777', u'longitude': u'8.933329582214355', u'nr_hotels': u'1', u'latitude': u'47.66669845581055'} +error: (1062, "Duplicate entry 'wallhausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wallhausen', u'countrycode': u'de', u'city_id': u'-1882489', u'longitude': u'9.133330345153809', u'nr_hotels': u'1', u'latitude': u'47.75'} +error: (1062, "Duplicate entry 'wallhausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wallhausen', u'countrycode': u'de', u'city_id': u'-1882489', u'longitude': u'9.133330345153809', u'nr_hotels': u'1', u'latitude': u'47.75'} +error: (1062, "Duplicate entry 'waldstetten-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waldstetten', u'countrycode': u'de', u'city_id': u'-1882286', u'longitude': u'10.300000190734863', u'nr_hotels': u'2', u'latitude': u'48.349998474121094'} +error: (1062, "Duplicate entry 'waldstetten-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waldstetten', u'countrycode': u'de', u'city_id': u'-1882286', u'longitude': u'10.300000190734863', u'nr_hotels': u'2', u'latitude': u'48.349998474121094'} +error: (1062, "Duplicate entry 'wald-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wald', u'countrycode': u'de', u'city_id': u'-1881855', u'longitude': u'10.550000190734863', u'nr_hotels': u'1', u'latitude': u'47.71670150756836'} +error: (1062, "Duplicate entry 'wald-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wald', u'countrycode': u'de', u'city_id': u'-1881855', u'longitude': u'10.550000190734863', u'nr_hotels': u'1', u'latitude': u'47.71670150756836'} +error: (1062, "Duplicate entry 'urbar-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Urbar', u'countrycode': u'de', u'city_id': u'-1878824', u'longitude': u'7.716670036315918', u'nr_hotels': u'1', u'latitude': u'50.13330078125'} +error: (1062, "Duplicate entry 'urbar-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Urbar', u'countrycode': u'de', u'city_id': u'-1878824', u'longitude': u'7.716670036315918', u'nr_hotels': u'1', u'latitude': u'50.13330078125'} +error: (1062, "Duplicate entry 'ummanz-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ummanz', u'countrycode': u'de', u'city_id': u'-1876863', u'longitude': u'13.183300018310547', u'nr_hotels': u'0', u'latitude': u'54.46670150756836'} +error: (1062, "Duplicate entry 'ummanz-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ummanz', u'countrycode': u'de', u'city_id': u'-1876863', u'longitude': u'13.183300018310547', u'nr_hotels': u'0', u'latitude': u'54.46670150756836'} +error: (1062, "Duplicate entry 'tiefenbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tiefenbach', u'countrycode': u'de', u'city_id': u'-1874603', u'longitude': u'8.796939849853516', u'nr_hotels': u'1', u'latitude': u'49.177799224853516'} +error: (1062, "Duplicate entry 'tiefenbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tiefenbach', u'countrycode': u'de', u'city_id': u'-1874603', u'longitude': u'8.796939849853516', u'nr_hotels': u'1', u'latitude': u'49.177799224853516'} +error: (1062, "Duplicate entry 'teschow-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Teschow', u'countrycode': u'de', u'city_id': u'-1873602', u'longitude': u'12.633299827575684', u'nr_hotels': u'1', u'latitude': u'53.78329849243164'} +error: (1062, "Duplicate entry 'teschow-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Teschow', u'countrycode': u'de', u'city_id': u'-1873602', u'longitude': u'12.633299827575684', u'nr_hotels': u'1', u'latitude': u'53.78329849243164'} +error: (1062, "Duplicate entry 'taufkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taufkirchen', u'countrycode': u'de', u'city_id': u'-1873220', u'longitude': u'11.616700172424316', u'nr_hotels': u'2', u'latitude': u'48.04999923706055'} +error: (1062, "Duplicate entry 'stolpe-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stolpe', u'countrycode': u'de', u'city_id': u'-1870483', u'longitude': u'13.566699981689453', u'nr_hotels': u'1', u'latitude': u'53.86669921875'} +error: (1062, "Duplicate entry 'stolpe-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stolpe', u'countrycode': u'de', u'city_id': u'-1870483', u'longitude': u'13.566699981689453', u'nr_hotels': u'1', u'latitude': u'53.86669921875'} +error: (1062, "Duplicate entry 'stetten-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stetten', u'countrycode': u'de', u'city_id': u'-1869773', u'longitude': u'9.300000190734863', u'nr_hotels': u'2', u'latitude': u'47.68330001831055'} +error: (1062, "Duplicate entry 'stetten-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stetten', u'countrycode': u'de', u'city_id': u'-1869756', u'longitude': u'9.333330154418945', u'nr_hotels': u'1', u'latitude': u'48.78329849243164'} +error: (1062, "Duplicate entry 'shtetten-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0428\u0442\u0435\u0442\u0442\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1869756', u'longitude': u'9.333330154418945', u'nr_hotels': u'1', u'latitude': u'48.78329849243164'} +error: (1062, "Duplicate entry 'steinhagen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Steinhagen', u'countrycode': u'de', u'city_id': u'-1868968', u'longitude': u'8.399999618530273', u'nr_hotels': u'1', u'latitude': u'52'} +error: (1062, "Duplicate entry 'steinach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Steinach', u'countrycode': u'de', u'city_id': u'-1868105', u'longitude': u'12.616700172424316', u'nr_hotels': u'1', u'latitude': u'48.95000076293945'} +error: (1062, "Duplicate entry 'steinach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Steinach', u'countrycode': u'de', u'city_id': u'-1868105', u'longitude': u'12.616700172424316', u'nr_hotels': u'1', u'latitude': u'48.95000076293945'} +error: (1062, "Duplicate entry 'staufenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Staufenberg', u'countrycode': u'de', u'city_id': u'-1867692', u'longitude': u'8.316670417785645', u'nr_hotels': u'1', u'latitude': u'48.766700744628906'} +error: (1062, "Duplicate entry 'staufenberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Staufenberg', u'countrycode': u'de', u'city_id': u'-1867692', u'longitude': u'8.316670417785645', u'nr_hotels': u'1', u'latitude': u'48.766700744628906'} +error: (1062, "Duplicate entry 'zenden-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0417\u0435\u043d\u0434\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1863923', u'longitude': u'10.066699981689453', u'nr_hotels': u'3', u'latitude': u'48.31669998168945'} +error: (1062, "Duplicate entry 'seefeld-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seefeld', u'countrycode': u'de', u'city_id': u'-1863136', u'longitude': u'8.350000381469727', u'nr_hotels': u'1', u'latitude': u'53.45000076293945'} +error: (1062, "Duplicate entry 'seefeld-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seefeld', u'countrycode': u'de', u'city_id': u'-1863136', u'longitude': u'8.350000381469727', u'nr_hotels': u'1', u'latitude': u'53.45000076293945'} +error: (1062, "Duplicate entry 'seedorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seedorf', u'countrycode': u'de', u'city_id': u'-1863116', u'longitude': u'10.866700172424316', u'nr_hotels': u'1', u'latitude': u'53.61669921875'} +error: (1062, "Duplicate entry 'seedorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seedorf', u'countrycode': u'de', u'city_id': u'-1863116', u'longitude': u'10.866700172424316', u'nr_hotels': u'1', u'latitude': u'53.61669921875'} +error: (1062, "Duplicate entry 'sehma-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sehma', u'countrycode': u'de', u'city_id': u'-1858680', u'longitude': u'13.005842208862305', u'nr_hotels': u'4', u'latitude': u'50.4393424987793'} +error: (1062, "Duplicate entry 'sehma-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sehma', u'countrycode': u'de', u'city_id': u'-1858680', u'longitude': u'13.005842208862305', u'nr_hotels': u'4', u'latitude': u'50.4393424987793'} +error: (1062, "Duplicate entry 'schenefeld-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Schenefeld', u'countrycode': u'de', u'city_id': u'-1857211', u'longitude': u'9.816670417785645', u'nr_hotels': u'1', u'latitude': u'53.599998474121094'} +error: (1062, "Duplicate entry 'schenefeld-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Schenefeld', u'countrycode': u'de', u'city_id': u'-1857211', u'longitude': u'9.816670417785645', u'nr_hotels': u'1', u'latitude': u'53.599998474121094'} +error: (1062, "Duplicate entry 'rimbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rimbach', u'countrycode': u'de', u'city_id': u'-1850192', u'longitude': u'12.883299827575684', u'nr_hotels': u'3', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'rimbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rimbach', u'countrycode': u'de', u'city_id': u'-1850192', u'longitude': u'12.883299827575684', u'nr_hotels': u'3', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'riedenburg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Riedenburg', u'countrycode': u'de', u'city_id': u'-1849715', u'longitude': u'11.683300018310547', u'nr_hotels': u'4', u'latitude': u'48.96670150756836'} +error: (1062, "Duplicate entry 'riedenburg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Riedenburg', u'countrycode': u'de', u'city_id': u'-1849715', u'longitude': u'11.683300018310547', u'nr_hotels': u'4', u'latitude': u'48.96670150756836'} +error: (1062, "Duplicate entry 'rieden-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rieden', u'countrycode': u'de', u'city_id': u'-1849704', u'longitude': u'11.949999809265137', u'nr_hotels': u'1', u'latitude': u'49.31669998168945'} +error: (1062, "Duplicate entry 'rieden-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rieden', u'countrycode': u'de', u'city_id': u'-1849704', u'longitude': u'11.949999809265137', u'nr_hotels': u'1', u'latitude': u'49.31669998168945'} +error: (1062, "Duplicate entry 'rieden-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rieden', u'countrycode': u'de', u'city_id': u'-1849695', u'longitude': u'10.716699600219727', u'nr_hotels': u'5', u'latitude': u'47.61669921875'} +error: (1062, "Duplicate entry 'rhede-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rhede', u'countrycode': u'de', u'city_id': u'-1849254', u'longitude': u'6.699999809265137', u'nr_hotels': u'1', u'latitude': u'51.83330154418945'} +error: (1062, "Duplicate entry 'rhede-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rhede', u'countrycode': u'de', u'city_id': u'-1849254', u'longitude': u'6.699999809265137', u'nr_hotels': u'1', u'latitude': u'51.83330154418945'} +error: (1062, "Duplicate entry 'reichenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Reichenberg', u'countrycode': u'de', u'city_id': u'-1847845', u'longitude': u'7.766670227050781', u'nr_hotels': u'1', u'latitude': u'50.150001525878906'} +error: (1062, "Duplicate entry 'reichenberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Reichenberg', u'countrycode': u'de', u'city_id': u'-1847845', u'longitude': u'7.766670227050781', u'nr_hotels': u'1', u'latitude': u'50.150001525878906'} +error: (1062, "Duplicate entry 'reichenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Reichenberg', u'countrycode': u'de', u'city_id': u'-1847844', u'longitude': u'9.918330192565918', u'nr_hotels': u'1', u'latitude': u'49.7317008972168'} +error: (1062, "Duplicate entry 'reichenberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Reichenberg', u'countrycode': u'de', u'city_id': u'-1847844', u'longitude': u'9.918330192565918', u'nr_hotels': u'1', u'latitude': u'49.7317008972168'} +error: (1062, "Duplicate entry 'pokking-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u043a\u043a\u0438\u043d\u0433', u'countrycode': u'de', u'city_id': u'-1843853', u'longitude': u'11.300000190734863', u'nr_hotels': u'3', u'latitude': u'47.96670150756836'} +error: (1062, "Duplicate entry 'wustrow-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wustrow', u'countrycode': u'de', u'city_id': u'-1840718', u'longitude': u'12.399999618530273', u'nr_hotels': u'4', u'latitude': u'54.349998474121094'} +error: (1062, "Duplicate entry 'wustrow-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wustrow', u'countrycode': u'de', u'city_id': u'-1840718', u'longitude': u'12.399999618530273', u'nr_hotels': u'4', u'latitude': u'54.349998474121094'} +error: (1062, "Duplicate entry 'oberried-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oberried', u'countrycode': u'de', u'city_id': u'-1837592', u'longitude': u'7.9510498046875', u'nr_hotels': u'1', u'latitude': u'47.93259811401367'} +error: (1062, "Duplicate entry 'oberried-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oberried', u'countrycode': u'de', u'city_id': u'-1837592', u'longitude': u'7.9510498046875', u'nr_hotels': u'1', u'latitude': u'47.93259811401367'} +error: (1062, "Duplicate entry 'oberau-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oberau', u'countrycode': u'de', u'city_id': u'-1835506', u'longitude': u'11.133299827575684', u'nr_hotels': u'4', u'latitude': u'47.54999923706055'} +error: (1062, "Duplicate entry 'oberau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0431\u0435\u0440\u0430\u0443', u'countrycode': u'de', u'city_id': u'-1835506', u'longitude': u'11.133299827575684', u'nr_hotels': u'4', u'latitude': u'47.54999923706055'} +error: (1062, "Duplicate entry 'ninburg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u0438\u043d\u0431\u0443\u0440\u0433', u'countrycode': u'de', u'city_id': u'-1834256', u'longitude': u'11.75', u'nr_hotels': u'1', u'latitude': u'51.83330154418945'} +error: (1062, "Duplicate entry 'neustadt-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neustadt', u'countrycode': u'de', u'city_id': u'-1832781', u'longitude': u'11.75', u'nr_hotels': u'2', u'latitude': u'50.733299255371094'} +error: (1062, "Duplicate entry 'neustadt-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Neustadt', u'countrycode': u'de', u'city_id': u'-1832781', u'longitude': u'11.75', u'nr_hotels': u'2', u'latitude': u'50.733299255371094'} +error: (1062, "Duplicate entry 'neustadt-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neustadt', u'countrycode': u'de', u'city_id': u'-1832779', u'longitude': u'7.453539848327637', u'nr_hotels': u'1', u'latitude': u'50.61240005493164'} +error: (1062, "Duplicate entry 'neunkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neunkirchen', u'countrycode': u'de', u'city_id': u'-1832439', u'longitude': u'9.010560035705566', u'nr_hotels': u'1', u'latitude': u'49.38690185546875'} +error: (1062, "Duplicate entry 'neunkirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Neunkirchen', u'countrycode': u'de', u'city_id': u'-1832439', u'longitude': u'9.010560035705566', u'nr_hotels': u'1', u'latitude': u'49.38690185546875'} +error: (1062, "Duplicate entry 'neunkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neunkirchen', u'countrycode': u'de', u'city_id': u'-1832438', u'longitude': u'7.183330059051514', u'nr_hotels': u'2', u'latitude': u'49.349998474121094'} +error: (1062, "Duplicate entry 'neunkirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Neunkirchen', u'countrycode': u'de', u'city_id': u'-1832438', u'longitude': u'7.183330059051514', u'nr_hotels': u'2', u'latitude': u'49.349998474121094'} +error: (1062, "Duplicate entry 'neukirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neukirchen', u'countrycode': u'de', u'city_id': u'-1832125', u'longitude': u'9.333330154418945', u'nr_hotels': u'4', u'latitude': u'50.86669921875'} +error: (1062, "Duplicate entry 'neukirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Neukirchen', u'countrycode': u'de', u'city_id': u'-1832125', u'longitude': u'9.333330154418945', u'nr_hotels': u'4', u'latitude': u'50.86669921875'} +error: (1062, "Duplicate entry 'neukirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neukirchen', u'countrycode': u'de', u'city_id': u'-1832112', u'longitude': u'12.76669979095459', u'nr_hotels': u'3', u'latitude': u'48.983299255371094'} +error: (1062, "Duplicate entry 'neuhof-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neuhof', u'countrycode': u'de', u'city_id': u'-1831925', u'longitude': u'10.08329963684082', u'nr_hotels': u'1', u'latitude': u'49.78329849243164'} +error: (1062, "Duplicate entry 'neuhausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neuhausen', u'countrycode': u'de', u'city_id': u'-1831775', u'longitude': u'13.465900421142578', u'nr_hotels': u'5', u'latitude': u'50.67369842529297'} +error: (1062, "Duplicate entry 'neuenkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neuenkirchen', u'countrycode': u'de', u'city_id': u'-1831230', u'longitude': u'7.36667013168335', u'nr_hotels': u'2', u'latitude': u'52.25'} +error: (1062, "Duplicate entry 'neuenkirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Neuenkirchen', u'countrycode': u'de', u'city_id': u'-1831230', u'longitude': u'7.36667013168335', u'nr_hotels': u'2', u'latitude': u'52.25'} +error: (1062, "Duplicate entry 'nentershausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nentershausen', u'countrycode': u'de', u'city_id': u'-1830357', u'longitude': u'7.933330059051514', u'nr_hotels': u'1', u'latitude': u'50.41669845581055'} +error: (1062, "Duplicate entry 'nentershausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nentershausen', u'countrycode': u'de', u'city_id': u'-1830357', u'longitude': u'7.933330059051514', u'nr_hotels': u'1', u'latitude': u'50.41669845581055'} +error: (1062, "Duplicate entry 'naurath-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Naurath', u'countrycode': u'de', u'city_id': u'-1830012', u'longitude': u'6.88332986831665', u'nr_hotels': u'1', u'latitude': u'49.766700744628906'} +error: (1062, "Duplicate entry 'naurath-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Naurath', u'countrycode': u'de', u'city_id': u'-1830012', u'longitude': u'6.88332986831665', u'nr_hotels': u'1', u'latitude': u'49.766700744628906'} +error: (1062, "Duplicate entry 'naumburg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u0430\u0443\u043c\u0431\u0443\u0440\u0433', u'countrycode': u'de', u'city_id': u'-1829961', u'longitude': u'11.816699981689453', u'nr_hotels': u'15', u'latitude': u'51.150001525878906'} +error: (1062, "Duplicate entry 'myul-hajm-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u044e\u043b\u044c\u0445\u0430\u0439\u043c', u'countrycode': u'de', u'city_id': u'-1829018', u'longitude': u'7.010220050811768', u'nr_hotels': u'5', u'latitude': u'49.912200927734375'} +error: (1062, "Duplicate entry 'myul-hajm-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u044e\u043b\u044c\u0445\u0430\u0439\u043c', u'countrycode': u'de', u'city_id': u'-1828876', u'longitude': u'8.833330154418945', u'nr_hotels': u'4', u'latitude': u'50.11669921875'} +error: (1062, "Duplicate entry 'minden-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Minden', u'countrycode': u'de', u'city_id': u'-1825810', u'longitude': u'6.466670036315918', u'nr_hotels': u'1', u'latitude': u'49.83330154418945'} +error: (1062, "Duplicate entry 'minden-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Minden', u'countrycode': u'de', u'city_id': u'-1825810', u'longitude': u'6.466670036315918', u'nr_hotels': u'1', u'latitude': u'49.83330154418945'} +error: (1062, "Duplicate entry 'metzingen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Metzingen', u'countrycode': u'de', u'city_id': u'-1825362', u'longitude': u'9.266670227050781', u'nr_hotels': u'3', u'latitude': u'48.53329849243164'} +error: (1062, "Duplicate entry 'mengen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mengen', u'countrycode': u'de', u'city_id': u'-1824881', u'longitude': u'7.716670036315918', u'nr_hotels': u'1', u'latitude': u'47.95000076293945'} +error: (1062, "Duplicate entry 'mengen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mengen', u'countrycode': u'de', u'city_id': u'-1824881', u'longitude': u'7.716670036315918', u'nr_hotels': u'1', u'latitude': u'47.95000076293945'} +error: (1062, "Duplicate entry 'mehring-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mehring', u'countrycode': u'de', u'city_id': u'-1824468', u'longitude': u'12.783300399780273', u'nr_hotels': u'1', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'mehring-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mehring', u'countrycode': u'de', u'city_id': u'-1824468', u'longitude': u'12.783300399780273', u'nr_hotels': u'1', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'linden-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Linden', u'countrycode': u'de', u'city_id': u'-1819362', u'longitude': u'12.066699981689453', u'nr_hotels': u'1', u'latitude': u'48.58330154418945'} +error: (1062, "Duplicate entry 'linden-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Linden', u'countrycode': u'de', u'city_id': u'-1819362', u'longitude': u'12.066699981689453', u'nr_hotels': u'1', u'latitude': u'48.58330154418945'} +error: (1062, "Duplicate entry 'linden-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Linden', u'countrycode': u'de', u'city_id': u'-1819355', u'longitude': u'11.58329963684082', u'nr_hotels': u'1', u'latitude': u'47.88330078125'} +error: (1062, "Duplicate entry 'linden-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Linden', u'countrycode': u'de', u'city_id': u'-1819355', u'longitude': u'11.58329963684082', u'nr_hotels': u'1', u'latitude': u'47.88330078125'} +error: (1062, "Duplicate entry 'limbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Limbach', u'countrycode': u'de', u'city_id': u'-1819130', u'longitude': u'9.21111011505127', u'nr_hotels': u'1', u'latitude': u'49.46189880371094'} +error: (1062, "Duplicate entry 'limbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Limbach', u'countrycode': u'de', u'city_id': u'-1819130', u'longitude': u'9.21111011505127', u'nr_hotels': u'1', u'latitude': u'49.46189880371094'} +error: (1062, "Duplicate entry 'limbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Limbach', u'countrycode': u'de', u'city_id': u'-1819128', u'longitude': u'7.266670227050781', u'nr_hotels': u'1', u'latitude': u'49.31669998168945'} +error: (1062, "Duplicate entry 'limbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Limbach', u'countrycode': u'de', u'city_id': u'-1819128', u'longitude': u'7.266670227050781', u'nr_hotels': u'1', u'latitude': u'49.31669998168945'} +error: (1062, "Duplicate entry 'lichtenau-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lichtenau', u'countrycode': u'de', u'city_id': u'-1818687', u'longitude': u'12.991962432861328', u'nr_hotels': u'1', u'latitude': u'50.91169357299805'} +error: (1062, "Duplicate entry 'lichtenau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lichtenau', u'countrycode': u'de', u'city_id': u'-1818687', u'longitude': u'12.991962432861328', u'nr_hotels': u'1', u'latitude': u'50.91169357299805'} +error: (1062, "Duplicate entry 'lichtenau-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lichtenau', u'countrycode': u'de', u'city_id': u'-1818682', u'longitude': u'8.016670227050781', u'nr_hotels': u'1', u'latitude': u'48.733299255371094'} +error: (1062, "Duplicate entry 'lichtenau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lichtenau', u'countrycode': u'de', u'city_id': u'-1818682', u'longitude': u'8.016670227050781', u'nr_hotels': u'1', u'latitude': u'48.733299255371094'} +error: (1062, "Duplicate entry 'lengenfeld-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lengenfeld', u'countrycode': u'de', u'city_id': u'-1817965', u'longitude': u'11.633299827575684', u'nr_hotels': u'1', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'lengenfeld-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lengenfeld', u'countrycode': u'de', u'city_id': u'-1817965', u'longitude': u'11.633299827575684', u'nr_hotels': u'1', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'lauterbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lauterbach', u'countrycode': u'de', u'city_id': u'-1816888', u'longitude': u'9.399999618530273', u'nr_hotels': u'1', u'latitude': u'50.63330078125'} +error: (1062, "Duplicate entry 'lauterbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lauterbach', u'countrycode': u'de', u'city_id': u'-1816888', u'longitude': u'9.399999618530273', u'nr_hotels': u'1', u'latitude': u'50.63330078125'} +error: (1062, "Duplicate entry 'lauterbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lauterbach', u'countrycode': u'de', u'city_id': u'-1816873', u'longitude': u'8.350000381469727', u'nr_hotels': u'10', u'latitude': u'48.233299255371094'} +error: (1062, "Duplicate entry 'lauterbah-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u0443\u0442\u0435\u0440\u0431\u0430\u0445', u'countrycode': u'de', u'city_id': u'-1816873', u'longitude': u'8.350000381469727', u'nr_hotels': u'10', u'latitude': u'48.233299255371094'} +error: (1062, "Duplicate entry 'langenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Langenberg', u'countrycode': u'de', u'city_id': u'-1815635', u'longitude': u'12.83329963684082', u'nr_hotels': u'1', u'latitude': u'50.54999923706055'} +error: (1062, "Duplicate entry 'langenberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Langenberg', u'countrycode': u'de', u'city_id': u'-1815635', u'longitude': u'12.83329963684082', u'nr_hotels': u'1', u'latitude': u'50.54999923706055'} +error: (1062, "Duplicate entry 'langenbah-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u0433\u0435\u043d\u0431\u0430\u0445', u'countrycode': u'de', u'city_id': u'-1815572', u'longitude': u'11.850000381469727', u'nr_hotels': u'2', u'latitude': u'48.43330001831055'} +error: (1062, "Duplicate entry 'lahr-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lahr', u'countrycode': u'de', u'city_id': u'-1814929', u'longitude': u'7.86667013168335', u'nr_hotels': u'11', u'latitude': u'48.349998474121094'} +error: (1062, "Duplicate entry 'krautheim-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Krautheim', u'countrycode': u'de', u'city_id': u'-1812179', u'longitude': u'9.633890151977539', u'nr_hotels': u'1', u'latitude': u'49.38639831542969'} +error: (1062, "Duplicate entry 'krautheim-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Krautheim', u'countrycode': u'de', u'city_id': u'-1812179', u'longitude': u'9.633890151977539', u'nr_hotels': u'1', u'latitude': u'49.38639831542969'} +error: (1062, "Duplicate entry 'kleve-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kleve', u'countrycode': u'de', u'city_id': u'-1808962', u'longitude': u'6.137481689453125', u'nr_hotels': u'7', u'latitude': u'51.786705017089844'} +error: (1062, "Duplicate entry 'kleve-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043b\u0435\u0432\u0435', u'countrycode': u'de', u'city_id': u'-1808962', u'longitude': u'6.137481689453125', u'nr_hotels': u'7', u'latitude': u'51.786705017089844'} +error: (1062, "Duplicate entry 'kirhgajm-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0438\u0440\u0445\u0433\u0430\u0439\u043c', u'countrycode': u'de', u'city_id': u'-1806310', u'longitude': u'11.01669979095459', u'nr_hotels': u'1', u'latitude': u'50.88330078125'} +error: (1062, "Duplicate entry 'kirchheim-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kirchheim', u'countrycode': u'de', u'city_id': u'-1806309', u'longitude': u'9.566670417785645', u'nr_hotels': u'10', u'latitude': u'50.83330154418945'} +error: (1062, "Duplicate entry 'kirchheim-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kirchheim', u'countrycode': u'de', u'city_id': u'-1806309', u'longitude': u'9.566670417785645', u'nr_hotels': u'10', u'latitude': u'50.83330154418945'} +error: (1062, "Duplicate entry 'kirchdorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kirchdorf', u'countrycode': u'de', u'city_id': u'-1806178', u'longitude': u'12.199999809265137', u'nr_hotels': u'0', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'kirchdorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kirchdorf', u'countrycode': u'de', u'city_id': u'-1806178', u'longitude': u'12.199999809265137', u'nr_hotels': u'0', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'homberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u043e\u043c\u0431\u0435\u0440\u0433', u'countrycode': u'de', u'city_id': u'-1797286', u'longitude': u'7.783329963684082', u'nr_hotels': u'1', u'latitude': u'50.33330154418945'} +error: (1062, "Duplicate entry 'holzhausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holzhausen', u'countrycode': u'de', u'city_id': u'-1796947', u'longitude': u'11.094499588012695', u'nr_hotels': u'0', u'latitude': u'48.00920104980469'} +error: (1062, "Duplicate entry 'holzhausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holzhausen', u'countrycode': u'de', u'city_id': u'-1796947', u'longitude': u'11.094499588012695', u'nr_hotels': u'0', u'latitude': u'48.00920104980469'} +error: (1062, "Duplicate entry 'holzendorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holzendorf', u'countrycode': u'de', u'city_id': u'-1796858', u'longitude': u'13.76669979095459', u'nr_hotels': u'1', u'latitude': u'53.38330078125'} +error: (1062, "Duplicate entry 'holzendorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holzendorf', u'countrycode': u'de', u'city_id': u'-1796858', u'longitude': u'13.76669979095459', u'nr_hotels': u'1', u'latitude': u'53.38330078125'} +error: (1062, "Duplicate entry 'hohendorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hohendorf', u'countrycode': u'de', u'city_id': u'-1794923', u'longitude': u'13.550000190734863', u'nr_hotels': u'1', u'latitude': u'51.95000076293945'} +error: (1062, "Duplicate entry 'hohendorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hohendorf', u'countrycode': u'de', u'city_id': u'-1794923', u'longitude': u'13.550000190734863', u'nr_hotels': u'1', u'latitude': u'51.95000076293945'} +error: (1062, "Duplicate entry 'hajdenau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0439\u0434\u0435\u043d\u0430\u0443', u'countrycode': u'de', u'city_id': u'-1788850', u'longitude': u'13.865400314331055', u'nr_hotels': u'4', u'latitude': u'50.97140121459961'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787863', u'longitude': u'7.416669845581055', u'nr_hotels': u'0', u'latitude': u'50.54999923706055'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787863', u'longitude': u'7.416669845581055', u'nr_hotels': u'0', u'latitude': u'50.54999923706055'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787859', u'longitude': u'7.966670036315918', u'nr_hotels': u'1', u'latitude': u'50.349998474121094'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787859', u'longitude': u'7.966670036315918', u'nr_hotels': u'1', u'latitude': u'50.349998474121094'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787851', u'longitude': u'10.01669979095459', u'nr_hotels': u'3', u'latitude': u'49.93330001831055'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787851', u'longitude': u'10.01669979095459', u'nr_hotels': u'3', u'latitude': u'49.93330001831055'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787840', u'longitude': u'12', u'nr_hotels': u'1', u'latitude': u'48.849998474121094'} +error: (1062, "Duplicate entry 'hausen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hausen', u'countrycode': u'de', u'city_id': u'-1787840', u'longitude': u'12', u'nr_hotels': u'1', u'latitude': u'48.849998474121094'} +error: (1062, "Duplicate entry 'hartenstein-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hartenstein', u'countrycode': u'de', u'city_id': u'-1786568', u'longitude': u'11.51669979095459', u'nr_hotels': u'1', u'latitude': u'49.599998474121094'} +error: (1062, "Duplicate entry 'hartenstein-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hartenstein', u'countrycode': u'de', u'city_id': u'-1786568', u'longitude': u'11.51669979095459', u'nr_hotels': u'1', u'latitude': u'49.599998474121094'} +error: (1062, "Duplicate entry 'hamm-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hamm', u'countrycode': u'de', u'city_id': u'-1785490', u'longitude': u'7.672579765319824', u'nr_hotels': u'2', u'latitude': u'50.7661018371582'} +error: (1062, "Duplicate entry 'hamm-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hamm', u'countrycode': u'de', u'city_id': u'-1785490', u'longitude': u'7.672579765319824', u'nr_hotels': u'2', u'latitude': u'50.7661018371582'} +error: (1062, "Duplicate entry 'haibach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Haibach', u'countrycode': u'de', u'city_id': u'-1784568', u'longitude': u'12.713899612426758', u'nr_hotels': u'2', u'latitude': u'49.02299880981445'} +error: (1062, "Duplicate entry 'haibach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Haibach', u'countrycode': u'de', u'city_id': u'-1784568', u'longitude': u'12.713899612426758', u'nr_hotels': u'2', u'latitude': u'49.02299880981445'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hagen', u'countrycode': u'de', u'city_id': u'-1784109', u'longitude': u'7.983329772949219', u'nr_hotels': u'1', u'latitude': u'52.20000076293945'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1784109', u'longitude': u'7.983329772949219', u'nr_hotels': u'1', u'latitude': u'52.20000076293945'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hagen', u'countrycode': u'de', u'city_id': u'-1784106', u'longitude': u'7.466670036315918', u'nr_hotels': u'9', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1784106', u'longitude': u'7.466670036315918', u'nr_hotels': u'9', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hagen', u'countrycode': u'de', u'city_id': u'-1784105', u'longitude': u'7.966670036315918', u'nr_hotels': u'1', u'latitude': u'51.266700744628906'} +error: (1062, "Duplicate entry 'hagen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hagen', u'countrycode': u'de', u'city_id': u'-1784105', u'longitude': u'7.966670036315918', u'nr_hotels': u'1', u'latitude': u'51.266700744628906'} +error: (1062, "Duplicate entry 'gundelfingen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gundelfingen', u'countrycode': u'de', u'city_id': u'-1783012', u'longitude': u'7.86667013168335', u'nr_hotels': u'1', u'latitude': u'48.04999923706055'} +error: (1062, "Duplicate entry 'gundelfingen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gundelfingen', u'countrycode': u'de', u'city_id': u'-1783012', u'longitude': u'7.86667013168335', u'nr_hotels': u'1', u'latitude': u'48.04999923706055'} +error: (1062, "Duplicate entry 'gronau-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gronau', u'countrycode': u'de', u'city_id': u'-1779573', u'longitude': u'9.783329963684082', u'nr_hotels': u'1', u'latitude': u'52.08330154418945'} +error: (1062, "Duplicate entry 'gronau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gronau', u'countrycode': u'de', u'city_id': u'-1779573', u'longitude': u'9.783329963684082', u'nr_hotels': u'1', u'latitude': u'52.08330154418945'} +error: (1062, "Duplicate entry 'gremersdorf-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gremersdorf', u'countrycode': u'de', u'city_id': u'-1778981', u'longitude': u'12.866700172424316', u'nr_hotels': u'1', u'latitude': u'54.11669921875'} +error: (1062, "Duplicate entry 'gremersdorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gremersdorf', u'countrycode': u'de', u'city_id': u'-1778981', u'longitude': u'12.866700172424316', u'nr_hotels': u'1', u'latitude': u'54.11669921875'} +error: (1062, "Duplicate entry 'georgenthal-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgenthal', u'countrycode': u'de', u'city_id': u'-1775436', u'longitude': u'8.149999618530273', u'nr_hotels': u'1', u'latitude': u'50.18330001831055'} +error: (1062, "Duplicate entry 'friedrichsruhe-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Friedrichsruhe', u'countrycode': u'de', u'city_id': u'-1772199', u'longitude': u'9.524720191955566', u'nr_hotels': u'1', u'latitude': u'49.243099212646484'} +error: (1062, "Duplicate entry 'friedrichsruhe-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Friedrichsruhe', u'countrycode': u'de', u'city_id': u'-1772199', u'longitude': u'9.524720191955566', u'nr_hotels': u'1', u'latitude': u'49.243099212646484'} +error: (1062, "Duplicate entry 'fridberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u0440\u0438\u0434\u0431\u0435\u0440\u0433', u'countrycode': u'de', u'city_id': u'-1771880', u'longitude': u'10.98330020904541', u'nr_hotels': u'3', u'latitude': u'48.349998474121094'} +error: (1062, "Duplicate entry 'freudenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Freudenberg', u'countrycode': u'de', u'city_id': u'-1771767', u'longitude': u'9.329170227050781', u'nr_hotels': u'2', u'latitude': u'49.744998931884766'} +error: (1062, "Duplicate entry 'frankenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Frankenberg', u'countrycode': u'de', u'city_id': u'-1771051', u'longitude': u'13.033300399780273', u'nr_hotels': u'2', u'latitude': u'50.91669845581055'} +error: (1062, "Duplicate entry 'frankenberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u0440\u0430\u043d\u043a\u0435\u043d\u0431\u0435\u0440\u0433', u'countrycode': u'de', u'city_id': u'-1771051', u'longitude': u'13.033300399780273', u'nr_hotels': u'2', u'latitude': u'50.91669845581055'} +error: (1062, "Duplicate entry 'forst-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Forst', u'countrycode': u'de', u'city_id': u'-1770832', u'longitude': u'8.580829620361328', u'nr_hotels': u'0', u'latitude': u'49.158599853515625'} +error: (1062, "Duplicate entry 'forst-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Forst', u'countrycode': u'de', u'city_id': u'-1770832', u'longitude': u'8.580829620361328', u'nr_hotels': u'0', u'latitude': u'49.158599853515625'} +error: (1062, "Duplicate entry 'falkenstein-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Falkenstein', u'countrycode': u'de', u'city_id': u'-1768755', u'longitude': u'12.48330020904541', u'nr_hotels': u'5', u'latitude': u'49.099998474121094'} +error: (1062, "Duplicate entry 'falkenstein-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Falkenstein', u'countrycode': u'de', u'city_id': u'-1768755', u'longitude': u'12.48330020904541', u'nr_hotels': u'5', u'latitude': u'49.099998474121094'} +error: (1062, "Duplicate entry 'erlau-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Erlau', u'countrycode': u'de', u'city_id': u'-1767106', u'longitude': u'13.579400062561035', u'nr_hotels': u'1', u'latitude': u'48.570499420166016'} +error: (1062, "Duplicate entry 'erlau-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u0440\u043b\u0430\u0443', u'countrycode': u'de', u'city_id': u'-1767106', u'longitude': u'13.579400062561035', u'nr_hotels': u'1', u'latitude': u'48.570499420166016'} +error: (1062, "Duplicate entry 'eisenberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eisenberg', u'countrycode': u'de', u'city_id': u'-1765104', u'longitude': u'10.600000381469727', u'nr_hotels': u'3', u'latitude': u'47.599998474121094'} +error: (1062, "Duplicate entry 'eching-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eching', u'countrycode': u'de', u'city_id': u'-1762845', u'longitude': u'11.616700172424316', u'nr_hotels': u'2', u'latitude': u'48.29999923706055'} +error: (1062, "Duplicate entry 'dottingen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dottingen', u'countrycode': u'de', u'city_id': u'-1761219', u'longitude': u'7.683330059051514', u'nr_hotels': u'1', u'latitude': u'47.849998474121094'} +error: (1062, "Duplicate entry 'dottingen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dottingen', u'countrycode': u'de', u'city_id': u'-1761219', u'longitude': u'7.683330059051514', u'nr_hotels': u'1', u'latitude': u'47.849998474121094'} +error: (1062, "Duplicate entry 'dernbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dernbach', u'countrycode': u'de', u'city_id': u'-1758570', u'longitude': u'8.005279541015625', u'nr_hotels': u'2', u'latitude': u'49.24720001220703'} +error: (1062, "Duplicate entry 'dernbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dernbach', u'countrycode': u'de', u'city_id': u'-1758570', u'longitude': u'8.005279541015625', u'nr_hotels': u'2', u'latitude': u'49.24720001220703'} +error: (1062, "Duplicate entry 'dankerode-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dankerode', u'countrycode': u'de', u'city_id': u'-1757617', u'longitude': u'9.766670227050781', u'nr_hotels': u'5', u'latitude': u'51.06669998168945'} +error: (1062, "Duplicate entry 'dankerode-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dankerode', u'countrycode': u'de', u'city_id': u'-1757617', u'longitude': u'9.766670227050781', u'nr_hotels': u'5', u'latitude': u'51.06669998168945'} +error: (1062, "Duplicate entry 'dahme-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dahme', u'countrycode': u'de', u'city_id': u'-1757246', u'longitude': u'13.433300018310547', u'nr_hotels': u'1', u'latitude': u'51.86669921875'} +error: (1062, "Duplicate entry 'dahme-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dahme', u'countrycode': u'de', u'city_id': u'-1757246', u'longitude': u'13.433300018310547', u'nr_hotels': u'1', u'latitude': u'51.86669921875'} +error: (1062, "Duplicate entry 'coswig-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Coswig', u'countrycode': u'de', u'city_id': u'-1756813', u'longitude': u'13.58329963684082', u'nr_hotels': u'3', u'latitude': u'51.13330078125'} +error: (1062, "Duplicate entry 'buchholz-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buchholz', u'countrycode': u'de', u'city_id': u'-1754244', u'longitude': u'7.349999904632568', u'nr_hotels': u'1', u'latitude': u'50.75'} +error: (1062, "Duplicate entry 'buchholz-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buchholz', u'countrycode': u'de', u'city_id': u'-1754244', u'longitude': u'7.349999904632568', u'nr_hotels': u'1', u'latitude': u'50.75'} +error: (1062, "Duplicate entry 'breitenbrunn-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Breitenbrunn', u'countrycode': u'de', u'city_id': u'-1751984', u'longitude': u'11.616700172424316', u'nr_hotels': u'2', u'latitude': u'49.08330154418945'} +error: (1062, "Duplicate entry 'breitenbrunn-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Breitenbrunn', u'countrycode': u'de', u'city_id': u'-1751984', u'longitude': u'11.616700172424316', u'nr_hotels': u'2', u'latitude': u'49.08330154418945'} +error: (1062, "Duplicate entry 'borken-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Borken', u'countrycode': u'de', u'city_id': u'-1750385', u'longitude': u'9.283329963684082', u'nr_hotels': u'1', u'latitude': u'51.04999923706055'} +error: (1062, "Duplicate entry 'borken-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Borken', u'countrycode': u'de', u'city_id': u'-1750385', u'longitude': u'9.283329963684082', u'nr_hotels': u'1', u'latitude': u'51.04999923706055'} +error: (1062, "Duplicate entry 'bokel-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bokel', u'countrycode': u'de', u'city_id': u'-1749810', u'longitude': u'10.550000190734863', u'nr_hotels': u'2', u'latitude': u'52.81669998168945'} +error: (1062, "Duplicate entry 'bokel-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bokel', u'countrycode': u'de', u'city_id': u'-1749810', u'longitude': u'10.550000190734863', u'nr_hotels': u'2', u'latitude': u'52.81669998168945'} +error: (1062, "Duplicate entry 'bockhorn-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bockhorn', u'countrycode': u'de', u'city_id': u'-1749299', u'longitude': u'8.016670227050781', u'nr_hotels': u'1', u'latitude': u'53.400001525878906'} +error: (1062, "Duplicate entry 'bockhorn-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bockhorn', u'countrycode': u'de', u'city_id': u'-1749299', u'longitude': u'8.016670227050781', u'nr_hotels': u'1', u'latitude': u'53.400001525878906'} +error: (1062, "Duplicate entry 'blomberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Blomberg', u'countrycode': u'de', u'city_id': u'-1748964', u'longitude': u'7.550000190734863', u'nr_hotels': u'1', u'latitude': u'53.56669998168945'} +error: (1062, "Duplicate entry 'blomberg-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Blomberg', u'countrycode': u'de', u'city_id': u'-1748964', u'longitude': u'7.550000190734863', u'nr_hotels': u'1', u'latitude': u'53.56669998168945'} +error: (1062, "Duplicate entry 'bernrid-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0435\u0440\u043d\u0440\u0438\u0434', u'countrycode': u'de', u'city_id': u'-1746627', u'longitude': u'11.300000190734863', u'nr_hotels': u'4', u'latitude': u'47.86669921875'} +error: (1062, "Duplicate entry 'bergkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergkirchen', u'countrycode': u'de', u'city_id': u'-1746260', u'longitude': u'11.366700172424316', u'nr_hotels': u'1', u'latitude': u'48.25'} +error: (1062, "Duplicate entry 'bergkirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bergkirchen', u'countrycode': u'de', u'city_id': u'-1746260', u'longitude': u'11.366700172424316', u'nr_hotels': u'1', u'latitude': u'48.25'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergen', u'countrycode': u'de', u'city_id': u'-1745978', u'longitude': u'9.966670036315918', u'nr_hotels': u'5', u'latitude': u'52.81669998168945'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0435\u0440\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1745978', u'longitude': u'9.966670036315918', u'nr_hotels': u'5', u'latitude': u'52.81669998168945'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergen', u'countrycode': u'de', u'city_id': u'-1745974', u'longitude': u'12.283300399780273', u'nr_hotels': u'2', u'latitude': u'50.46670150756836'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0435\u0440\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1745974', u'longitude': u'12.283300399780273', u'nr_hotels': u'2', u'latitude': u'50.46670150756836'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergen', u'countrycode': u'de', u'city_id': u'-1745965', u'longitude': u'12.590800285339355', u'nr_hotels': u'5', u'latitude': u'47.80799865722656'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0435\u0440\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1745965', u'longitude': u'12.590800285339355', u'nr_hotels': u'5', u'latitude': u'47.80799865722656'} +error: (1062, "Duplicate entry 'benz-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Benz', u'countrycode': u'de', u'city_id': u'-1745669', u'longitude': u'11.58329963684082', u'nr_hotels': u'2', u'latitude': u'53.91669845581055'} +error: (1062, "Duplicate entry 'bellin-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellin', u'countrycode': u'de', u'city_id': u'-1745396', u'longitude': u'12.183300018310547', u'nr_hotels': u'1', u'latitude': u'53.70000076293945'} +error: (1062, "Duplicate entry 'bellin-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellin', u'countrycode': u'de', u'city_id': u'-1745396', u'longitude': u'12.183300018310547', u'nr_hotels': u'1', u'latitude': u'53.70000076293945'} +error: (1062, "Duplicate entry 'balingen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0430\u043b\u0438\u043d\u0433\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1743314', u'longitude': u'7.733329772949219', u'nr_hotels': u'2', u'latitude': u'48.11669921875'} +error: (1062, "Duplicate entry 'bad-grisbah-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0430\u0434-\u0413\u0440\u0438\u0441\u0431\u0430\u0445', u'countrycode': u'de', u'city_id': u'-1743136', u'longitude': u'8.233329772949219', u'nr_hotels': u'3', u'latitude': u'48.45000076293945'} +error: (1062, "Duplicate entry 'babenhauzen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0430\u0431\u0435\u043d\u0445\u0430\u0443\u0437\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1742815', u'longitude': u'10.25', u'nr_hotels': u'1', u'latitude': u'48.150001525878906'} +error: (1062, "Duplicate entry 'auerbach-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auerbach', u'countrycode': u'de', u'city_id': u'-1741980', u'longitude': u'11.632499694824219', u'nr_hotels': u'1', u'latitude': u'49.692501068115234'} +error: (1062, "Duplicate entry 'auerbach-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auerbach', u'countrycode': u'de', u'city_id': u'-1741980', u'longitude': u'11.632499694824219', u'nr_hotels': u'1', u'latitude': u'49.692501068115234'} +error: (1062, "Duplicate entry 'ascheberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ascheberg', u'countrycode': u'de', u'city_id': u'-1741353', u'longitude': u'7.61667013168335', u'nr_hotels': u'4', u'latitude': u'51.78329849243164'} +error: (1062, "Duplicate entry 'al-tenshtadt-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u044c\u0442\u0435\u043d\u0448\u0442\u0430\u0434\u0442', u'countrycode': u'de', u'city_id': u'-1739094', u'longitude': u'10.111499786376953', u'nr_hotels': u'5', u'latitude': u'48.1614990234375'} +error: (1062, "Duplicate entry 'altenkirchen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Altenkirchen', u'countrycode': u'de', u'city_id': u'-1738995', u'longitude': u'7.650000095367432', u'nr_hotels': u'1', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'altenkirchen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Altenkirchen', u'countrycode': u'de', u'city_id': u'-1738995', u'longitude': u'7.650000095367432', u'nr_hotels': u'1', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'altenfeld-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Altenfeld', u'countrycode': u'de', u'city_id': u'-1738861', u'longitude': u'10.966699600219727', u'nr_hotels': u'12', u'latitude': u'50.56669998168945'} +error: (1062, "Duplicate entry 'altenfeld-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Altenfeld', u'countrycode': u'de', u'city_id': u'-1738861', u'longitude': u'10.966699600219727', u'nr_hotels': u'12', u'latitude': u'50.56669998168945'} +error: (1062, "Duplicate entry 'alfeld-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alfeld', u'countrycode': u'de', u'city_id': u'-1738027', u'longitude': u'11.550000190734863', u'nr_hotels': u'1', u'latitude': u'49.43330001831055'} +error: (1062, "Duplicate entry 'aichelberg-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aichelberg', u'countrycode': u'de', u'city_id': u'-1737603', u'longitude': u'9.566670417785645', u'nr_hotels': u'1', u'latitude': u'48.63330078125'} +error: (1062, "Duplicate entry 'al-sdorf-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u044c\u0441\u0434\u043e\u0440\u0444', u'countrycode': u'de', u'city_id': u'-1737376', u'longitude': u'11.466699600219727', u'nr_hotels': u'1', u'latitude': u'51.54999923706055'} +error: (1062, "Duplicate entry 'alen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u0435\u043d', u'countrycode': u'de', u'city_id': u'-1736623', u'longitude': u'10.100000381469727', u'nr_hotels': u'7', u'latitude': u'48.83330154418945'} +error: (1062, "Duplicate entry 'erlangen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Erlangen', u'countrycode': u'de', u'city_id': u'16967', u'longitude': u'11.01669979095459', u'nr_hotels': u'0', u'latitude': u'49.58330154418945'} +error: (1062, "Duplicate entry 'erlangen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Erlangen', u'countrycode': u'de', u'city_id': u'16967', u'longitude': u'11.01669979095459', u'nr_hotels': u'0', u'latitude': u'49.58330154418945'} +error: (1062, "Duplicate entry 'behringen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Behringen', u'countrycode': u'de', u'city_id': u'17626', u'longitude': u'10.550000190734863', u'nr_hotels': u'1', u'latitude': u'51.016700744628906'} +error: (1062, "Duplicate entry 'behringen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Behringen', u'countrycode': u'de', u'city_id': u'17626', u'longitude': u'10.550000190734863', u'nr_hotels': u'1', u'latitude': u'51.016700744628906'} +error: (1062, "Duplicate entry 'neuenstein-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Neuenstein', u'countrycode': u'de', u'city_id': u'900039838', u'longitude': u'9.568750381469727', u'nr_hotels': u'6', u'latitude': u'50.90999984741211'} +error: (1062, "Duplicate entry 'bad-peterstal-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bad Peterstal', u'countrycode': u'de', u'city_id': u'900040003', u'longitude': u'8.211569786071777', u'nr_hotels': u'5', u'latitude': u'48.42940139770508'} +error: (1062, "Duplicate entry 'hage-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hage', u'countrycode': u'de', u'city_id': u'900050085', u'longitude': u'7.283999919891357', u'nr_hotels': u'2', u'latitude': u'53.60200119018555'} +error: (1062, "Duplicate entry 'hage-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hage', u'countrycode': u'de', u'city_id': u'900050085', u'longitude': u'7.283999919891357', u'nr_hotels': u'2', u'latitude': u'53.60200119018555'} +error: (1062, "Duplicate entry 'falkenstein-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Falkenstein', u'countrycode': u'de', u'city_id': u'900050979', u'longitude': u'11.325222969055176', u'nr_hotels': u'1', u'latitude': u'51.733402252197266'} +error: (1062, "Duplicate entry 'falkenstein-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Falkenstein', u'countrycode': u'de', u'city_id': u'900050979', u'longitude': u'11.325222969055176', u'nr_hotels': u'1', u'latitude': u'51.733402252197266'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergen', u'countrycode': u'de', u'city_id': u'900051346', u'longitude': u'10.072999954223633', u'nr_hotels': u'0', u'latitude': u'52.74100112915039'} +error: (1062, "Duplicate entry 'bergen-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bergen', u'countrycode': u'de', u'city_id': u'900051346', u'longitude': u'10.072999954223633', u'nr_hotels': u'0', u'latitude': u'52.74100112915039'} +error: (1062, "Duplicate entry 'waldsee-de' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waldsee', u'countrycode': u'de', u'city_id': u'900052542', u'longitude': u'13.293797', u'nr_hotels': u'1', u'latitude': u'53.300146'} +error: (1062, "Duplicate entry 'waldsee-de' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waldsee', u'countrycode': u'de', u'city_id': u'900052542', u'longitude': u'13.293797', u'nr_hotels': u'1', u'latitude': u'53.300146'} +error: (1062, "Duplicate entry 'vordingborg-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vordingborg', u'countrycode': u'dk', u'city_id': u'-2754045', u'longitude': u'11.899999618530273', u'nr_hotels': u'0', u'latitude': u'54.983299255371094'} +error: (1062, "Duplicate entry 'vordingborg-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vordingborg', u'countrycode': u'dk', u'city_id': u'-2754045', u'longitude': u'11.899999618530273', u'nr_hotels': u'0', u'latitude': u'54.983299255371094'} +error: (1062, "Duplicate entry 'ryonne-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0451\u043d\u043d\u0435', u'countrycode': u'dk', u'city_id': u'-2749500', u'longitude': u'10.48330020904541', u'nr_hotels': u'57', u'latitude': u'56.29999923706055'} +error: (1062, "Duplicate entry 'nakskov-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nakskov', u'countrycode': u'dk', u'city_id': u'-2747462', u'longitude': u'11.133299827575684', u'nr_hotels': u'0', u'latitude': u'54.81669998168945'} +error: (1062, "Duplicate entry 'nakskov-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nakskov', u'countrycode': u'dk', u'city_id': u'-2747462', u'longitude': u'11.133299827575684', u'nr_hotels': u'0', u'latitude': u'54.81669998168945'} +error: (1062, "Duplicate entry 'maribo-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maribo', u'countrycode': u'dk', u'city_id': u'-2746989', u'longitude': u'11.433300018310547', u'nr_hotels': u'1', u'latitude': u'54.70000076293945'} +error: (1062, "Duplicate entry 'maribo-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Maribo', u'countrycode': u'dk', u'city_id': u'-2746989', u'longitude': u'11.433300018310547', u'nr_hotels': u'1', u'latitude': u'54.70000076293945'} +error: (1062, "Duplicate entry 'knud-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Knud', u'countrycode': u'dk', u'city_id': u'-2745434', u'longitude': u'9.600000381469727', u'nr_hotels': u'1', u'latitude': u'55.31669998168945'} +error: (1062, "Duplicate entry 'knud-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Knud', u'countrycode': u'dk', u'city_id': u'-2745434', u'longitude': u'9.600000381469727', u'nr_hotels': u'1', u'latitude': u'55.31669998168945'} +error: (1062, "Duplicate entry 'herning-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Herning', u'countrycode': u'dk', u'city_id': u'-2743633', u'longitude': u'9.033329963684082', u'nr_hotels': u'0', u'latitude': u'56.18330001831055'} +error: (1062, "Duplicate entry 'herning-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Herning', u'countrycode': u'dk', u'city_id': u'-2743633', u'longitude': u'9.033329963684082', u'nr_hotels': u'0', u'latitude': u'56.18330001831055'} +error: (1062, "Duplicate entry 'hadsund-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hadsund', u'countrycode': u'dk', u'city_id': u'-2743105', u'longitude': u'10.23330020904541', u'nr_hotels': u'152', u'latitude': u'56.75'} +error: (1062, "Duplicate entry 'hadsund-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hadsund', u'countrycode': u'dk', u'city_id': u'-2743105', u'longitude': u'10.23330020904541', u'nr_hotels': u'152', u'latitude': u'56.75'} +error: (1062, "Duplicate entry 'glostrup-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glostrup', u'countrycode': u'dk', u'city_id': u'-2742703', u'longitude': u'12.399999618530273', u'nr_hotels': u'3', u'latitude': u'55.66669845581055'} +error: (1062, "Duplicate entry 'glostrup-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0413\u043b\u043e\u0441\u0442\u0440\u0443\u043f', u'countrycode': u'dk', u'city_id': u'-2742703', u'longitude': u'12.399999618530273', u'nr_hotels': u'3', u'latitude': u'55.66669845581055'} +error: (1062, "Duplicate entry 'glesborg-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glesborg', u'countrycode': u'dk', u'city_id': u'-2742683', u'longitude': u'10.73330020904541', u'nr_hotels': u'44', u'latitude': u'56.483299255371094'} +error: (1062, "Duplicate entry 'glesborg-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Glesborg', u'countrycode': u'dk', u'city_id': u'-2742683', u'longitude': u'10.73330020904541', u'nr_hotels': u'44', u'latitude': u'56.483299255371094'} +error: (1062, "Duplicate entry 'eskilstrup-dk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eskilstrup', u'countrycode': u'dk', u'city_id': u'-2741624', u'longitude': u'11.899999618530273', u'nr_hotels': u'1', u'latitude': u'54.849998474121094'} +error: (1062, "Duplicate entry 'billunn-dk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0438\u043b\u043b\u0443\u043d\u043d', u'countrycode': u'dk', u'city_id': u'-2739909', u'longitude': u'9.11633777548559', u'nr_hotels': u'13', u'latitude': u'55.72878724818772'} +error: (1062, "Duplicate entry 'san-lorenzo-ec' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Lorenzo', u'countrycode': u'ec', u'city_id': u'-933344', u'longitude': u'-80.9000015258789', u'nr_hotels': u'2', u'latitude': u'-1.0666699409484863'} +error: (1062, "Duplicate entry 'san-lorenzo-ec' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Lorenzo', u'countrycode': u'ec', u'city_id': u'-933344', u'longitude': u'-80.9000015258789', u'nr_hotels': u'2', u'latitude': u'-1.0666699409484863'} +error: (1062, "Duplicate entry 'kauksi-ee' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kauksi', u'countrycode': u'ee', u'city_id': u'-2622439', u'longitude': u'27.220600128173828', u'nr_hotels': u'0', u'latitude': u'58.08829879760742'} +error: (1062, "Duplicate entry 'kauksi-ee' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kauksi', u'countrycode': u'ee', u'city_id': u'-2622439', u'longitude': u'27.220600128173828', u'nr_hotels': u'0', u'latitude': u'58.08829879760742'} +error: (1062, "Duplicate entry 'kallaste-ee' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kallaste', u'countrycode': u'ee', u'city_id': u'-2622235', u'longitude': u'27.15920066833496', u'nr_hotels': u'3', u'latitude': u'58.654998779296875'} +error: (1062, "Duplicate entry 'kallaste-ee' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kallaste', u'countrycode': u'ee', u'city_id': u'-2622235', u'longitude': u'27.15920066833496', u'nr_hotels': u'3', u'latitude': u'58.654998779296875'} +error: (1062, "Duplicate entry 'kadrina-ee' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kadrina', u'countrycode': u'ee', u'city_id': u'-2622153', u'longitude': u'27.083599090576172', u'nr_hotels': u'1', u'latitude': u'58.69779968261719'} +error: (1062, "Duplicate entry 'kadrina-ee' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kadrina', u'countrycode': u'ee', u'city_id': u'-2622153', u'longitude': u'27.083599090576172', u'nr_hotels': u'1', u'latitude': u'58.69779968261719'} +error: (1062, "Duplicate entry 'marsa-alam-eg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marsa Alam', u'countrycode': u'eg', u'city_id': u'900039940', u'longitude': u'34.582000732421875', u'nr_hotels': u'0', u'latitude': u'25.557100296020508'} +error: (1062, "Duplicate entry 'marsa-alam-eg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marsa Alam', u'countrycode': u'eg', u'city_id': u'900039940', u'longitude': u'34.582000732421875', u'nr_hotels': u'0', u'latitude': u'25.557100296020508'} +error: (1062, "Duplicate entry 'villaverde-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villaverde', u'countrycode': u'es', u'city_id': u'-408595', u'longitude': u'-3.700000047683716', u'nr_hotels': u'0', u'latitude': u'40.349998474121094'} +error: (1062, "Duplicate entry 'villaverde-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villaverde', u'countrycode': u'es', u'city_id': u'-408595', u'longitude': u'-3.700000047683716', u'nr_hotels': u'0', u'latitude': u'40.349998474121094'} +error: (1062, "Duplicate entry 'villaverde-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villaverde', u'countrycode': u'es', u'city_id': u'-408593', u'longitude': u'-13.899999618530273', u'nr_hotels': u'1', u'latitude': u'28.61669921875'} +error: (1062, "Duplicate entry 'villaverde-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villaverde', u'countrycode': u'es', u'city_id': u'-408593', u'longitude': u'-13.899999618530273', u'nr_hotels': u'1', u'latitude': u'28.61669921875'} +error: (1062, "Duplicate entry 'villar-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villar', u'countrycode': u'es', u'city_id': u'-408143', u'longitude': u'-4.266670227050781', u'nr_hotels': u'1', u'latitude': u'43.016700744628906'} +error: (1062, "Duplicate entry 'villar-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villar', u'countrycode': u'es', u'city_id': u'-408143', u'longitude': u'-4.266670227050781', u'nr_hotels': u'1', u'latitude': u'43.016700744628906'} +error: (1062, "Duplicate entry 'villanueva-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villanueva', u'countrycode': u'es', u'city_id': u'-407936', u'longitude': u'-7.766670227050781', u'nr_hotels': u'1', u'latitude': u'42.20000076293945'} +error: (1062, "Duplicate entry 'villanueva-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villanueva', u'countrycode': u'es', u'city_id': u'-407936', u'longitude': u'-7.766670227050781', u'nr_hotels': u'1', u'latitude': u'42.20000076293945'} +error: (1062, "Duplicate entry 'villamayor-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villamayor', u'countrycode': u'es', u'city_id': u'-407830', u'longitude': u'-7.516670227050781', u'nr_hotels': u'1', u'latitude': u'42.733299255371094'} +error: (1062, "Duplicate entry 'villamayor-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villamayor', u'countrycode': u'es', u'city_id': u'-407830', u'longitude': u'-7.516670227050781', u'nr_hotels': u'1', u'latitude': u'42.733299255371094'} +error: (1062, "Duplicate entry 'villamayor-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villamayor', u'countrycode': u'es', u'city_id': u'-407827', u'longitude': u'-5.683330059051514', u'nr_hotels': u'1', u'latitude': u'41'} +error: (1062, "Duplicate entry 'villalonga-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villalonga', u'countrycode': u'es', u'city_id': u'-407763', u'longitude': u'-0.20000000298023224', u'nr_hotels': u'2', u'latitude': u'38.88330078125'} +error: (1062, "Duplicate entry 'villalonga-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villalonga', u'countrycode': u'es', u'city_id': u'-407763', u'longitude': u'-0.20000000298023224', u'nr_hotels': u'2', u'latitude': u'38.88330078125'} +error: (1062, "Duplicate entry 'ventosa-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ventosa', u'countrycode': u'es', u'city_id': u'-406969', u'longitude': u'-1.966670036315918', u'nr_hotels': u'1', u'latitude': u'40.83330154418945'} +error: (1062, "Duplicate entry 'ventosa-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ventosa', u'countrycode': u'es', u'city_id': u'-406969', u'longitude': u'-1.966670036315918', u'nr_hotels': u'1', u'latitude': u'40.83330154418945'} +error: (1062, "Duplicate entry 'valdelinares-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Valdelinares', u'countrycode': u'es', u'city_id': u'-405907', u'longitude': u'-0.6000000238418579', u'nr_hotels': u'5', u'latitude': u'40.38330078125'} +error: (1062, "Duplicate entry 'valdelinares-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Valdelinares', u'countrycode': u'es', u'city_id': u'-405907', u'longitude': u'-0.6000000238418579', u'nr_hotels': u'5', u'latitude': u'40.38330078125'} +error: (1062, "Duplicate entry 'trives-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trives', u'countrycode': u'es', u'city_id': u'-405181', u'longitude': u'-7.266670227050781', u'nr_hotels': u'1', u'latitude': u'42.33330154418945'} +error: (1062, "Duplicate entry 'trives-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trives', u'countrycode': u'es', u'city_id': u'-405181', u'longitude': u'-7.266670227050781', u'nr_hotels': u'1', u'latitude': u'42.33330154418945'} +error: (1062, "Duplicate entry 'torrenueva-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torrenueva', u'countrycode': u'es', u'city_id': u'-404774', u'longitude': u'-3.483330011367798', u'nr_hotels': u'1', u'latitude': u'36.70000076293945'} +error: (1062, "Duplicate entry 'torrenueva-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torrenueva', u'countrycode': u'es', u'city_id': u'-404774', u'longitude': u'-3.483330011367798', u'nr_hotels': u'1', u'latitude': u'36.70000076293945'} +error: (1062, "Duplicate entry 'santa-marina-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Marina', u'countrycode': u'es', u'city_id': u'-401911', u'longitude': u'-9.199999809265137', u'nr_hotels': u'1', u'latitude': u'43.04999923706055'} +error: (1062, "Duplicate entry 'santa-marina-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0442\u0430-\u041c\u0430\u0440\u0438\u043d\u0430', u'countrycode': u'es', u'city_id': u'-401911', u'longitude': u'-9.199999809265137', u'nr_hotels': u'1', u'latitude': u'43.04999923706055'} +error: (1062, "Duplicate entry 'santa-eulalia-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Eulalia', u'countrycode': u'es', u'city_id': u'-401723', u'longitude': u'-5.400000095367432', u'nr_hotels': u'1', u'latitude': u'43.41669845581055'} +error: (1062, "Duplicate entry 'santa-eulalia-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Eulalia', u'countrycode': u'es', u'city_id': u'-401723', u'longitude': u'-5.400000095367432', u'nr_hotels': u'1', u'latitude': u'43.41669845581055'} +error: (1062, "Duplicate entry 'san-hose-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d-\u0425\u043e\u0441\u0435', u'countrycode': u'es', u'city_id': u'-400849', u'longitude': u'-2.1110100746154785', u'nr_hotels': u'27', u'latitude': u'36.76169967651367'} +error: (1062, "Duplicate entry 'san-bartolome-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d-\u0411\u0430\u0440\u0442\u043e\u043b\u043e\u043c\u0435', u'countrycode': u'es', u'city_id': u'-400473', u'longitude': u'-13.600000381469727', u'nr_hotels': u'7', u'latitude': u'29'} +error: (1062, "Duplicate entry 'santa-marina-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Marina', u'countrycode': u'es', u'city_id': u'-399698', u'longitude': u'-8.833330154418945', u'nr_hotels': u'0', u'latitude': u'41.93330001831055'} +error: (1062, "Duplicate entry 'santa-marina-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Marina', u'countrycode': u'es', u'city_id': u'-399698', u'longitude': u'-8.833330154418945', u'nr_hotels': u'0', u'latitude': u'41.93330001831055'} +error: (1062, "Duplicate entry 'pontones-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pontones', u'countrycode': u'es', u'city_id': u'-397134', u'longitude': u'-2.666670083999634', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'pontones-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pontones', u'countrycode': u'es', u'city_id': u'-397134', u'longitude': u'-2.666670083999634', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'pastrana-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pastrana', u'countrycode': u'es', u'city_id': u'-395658', u'longitude': u'-1.4500000476837158', u'nr_hotels': u'1', u'latitude': u'37.56669998168945'} +error: (1062, "Duplicate entry 'pastrana-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pastrana', u'countrycode': u'es', u'city_id': u'-395658', u'longitude': u'-1.4500000476837158', u'nr_hotels': u'1', u'latitude': u'37.56669998168945'} +error: (1062, "Duplicate entry 'pando-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pando', u'countrycode': u'es', u'city_id': u'-395337', u'longitude': u'-4.016670227050781', u'nr_hotels': u'0', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'pando-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pando', u'countrycode': u'es', u'city_id': u'-395337', u'longitude': u'-4.016670227050781', u'nr_hotels': u'0', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'monfero-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monfero', u'countrycode': u'es', u'city_id': u'-392532', u'longitude': u'-8.016670227050781', u'nr_hotels': u'1', u'latitude': u'43.31669998168945'} +error: (1062, "Duplicate entry 'monfero-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monfero', u'countrycode': u'es', u'city_id': u'-392532', u'longitude': u'-8.016670227050781', u'nr_hotels': u'1', u'latitude': u'43.31669998168945'} +error: (1062, "Duplicate entry 'maon-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u043e\u043d', u'countrycode': u'es', u'city_id': u'-390716', u'longitude': u'4.25', u'nr_hotels': u'11', u'latitude': u'39.88330078125'} +error: (1062, "Duplicate entry 'los-molinos-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Los Molinos', u'countrycode': u'es', u'city_id': u'-390114', u'longitude': u'0.9833329916000366', u'nr_hotels': u'1', u'latitude': u'42.400001525878906'} +error: (1062, "Duplicate entry 'los-molinos-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Los Molinos', u'countrycode': u'es', u'city_id': u'-390114', u'longitude': u'0.9833329916000366', u'nr_hotels': u'1', u'latitude': u'42.400001525878906'} +error: (1062, "Duplicate entry 'los-molinos-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Los Molinos', u'countrycode': u'es', u'city_id': u'-390113', u'longitude': u'-4.083330154418945', u'nr_hotels': u'1', u'latitude': u'40.71670150756836'} +error: (1062, "Duplicate entry 'los-molinos-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Los Molinos', u'countrycode': u'es', u'city_id': u'-390113', u'longitude': u'-4.083330154418945', u'nr_hotels': u'1', u'latitude': u'40.71670150756836'} +error: (1062, "Duplicate entry 'los-llanos-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Los Llanos', u'countrycode': u'es', u'city_id': u'-390034', u'longitude': u'-16.766700744628906', u'nr_hotels': u'1', u'latitude': u'28.316699981689453'} +error: (1062, "Duplicate entry 'los-llanos-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Los Llanos', u'countrycode': u'es', u'city_id': u'-390034', u'longitude': u'-16.766700744628906', u'nr_hotels': u'1', u'latitude': u'28.316699981689453'} +error: (1062, "Duplicate entry 'la-zarza-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Zarza', u'countrycode': u'es', u'city_id': u'-388930', u'longitude': u'-1.11667001247406', u'nr_hotels': u'3', u'latitude': u'38.31669998168945'} +error: (1062, "Duplicate entry 'la-zarza-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Zarza', u'countrycode': u'es', u'city_id': u'-388930', u'longitude': u'-1.11667001247406', u'nr_hotels': u'3', u'latitude': u'38.31669998168945'} +error: (1062, "Duplicate entry 'la-vega-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Vega', u'countrycode': u'es', u'city_id': u'-388826', u'longitude': u'-5.150000095367432', u'nr_hotels': u'2', u'latitude': u'43.36669921875'} +error: (1062, "Duplicate entry 'la-vega-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430-\u0412\u0435\u0433\u0430', u'countrycode': u'es', u'city_id': u'-388826', u'longitude': u'-5.150000095367432', u'nr_hotels': u'2', u'latitude': u'43.36669921875'} +error: (1062, "Duplicate entry 'la-vega-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Vega', u'countrycode': u'es', u'city_id': u'-388819', u'longitude': u'-4.650000095367432', u'nr_hotels': u'1', u'latitude': u'43.099998474121094'} +error: (1062, "Duplicate entry 'la-vega-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Vega', u'countrycode': u'es', u'city_id': u'-388819', u'longitude': u'-4.650000095367432', u'nr_hotels': u'1', u'latitude': u'43.099998474121094'} +error: (1062, "Duplicate entry 'las-casas-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Las Casas', u'countrycode': u'es', u'city_id': u'-388224', u'longitude': u'-17.966699600219727', u'nr_hotels': u'1', u'latitude': u'27.716699600219727'} +error: (1062, "Duplicate entry 'la-riera-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Riera', u'countrycode': u'es', u'city_id': u'-387993', u'longitude': u'-6.25', u'nr_hotels': u'1', u'latitude': u'43.150001525878906'} +error: (1062, "Duplicate entry 'la-riera-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Riera', u'countrycode': u'es', u'city_id': u'-387993', u'longitude': u'-6.25', u'nr_hotels': u'1', u'latitude': u'43.150001525878906'} +error: (1062, "Duplicate entry 'la-nava-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Nava', u'countrycode': u'es', u'city_id': u'-387585', u'longitude': u'-6.75', u'nr_hotels': u'2', u'latitude': u'37.96670150756836'} +error: (1062, "Duplicate entry 'la-nava-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Nava', u'countrycode': u'es', u'city_id': u'-387585', u'longitude': u'-6.75', u'nr_hotels': u'2', u'latitude': u'37.96670150756836'} +error: (1062, "Duplicate entry 'helguera-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Helguera', u'countrycode': u'es', u'city_id': u'-385006', u'longitude': u'-4.033329963684082', u'nr_hotels': u'1', u'latitude': u'43.150001525878906'} +error: (1062, "Duplicate entry 'helguera-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Helguera', u'countrycode': u'es', u'city_id': u'-385006', u'longitude': u'-4.033329963684082', u'nr_hotels': u'1', u'latitude': u'43.150001525878906'} +error: (1062, "Duplicate entry 'el-viso-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'El Viso', u'countrycode': u'es', u'city_id': u'-381379', u'longitude': u'-4.949999809265137', u'nr_hotels': u'1', u'latitude': u'38.483299255371094'} +error: (1062, "Duplicate entry 'el-viso-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'El Viso', u'countrycode': u'es', u'city_id': u'-381379', u'longitude': u'-4.949999809265137', u'nr_hotels': u'1', u'latitude': u'38.483299255371094'} +error: (1062, "Duplicate entry 'el-arenal--es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u043b\u044c-\u0410\u0440\u0435\u043d\u0430\u043b\u044c', u'countrycode': u'es', u'city_id': u'-380228', u'longitude': u'2.75', u'nr_hotels': u'42', u'latitude': u'39.5'} +error: (1062, "Duplicate entry 'san-salvador-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Salvador', u'countrycode': u'es', u'city_id': u'-378404', u'longitude': u'-8.766670227050781', u'nr_hotels': u'0', u'latitude': u'42.28329849243164'} +error: (1062, "Duplicate entry 'san-salvador-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Salvador', u'countrycode': u'es', u'city_id': u'-378404', u'longitude': u'-8.766670227050781', u'nr_hotels': u'0', u'latitude': u'42.28329849243164'} +error: (1062, "Duplicate entry 'siurana-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Siurana', u'countrycode': u'es', u'city_id': u'-378247', u'longitude': u'2.994529962539673', u'nr_hotels': u'3', u'latitude': u'42.20930099487305'} +error: (1062, "Duplicate entry 'siurana-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Siurana', u'countrycode': u'es', u'city_id': u'-378247', u'longitude': u'2.994529962539673', u'nr_hotels': u'3', u'latitude': u'42.20930099487305'} +error: (1062, "Duplicate entry 'chilches-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chilches', u'countrycode': u'es', u'city_id': u'-377949', u'longitude': u'-4.216670036315918', u'nr_hotels': u'4', u'latitude': u'36.71670150756836'} +error: (1062, "Duplicate entry 'chilches-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chilches', u'countrycode': u'es', u'city_id': u'-377949', u'longitude': u'-4.216670036315918', u'nr_hotels': u'4', u'latitude': u'36.71670150756836'} +error: (1062, "Duplicate entry 'carmona-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carmona', u'countrycode': u'es', u'city_id': u'-376218', u'longitude': u'-5.63332986831665', u'nr_hotels': u'10', u'latitude': u'37.46670150756836'} +error: (1062, "Duplicate entry 'barajas-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Barajas', u'countrycode': u'es', u'city_id': u'-372401', u'longitude': u'-5.150000095367432', u'nr_hotels': u'3', u'latitude': u'40.36669921875'} +error: (1062, "Duplicate entry 'barajas-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Barajas', u'countrycode': u'es', u'city_id': u'-372401', u'longitude': u'-5.150000095367432', u'nr_hotels': u'3', u'latitude': u'40.36669921875'} +error: (1062, "Duplicate entry 'avila-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avila', u'countrycode': u'es', u'city_id': u'-371972', u'longitude': u'-4.69716739654541', u'nr_hotels': u'40', u'latitude': u'40.655555725097656'} +error: (1062, "Duplicate entry 'avila-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0432\u0438\u043b\u0430', u'countrycode': u'es', u'city_id': u'-371972', u'longitude': u'-4.69716739654541', u'nr_hotels': u'40', u'latitude': u'40.655555725097656'} +error: (1062, "Duplicate entry 'algar-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Algar', u'countrycode': u'es', u'city_id': u'-370138', u'longitude': u'-5.656760215759277', u'nr_hotels': u'5', u'latitude': u'36.65660095214844'} +error: (1062, "Duplicate entry 'algar-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Algar', u'countrycode': u'es', u'city_id': u'-370138', u'longitude': u'-5.656760215759277', u'nr_hotels': u'5', u'latitude': u'36.65660095214844'} +error: (1062, "Duplicate entry 'al-kudiya-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u044c\u043a\u0443\u0434\u0438\u044f', u'countrycode': u'es', u'city_id': u'-369919', u'longitude': u'3.12280011177063', u'nr_hotels': u'62', u'latitude': u'39.85300064086914'} +error: (1062, "Duplicate entry 'sotogrande-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sotogrande', u'countrycode': u'es', u'city_id': u'900039167', u'longitude': u'-5.269400119781494', u'nr_hotels': u'4', u'latitude': u'36.29999923706055'} +error: (1062, "Duplicate entry 'sotogrande-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043e\u0442\u043e\u0433\u0440\u0430\u043d\u0434\u0435', u'countrycode': u'es', u'city_id': u'900039167', u'longitude': u'-5.269400119781494', u'nr_hotels': u'4', u'latitude': u'36.29999923706055'} +error: (1062, "Duplicate entry 'fornalutx-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fornalutx', u'countrycode': u'es', u'city_id': u'900039457', u'longitude': u'2.733059883117676', u'nr_hotels': u'13', u'latitude': u'39.78310012817383'} +error: (1062, "Duplicate entry 'fuensanta-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fuensanta', u'countrycode': u'es', u'city_id': u'900039460', u'longitude': u'-3.907259941101074', u'nr_hotels': u'2', u'latitude': u'37.18130111694336'} +error: (1062, "Duplicate entry 'fuensanta-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fuensanta', u'countrycode': u'es', u'city_id': u'900039460', u'longitude': u'-3.907259941101074', u'nr_hotels': u'2', u'latitude': u'37.18130111694336'} +error: (1062, "Duplicate entry 'antigua-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Antigua', u'countrycode': u'es', u'city_id': u'900039662', u'longitude': u'-14.01200008392334', u'nr_hotels': u'3', u'latitude': u'28.41830062866211'} +error: (1062, "Duplicate entry 'antigua-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043d\u0442\u0438\u0433\u0443\u0430', u'countrycode': u'es', u'city_id': u'900039662', u'longitude': u'-14.01200008392334', u'nr_hotels': u'3', u'latitude': u'28.41830062866211'} +error: (1062, "Duplicate entry 'bascuas-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bascuas', u'countrycode': u'es', u'city_id': u'900048136', u'longitude': u'-8.860690116882324', u'nr_hotels': u'1', u'latitude': u'42.40999984741211'} +error: (1062, "Duplicate entry 'bascuas-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bascuas', u'countrycode': u'es', u'city_id': u'900048136', u'longitude': u'-8.860690116882324', u'nr_hotels': u'1', u'latitude': u'42.40999984741211'} +error: (1062, "Duplicate entry 'san-isidro-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Isidro', u'countrycode': u'es', u'city_id': u'900048925', u'longitude': u'-5.369649887084961', u'nr_hotels': u'1', u'latitude': u'43.065101623535156'} +error: (1062, "Duplicate entry 'san-isidro-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Isidro', u'countrycode': u'es', u'city_id': u'900048925', u'longitude': u'-5.369649887084961', u'nr_hotels': u'1', u'latitude': u'43.065101623535156'} +error: (1062, "Duplicate entry 'mungia-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mungia', u'countrycode': u'es', u'city_id': u'900049567', u'longitude': u'-2.8459999561309814', u'nr_hotels': u'2', u'latitude': u'43.354408264160156'} +error: (1062, "Duplicate entry 'mungia-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mungia', u'countrycode': u'es', u'city_id': u'900049567', u'longitude': u'-2.8459999561309814', u'nr_hotels': u'2', u'latitude': u'43.354408264160156'} +error: (1062, "Duplicate entry 'salobre-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salobre', u'countrycode': u'es', u'city_id': u'900050128', u'longitude': u'-15.62399959564209', u'nr_hotels': u'7', u'latitude': u'27.77400016784668'} +error: (1062, "Duplicate entry 'salobre-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salobre', u'countrycode': u'es', u'city_id': u'900050128', u'longitude': u'-15.62399959564209', u'nr_hotels': u'7', u'latitude': u'27.77400016784668'} +error: (1062, "Duplicate entry 'salinas-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salinas', u'countrycode': u'es', u'city_id': u'900050809', u'longitude': u'-5.9627838134765625', u'nr_hotels': u'2', u'latitude': u'43.57501983642578'} +error: (1062, "Duplicate entry 'salinas-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salinas', u'countrycode': u'es', u'city_id': u'900050809', u'longitude': u'-5.9627838134765625', u'nr_hotels': u'2', u'latitude': u'43.57501983642578'} +error: (1062, "Duplicate entry 'parres-de-llanes-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Parres de Llanes', u'countrycode': u'es', u'city_id': u'900050897', u'longitude': u'-5.2135491371154785', u'nr_hotels': u'1', u'latitude': u'43.35280227661133'} +error: (1062, "Duplicate entry 'parres-de-llanes-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Parres de Llanes', u'countrycode': u'es', u'city_id': u'900050897', u'longitude': u'-5.2135491371154785', u'nr_hotels': u'1', u'latitude': u'43.35280227661133'} +error: (1062, "Duplicate entry 'santa-margarita-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0442\u0430-\u041c\u0430\u0440\u0433\u0430\u0440\u0438\u0442\u0430', u'countrycode': u'es', u'city_id': u'900050899', u'longitude': u'3.1029999256134033', u'nr_hotels': u'8', u'latitude': u'39.702999114990234'} +error: (1062, "Duplicate entry 'anserall-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Anserall', u'countrycode': u'es', u'city_id': u'900050971', u'longitude': u'1.4564659595489502', u'nr_hotels': u'3', u'latitude': u'42.37894058227539'} +error: (1062, "Duplicate entry 'anserall-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Anserall', u'countrycode': u'es', u'city_id': u'900050971', u'longitude': u'1.4564659595489502', u'nr_hotels': u'3', u'latitude': u'42.37894058227539'} +error: (1062, "Duplicate entry 'santa-koloma-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0442\u0430-\u041a\u043e\u043b\u043e\u043c\u0430', u'countrycode': u'es', u'city_id': u'900051518', u'longitude': u'2.207472085952759', u'nr_hotels': u'2', u'latitude': u'41.45186233520508'} +error: (1062, "Duplicate entry 'vall-de-bianya-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vall de Bianya', u'countrycode': u'es', u'city_id': u'900052176', u'longitude': u'2.401494026184082', u'nr_hotels': u'1', u'latitude': u'42.24681854248047'} +error: (1062, "Duplicate entry 'vall-de-bianya-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vall de Bianya', u'countrycode': u'es', u'city_id': u'900052176', u'longitude': u'2.401494026184082', u'nr_hotels': u'1', u'latitude': u'42.24681854248047'} +error: (1062, "Duplicate entry 'el-palmar-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'El Palmar', u'countrycode': u'es', u'city_id': u'900052318', u'longitude': u'-16.696741104125977', u'nr_hotels': u'1', u'latitude': u'28.023120880126953'} +error: (1062, "Duplicate entry 'el-pal-mar-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u043b\u044c \u041f\u0430\u043b\u044c\u043c\u0430\u0440', u'countrycode': u'es', u'city_id': u'900052318', u'longitude': u'-16.696741104125977', u'nr_hotels': u'1', u'latitude': u'28.023120880126953'} +error: (1062, "Duplicate entry 'canillas-de-aceituno-es' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canillas De Aceituno', u'countrycode': u'es', u'city_id': u'900052400', u'longitude': u'-4.082364082336426', u'nr_hotels': u'1', u'latitude': u'36.87331771850586'} +error: (1062, "Duplicate entry 'canillas-de-aceituno-es' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canillas De Aceituno', u'countrycode': u'es', u'city_id': u'900052400', u'longitude': u'-4.082364082336426', u'nr_hotels': u'1', u'latitude': u'36.87331771850586'} +error: (1062, "Duplicate entry 'ylitornio-fi' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ylitornio', u'countrycode': u'fi', u'city_id': u'-1392749', u'longitude': u'23.66729736328125', u'nr_hotels': u'3', u'latitude': u'66.30565643310547'} +error: (1062, "Duplicate entry 'puhos-fi' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Puhos', u'countrycode': u'fi', u'city_id': u'-1382601', u'longitude': u'29.899999618530273', u'nr_hotels': u'2', u'latitude': u'62.08330154418945'} +error: (1062, "Duplicate entry 'puhos-fi' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0443\u0445\u043e\u0441', u'countrycode': u'fi', u'city_id': u'-1382601', u'longitude': u'29.899999618530273', u'nr_hotels': u'2', u'latitude': u'62.08330154418945'} +error: (1062, "Duplicate entry 'lapua-fi' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lapua', u'countrycode': u'fi', u'city_id': u'-1374454', u'longitude': u'23', u'nr_hotels': u'4', u'latitude': u'62.95000076293945'} +error: (1062, "Duplicate entry 'lapua-fi' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043f\u0443\u0430', u'countrycode': u'fi', u'city_id': u'-1374454', u'longitude': u'23', u'nr_hotels': u'4', u'latitude': u'62.95000076293945'} +error: (1062, "Duplicate entry 'lappo-fi' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lappo', u'countrycode': u'fi', u'city_id': u'-1374440', u'longitude': u'20.983299255371094', u'nr_hotels': u'0', u'latitude': u'60.31669998168945'} +error: (1062, "Duplicate entry 'lappo-fi' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lappo', u'countrycode': u'fi', u'city_id': u'-1374440', u'longitude': u'20.983299255371094', u'nr_hotels': u'0', u'latitude': u'60.31669998168945'} +error: (1062, "Duplicate entry 'korkeakoski-fi' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Korkeakoski', u'countrycode': u'fi', u'city_id': u'-1371799', u'longitude': u'26.88330078125', u'nr_hotels': u'2', u'latitude': u'60.53329849243164'} +error: (1062, "Duplicate entry 'korkeakoski-fi' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043e\u0440\u043a\u0435\u0430\u043a\u043e\u0441\u043a\u0438', u'countrycode': u'fi', u'city_id': u'-1371799', u'longitude': u'26.88330078125', u'nr_hotels': u'2', u'latitude': u'60.53329849243164'} +error: (1062, "Duplicate entry 'villeneuve-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villeneuve', u'countrycode': u'fr', u'city_id': u'-1476877', u'longitude': u'4.61667013168335', u'nr_hotels': u'0', u'latitude': u'43.58330154418945'} +error: (1062, "Duplicate entry 'villeneuve-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villeneuve', u'countrycode': u'fr', u'city_id': u'-1476877', u'longitude': u'4.61667013168335', u'nr_hotels': u'0', u'latitude': u'43.58330154418945'} +error: (1062, "Duplicate entry 'villars-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villars', u'countrycode': u'fr', u'city_id': u'-1476555', u'longitude': u'5.400000095367432', u'nr_hotels': u'1', u'latitude': u'43.91669845581055'} +error: (1062, "Duplicate entry 'villars-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villars', u'countrycode': u'fr', u'city_id': u'-1476555', u'longitude': u'5.400000095367432', u'nr_hotels': u'1', u'latitude': u'43.91669845581055'} +error: (1062, "Duplicate entry 'vicq-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vicq', u'countrycode': u'fr', u'city_id': u'-1476110', u'longitude': u'3.0999999046325684', u'nr_hotels': u'3', u'latitude': u'46.13330078125'} +error: (1062, "Duplicate entry 'vicq-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vicq', u'countrycode': u'fr', u'city_id': u'-1476110', u'longitude': u'3.0999999046325684', u'nr_hotels': u'3', u'latitude': u'46.13330078125'} +error: (1062, "Duplicate entry 'vers-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vers', u'countrycode': u'fr', u'city_id': u'-1475806', u'longitude': u'4.533329963684082', u'nr_hotels': u'4', u'latitude': u'43.96670150756836'} +error: (1062, "Duplicate entry 'vers-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vers', u'countrycode': u'fr', u'city_id': u'-1475806', u'longitude': u'4.533329963684082', u'nr_hotels': u'4', u'latitude': u'43.96670150756836'} +error: (1062, "Duplicate entry 'vernouillet-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vernouillet', u'countrycode': u'fr', u'city_id': u'-1475738', u'longitude': u'1.36667001247406', u'nr_hotels': u'1', u'latitude': u'48.71670150756836'} +error: (1062, "Duplicate entry 'vernouillet-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vernouillet', u'countrycode': u'fr', u'city_id': u'-1475738', u'longitude': u'1.36667001247406', u'nr_hotels': u'1', u'latitude': u'48.71670150756836'} +error: (1062, "Duplicate entry 'vernon-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vernon', u'countrycode': u'fr', u'city_id': u'-1475720', u'longitude': u'4.233329772949219', u'nr_hotels': u'1', u'latitude': u'44.5'} +error: (1062, "Duplicate entry 'vernon-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vernon', u'countrycode': u'fr', u'city_id': u'-1475720', u'longitude': u'4.233329772949219', u'nr_hotels': u'1', u'latitude': u'44.5'} +error: (1062, "Duplicate entry 'venterol-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Venterol', u'countrycode': u'fr', u'city_id': u'-1475446', u'longitude': u'5.099999904632568', u'nr_hotels': u'1', u'latitude': u'44.38330078125'} +error: (1062, "Duplicate entry 'venterol-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Venterol', u'countrycode': u'fr', u'city_id': u'-1475446', u'longitude': u'5.099999904632568', u'nr_hotels': u'1', u'latitude': u'44.38330078125'} +error: (1062, "Duplicate entry 'ussel-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ussel', u'countrycode': u'fr', u'city_id': u'-1474189', u'longitude': u'1.5', u'nr_hotels': u'0', u'latitude': u'44.58330154418945'} +error: (1062, "Duplicate entry 'ussel-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ussel', u'countrycode': u'fr', u'city_id': u'-1474189', u'longitude': u'1.5', u'nr_hotels': u'0', u'latitude': u'44.58330154418945'} +error: (1062, "Duplicate entry 'thury-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thury', u'countrycode': u'fr', u'city_id': u'-1472838', u'longitude': u'4.516670227050781', u'nr_hotels': u'1', u'latitude': u'47.03329849243164'} +error: (1062, "Duplicate entry 'thury-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Thury', u'countrycode': u'fr', u'city_id': u'-1472838', u'longitude': u'4.516670227050781', u'nr_hotels': u'1', u'latitude': u'47.03329849243164'} +error: (1062, "Duplicate entry 'thoiry-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thoiry', u'countrycode': u'fr', u'city_id': u'-1472707', u'longitude': u'5.966670036315918', u'nr_hotels': u'2', u'latitude': u'46.233299255371094'} +error: (1062, "Duplicate entry 'talmont-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Talmont', u'countrycode': u'fr', u'city_id': u'-1472006', u'longitude': u'-0.8999999761581421', u'nr_hotels': u'2', u'latitude': u'45.53329849243164'} +error: (1062, "Duplicate entry 'talmont-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Talmont', u'countrycode': u'fr', u'city_id': u'-1472006', u'longitude': u'-0.8999999761581421', u'nr_hotels': u'2', u'latitude': u'45.53329849243164'} +error: (1062, "Duplicate entry 'savigny-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Savigny', u'countrycode': u'fr', u'city_id': u'-1469916', u'longitude': u'4.566669940948486', u'nr_hotels': u'2', u'latitude': u'45.81669998168945'} +error: (1062, "Duplicate entry 'savigny-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Savigny', u'countrycode': u'fr', u'city_id': u'-1469916', u'longitude': u'4.566669940948486', u'nr_hotels': u'2', u'latitude': u'45.81669998168945'} +error: (1062, "Duplicate entry 'sauveterre-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sauveterre', u'countrycode': u'fr', u'city_id': u'-1469806', u'longitude': u'-0.9333329796791077', u'nr_hotels': u'2', u'latitude': u'43.400001525878906'} +error: (1062, "Duplicate entry 'sauveterre-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sauveterre', u'countrycode': u'fr', u'city_id': u'-1469806', u'longitude': u'-0.9333329796791077', u'nr_hotels': u'2', u'latitude': u'43.400001525878906'} +error: (1062, "Duplicate entry 'sauveterre-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sauveterre', u'countrycode': u'fr', u'city_id': u'-1469805', u'longitude': u'0.6833329796791077', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'sauveterre-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sauveterre', u'countrycode': u'fr', u'city_id': u'-1469805', u'longitude': u'0.6833329796791077', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'sarrazac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sarrazac', u'countrycode': u'fr', u'city_id': u'-1469493', u'longitude': u'1.5833300352096558', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'sarrazac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sarrazac', u'countrycode': u'fr', u'city_id': u'-1469493', u'longitude': u'1.5833300352096558', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'salles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salles', u'countrycode': u'fr', u'city_id': u'-1469081', u'longitude': u'-0.8666669726371765', u'nr_hotels': u'4', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'salles-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salles', u'countrycode': u'fr', u'city_id': u'-1469081', u'longitude': u'-0.8666669726371765', u'nr_hotels': u'4', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'salles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salles', u'countrycode': u'fr', u'city_id': u'-1469079', u'longitude': u'-0.1166670024394989', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'salles-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salles', u'countrycode': u'fr', u'city_id': u'-1469079', u'longitude': u'-0.1166670024394989', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'saix-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saix', u'countrycode': u'fr', u'city_id': u'-1468945', u'longitude': u'2.1833300590515137', u'nr_hotels': u'2', u'latitude': u'43.58330154418945'} +error: (1062, "Duplicate entry 'saix-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saix', u'countrycode': u'fr', u'city_id': u'-1468945', u'longitude': u'2.1833300590515137', u'nr_hotels': u'2', u'latitude': u'43.58330154418945'} +error: (1062, "Duplicate entry 'saint-symphorien-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Symphorien', u'countrycode': u'fr', u'city_id': u'-1468657', u'longitude': u'1.6833300590515137', u'nr_hotels': u'2', u'latitude': u'48.516700744628906'} +error: (1062, "Duplicate entry 'saint-sauveur-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Sauveur', u'countrycode': u'fr', u'city_id': u'-1468416', u'longitude': u'1.399999976158142', u'nr_hotels': u'1', u'latitude': u'43.75'} +error: (1062, "Duplicate entry 'saint-sauveur-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Sauveur', u'countrycode': u'fr', u'city_id': u'-1468416', u'longitude': u'1.399999976158142', u'nr_hotels': u'1', u'latitude': u'43.75'} +error: (1062, "Duplicate entry 'saint-prix-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Prix', u'countrycode': u'fr', u'city_id': u'-1468146', u'longitude': u'3.6500000953674316', u'nr_hotels': u'1', u'latitude': u'46.233299255371094'} +error: (1062, "Duplicate entry 'saint-prix-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Prix', u'countrycode': u'fr', u'city_id': u'-1468146', u'longitude': u'3.6500000953674316', u'nr_hotels': u'1', u'latitude': u'46.233299255371094'} +error: (1062, "Duplicate entry 'saint-prix-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Prix', u'countrycode': u'fr', u'city_id': u'-1468145', u'longitude': u'4.516670227050781', u'nr_hotels': u'8', u'latitude': u'44.95000076293945'} +error: (1062, "Duplicate entry 'saint-prix-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Prix', u'countrycode': u'fr', u'city_id': u'-1468145', u'longitude': u'4.516670227050781', u'nr_hotels': u'8', u'latitude': u'44.95000076293945'} +error: (1062, "Duplicate entry 'saint-pons-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Pons', u'countrycode': u'fr', u'city_id': u'-1468086', u'longitude': u'6.63332986831665', u'nr_hotels': u'2', u'latitude': u'44.400001525878906'} +error: (1062, "Duplicate entry 'saint-pons-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Pons', u'countrycode': u'fr', u'city_id': u'-1468086', u'longitude': u'6.63332986831665', u'nr_hotels': u'2', u'latitude': u'44.400001525878906'} +error: (1062, "Duplicate entry 'saint-pierre-du-mont-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Pierre-du-Mont', u'countrycode': u'fr', u'city_id': u'-1468002', u'longitude': u'-0.5166670083999634', u'nr_hotels': u'2', u'latitude': u'43.88330078125'} +error: (1062, "Duplicate entry 'saint-pierre-du-mont-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Pierre-du-Mont', u'countrycode': u'fr', u'city_id': u'-1468002', u'longitude': u'-0.5166670083999634', u'nr_hotels': u'2', u'latitude': u'43.88330078125'} +error: (1062, "Duplicate entry 'saint-paul-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Paul', u'countrycode': u'fr', u'city_id': u'-1467764', u'longitude': u'6.75', u'nr_hotels': u'1', u'latitude': u'44.516700744628906'} +error: (1062, "Duplicate entry 'saint-paul-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Paul', u'countrycode': u'fr', u'city_id': u'-1467764', u'longitude': u'6.75', u'nr_hotels': u'1', u'latitude': u'44.516700744628906'} +error: (1062, "Duplicate entry 'saint-ours-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Ours', u'countrycode': u'fr', u'city_id': u'-1467680', u'longitude': u'6', u'nr_hotels': u'1', u'latitude': u'45.75'} +error: (1062, "Duplicate entry 'saint-ours-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Ours', u'countrycode': u'fr', u'city_id': u'-1467680', u'longitude': u'6', u'nr_hotels': u'1', u'latitude': u'45.75'} +error: (1062, "Duplicate entry 'sen-nazer-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0435\u043d-\u041d\u0430\u0437\u0435\u0440', u'countrycode': u'fr', u'city_id': u'-1467543', u'longitude': u'-2.200000047683716', u'nr_hotels': u'19', u'latitude': u'47.28329849243164'} +error: (1062, "Duplicate entry 'saint-nazaire-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Nazaire', u'countrycode': u'fr', u'city_id': u'-1467539', u'longitude': u'4.599999904632568', u'nr_hotels': u'1', u'latitude': u'44.20000076293945'} +error: (1062, "Duplicate entry 'saint-nazaire-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Nazaire', u'countrycode': u'fr', u'city_id': u'-1467539', u'longitude': u'4.599999904632568', u'nr_hotels': u'1', u'latitude': u'44.20000076293945'} +error: (1062, "Duplicate entry 'saint-michel-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Michel', u'countrycode': u'fr', u'city_id': u'-1467444', u'longitude': u'5.300000190734863', u'nr_hotels': u'1', u'latitude': u'47.71670150756836'} +error: (1062, "Duplicate entry 'saint-michel-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Michel', u'countrycode': u'fr', u'city_id': u'-1467440', u'longitude': u'5.916669845581055', u'nr_hotels': u'1', u'latitude': u'45.349998474121094'} +error: (1062, "Duplicate entry 'saint-michel-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Michel', u'countrycode': u'fr', u'city_id': u'-1467440', u'longitude': u'5.916669845581055', u'nr_hotels': u'1', u'latitude': u'45.349998474121094'} +error: (1062, "Duplicate entry 'saint-michel-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Michel', u'countrycode': u'fr', u'city_id': u'-1467431', u'longitude': u'-1.216670036315918', u'nr_hotels': u'2', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'saint-michel-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Michel', u'countrycode': u'fr', u'city_id': u'-1467431', u'longitude': u'-1.216670036315918', u'nr_hotels': u'2', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'saint-marcel-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Marcel', u'countrycode': u'fr', u'city_id': u'-1466868', u'longitude': u'2.9333300590515137', u'nr_hotels': u'1', u'latitude': u'43.25'} +error: (1062, "Duplicate entry 'saint-marcel-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Marcel', u'countrycode': u'fr', u'city_id': u'-1466868', u'longitude': u'2.9333300590515137', u'nr_hotels': u'1', u'latitude': u'43.25'} +error: (1062, "Duplicate entry 'saint-loup-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Loup', u'countrycode': u'fr', u'city_id': u'-1466746', u'longitude': u'3.3833301067352295', u'nr_hotels': u'1', u'latitude': u'46.349998474121094'} +error: (1062, "Duplicate entry 'saint-loup-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Loup', u'countrycode': u'fr', u'city_id': u'-1466746', u'longitude': u'3.3833301067352295', u'nr_hotels': u'1', u'latitude': u'46.349998474121094'} +error: (1062, "Duplicate entry 'sen-loran-dyu-var-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0435\u043d-\u041b\u043e\u0440\u0430\u043d-\u0434\u044e-\u0412\u0430\u0440', u'countrycode': u'fr', u'city_id': u'-1466573', u'longitude': u'7.183330059051514', u'nr_hotels': u'16', u'latitude': u'43.66669845581055'} +error: (1062, "Duplicate entry 'saint-julien-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Julien', u'countrycode': u'fr', u'city_id': u'-1466326', u'longitude': u'5.449999809265137', u'nr_hotels': u'1', u'latitude': u'46.38330078125'} +error: (1062, "Duplicate entry 'saint-julien-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Julien', u'countrycode': u'fr', u'city_id': u'-1466326', u'longitude': u'5.449999809265137', u'nr_hotels': u'1', u'latitude': u'46.38330078125'} +error: (1062, "Duplicate entry 'saint-julien-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Julien', u'countrycode': u'fr', u'city_id': u'-1466325', u'longitude': u'4.666669845581055', u'nr_hotels': u'4', u'latitude': u'46.03329849243164'} +error: (1062, "Duplicate entry 'saint-julien-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Julien', u'countrycode': u'fr', u'city_id': u'-1466325', u'longitude': u'4.666669845581055', u'nr_hotels': u'4', u'latitude': u'46.03329849243164'} +error: (1062, "Duplicate entry 'saint-hippolyte-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Hippolyte', u'countrycode': u'fr', u'city_id': u'-1465975', u'longitude': u'2.966670036315918', u'nr_hotels': u'1', u'latitude': u'42.78329849243164'} +error: (1062, "Duplicate entry 'saint-hippolyte-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Hippolyte', u'countrycode': u'fr', u'city_id': u'-1465975', u'longitude': u'2.966670036315918', u'nr_hotels': u'1', u'latitude': u'42.78329849243164'} +error: (1062, "Duplicate entry 'saint-hilaire-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Hilaire', u'countrycode': u'fr', u'city_id': u'-1465889', u'longitude': u'5.88332986831665', u'nr_hotels': u'1', u'latitude': u'45.29999923706055'} +error: (1062, "Duplicate entry 'saint-hilaire-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Hilaire', u'countrycode': u'fr', u'city_id': u'-1465889', u'longitude': u'5.88332986831665', u'nr_hotels': u'1', u'latitude': u'45.29999923706055'} +error: (1062, "Duplicate entry 'saint-gilles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Gilles', u'countrycode': u'fr', u'city_id': u'-1465784', u'longitude': u'4.433330059051514', u'nr_hotels': u'3', u'latitude': u'43.68330001831055'} +error: (1062, "Duplicate entry 'saint-front-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Front', u'countrycode': u'fr', u'city_id': u'-1465396', u'longitude': u'4.13332986831665', u'nr_hotels': u'1', u'latitude': u'44.983299255371094'} +error: (1062, "Duplicate entry 'saint-front-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Front', u'countrycode': u'fr', u'city_id': u'-1465396', u'longitude': u'4.13332986831665', u'nr_hotels': u'1', u'latitude': u'44.983299255371094'} +error: (1062, "Duplicate entry 'saint-firmin-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Firmin', u'countrycode': u'fr', u'city_id': u'-1465341', u'longitude': u'1.61667001247406', u'nr_hotels': u'2', u'latitude': u'50.266700744628906'} +error: (1062, "Duplicate entry 'saint-firmin-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Firmin', u'countrycode': u'fr', u'city_id': u'-1465341', u'longitude': u'1.61667001247406', u'nr_hotels': u'2', u'latitude': u'50.266700744628906'} +error: (1062, "Duplicate entry 'sainte-sabine-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sainte-Sabine', u'countrycode': u'fr', u'city_id': u'-1465125', u'longitude': u'0.75', u'nr_hotels': u'2', u'latitude': u'44.70000076293945'} +error: (1062, "Duplicate entry 'sainte-sabine-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sainte-Sabine', u'countrycode': u'fr', u'city_id': u'-1465125', u'longitude': u'0.75', u'nr_hotels': u'2', u'latitude': u'44.70000076293945'} +error: (1062, "Duplicate entry 'sainte-marie-du-bois-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sainte-Marie-du-Bois', u'countrycode': u'fr', u'city_id': u'-1465039', u'longitude': u'-0.4833329916000366', u'nr_hotels': u'1', u'latitude': u'48.46670150756836'} +error: (1062, "Duplicate entry 'sainte-marie-du-bois-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sainte-Marie-du-Bois', u'countrycode': u'fr', u'city_id': u'-1465039', u'longitude': u'-0.4833329916000366', u'nr_hotels': u'1', u'latitude': u'48.46670150756836'} +error: (1062, "Duplicate entry 'sainte-gemme-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sainte-Gemme', u'countrycode': u'fr', u'city_id': u'-1464885', u'longitude': u'0.08333329856395721', u'nr_hotels': u'2', u'latitude': u'44.61669921875'} +error: (1062, "Duplicate entry 'sainte-gemme-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sainte-Gemme', u'countrycode': u'fr', u'city_id': u'-1464885', u'longitude': u'0.08333329856395721', u'nr_hotels': u'2', u'latitude': u'44.61669921875'} +error: (1062, "Duplicate entry 'sainte-croix-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sainte-Croix', u'countrycode': u'fr', u'city_id': u'-1464798', u'longitude': u'1.1833300590515137', u'nr_hotels': u'1', u'latitude': u'44.33330154418945'} +error: (1062, "Duplicate entry 'sainte-croix-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sainte-Croix', u'countrycode': u'fr', u'city_id': u'-1464798', u'longitude': u'1.1833300590515137', u'nr_hotels': u'1', u'latitude': u'44.33330154418945'} +error: (1062, "Duplicate entry 'saint-cyprien-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Cyprien', u'countrycode': u'fr', u'city_id': u'-1464479', u'longitude': u'3', u'nr_hotels': u'94', u'latitude': u'42.61669921875'} +error: (1062, "Duplicate entry 'saint-christol-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Christol', u'countrycode': u'fr', u'city_id': u'-1464285', u'longitude': u'4.083330154418945', u'nr_hotels': u'2', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'saint-christol-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Christol', u'countrycode': u'fr', u'city_id': u'-1464285', u'longitude': u'4.083330154418945', u'nr_hotels': u'2', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'saint-brice-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Brice', u'countrycode': u'fr', u'city_id': u'-1464171', u'longitude': u'-0.15000000596046448', u'nr_hotels': u'1', u'latitude': u'44.68330001831055'} +error: (1062, "Duplicate entry 'saint-brice-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Brice', u'countrycode': u'fr', u'city_id': u'-1464171', u'longitude': u'-0.15000000596046448', u'nr_hotels': u'1', u'latitude': u'44.68330001831055'} +error: (1062, "Duplicate entry 'saint-avit-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Avit', u'countrycode': u'fr', u'city_id': u'-1463953', u'longitude': u'-0.43333300948143005', u'nr_hotels': u'2', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'saint-avit-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Avit', u'countrycode': u'fr', u'city_id': u'-1463953', u'longitude': u'-0.43333300948143005', u'nr_hotels': u'2', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'saint-aubin-sur-mer-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Aubin-sur-Mer', u'countrycode': u'fr', u'city_id': u'-1463927', u'longitude': u'-0.4000000059604645', u'nr_hotels': u'4', u'latitude': u'49.33330154418945'} +error: (1062, "Duplicate entry 'saint-arnoult-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Arnoult', u'countrycode': u'fr', u'city_id': u'-1463828', u'longitude': u'0.08333329856395721', u'nr_hotels': u'1', u'latitude': u'49.33330154418945'} +error: (1062, "Duplicate entry 'saint-alban-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Alban', u'countrycode': u'fr', u'city_id': u'-1463585', u'longitude': u'5.949999809265137', u'nr_hotels': u'1', u'latitude': u'45.58330154418945'} +error: (1062, "Duplicate entry 'saint-alban-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Alban', u'countrycode': u'fr', u'city_id': u'-1463585', u'longitude': u'5.949999809265137', u'nr_hotels': u'1', u'latitude': u'45.58330154418945'} +error: (1062, "Duplicate entry 'saint-aignan-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Aignan', u'countrycode': u'fr', u'city_id': u'-1463567', u'longitude': u'-3.016669988632202', u'nr_hotels': u'3', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'saint-aignan-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint-Aignan', u'countrycode': u'fr', u'city_id': u'-1463567', u'longitude': u'-3.016669988632202', u'nr_hotels': u'3', u'latitude': u'48.18330001831055'} +error: (1062, "Duplicate entry 'saint-aignan-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Aignan', u'countrycode': u'fr', u'city_id': u'-1463565', u'longitude': u'1.38332998752594', u'nr_hotels': u'6', u'latitude': u'47.266700744628906'} +error: (1062, "Duplicate entry 'roquefort-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roquefort', u'countrycode': u'fr', u'city_id': u'-1462594', u'longitude': u'-0.31666699051856995', u'nr_hotels': u'1', u'latitude': u'44.03329849243164'} +error: (1062, "Duplicate entry 'romagne-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Romagne', u'countrycode': u'fr', u'city_id': u'-1462408', u'longitude': u'-0.18333299458026886', u'nr_hotels': u'2', u'latitude': u'44.766700744628906'} +error: (1062, "Duplicate entry 'prades-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Prades', u'countrycode': u'fr', u'city_id': u'-1459794', u'longitude': u'2.4333300590515137', u'nr_hotels': u'8', u'latitude': u'42.61669921875'} +error: (1062, "Duplicate entry 'poligny-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Poligny', u'countrycode': u'fr', u'city_id': u'-1458977', u'longitude': u'5.716670036315918', u'nr_hotels': u'1', u'latitude': u'46.83330154418945'} +error: (1062, "Duplicate entry 'ouroux-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ouroux', u'countrycode': u'fr', u'city_id': u'-1456459', u'longitude': u'4.599999904632568', u'nr_hotels': u'1', u'latitude': u'46.233299255371094'} +error: (1062, "Duplicate entry 'ouroux-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ouroux', u'countrycode': u'fr', u'city_id': u'-1456459', u'longitude': u'4.599999904632568', u'nr_hotels': u'1', u'latitude': u'46.233299255371094'} +error: (1062, "Duplicate entry 'orval-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orval', u'countrycode': u'fr', u'city_id': u'-1456259', u'longitude': u'2.4719200134277344', u'nr_hotels': u'1', u'latitude': u'46.72549819946289'} +error: (1062, "Duplicate entry 'orval-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orval', u'countrycode': u'fr', u'city_id': u'-1456259', u'longitude': u'2.4719200134277344', u'nr_hotels': u'1', u'latitude': u'46.72549819946289'} +error: (1062, "Duplicate entry 'orgeval-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orgeval', u'countrycode': u'fr', u'city_id': u'-1456061', u'longitude': u'1.9833300113677979', u'nr_hotels': u'1', u'latitude': u'48.91669845581055'} +error: (1062, "Duplicate entry 'olivet-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Olivet', u'countrycode': u'fr', u'city_id': u'-1455822', u'longitude': u'1.899999976158142', u'nr_hotels': u'7', u'latitude': u'47.86669921875'} +error: (1062, "Duplicate entry 'olivet-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u043b\u0438\u0432\u0435\u0442', u'countrycode': u'fr', u'city_id': u'-1455822', u'longitude': u'1.899999976158142', u'nr_hotels': u'7', u'latitude': u'47.86669921875'} +error: (1062, "Duplicate entry 'nolay-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nolay', u'countrycode': u'fr', u'city_id': u'-1455255', u'longitude': u'4.63332986831665', u'nr_hotels': u'3', u'latitude': u'46.95000076293945'} +error: (1062, "Duplicate entry 'nolay-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nolay', u'countrycode': u'fr', u'city_id': u'-1455255', u'longitude': u'4.63332986831665', u'nr_hotels': u'3', u'latitude': u'46.95000076293945'} +error: (1062, "Duplicate entry 'noailhac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Noailhac', u'countrycode': u'fr', u'city_id': u'-1455116', u'longitude': u'2.3666698932647705', u'nr_hotels': u'1', u'latitude': u'43.56669998168945'} +error: (1062, "Duplicate entry 'noailhac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Noailhac', u'countrycode': u'fr', u'city_id': u'-1455116', u'longitude': u'2.3666698932647705', u'nr_hotels': u'1', u'latitude': u'43.56669998168945'} +error: (1062, "Duplicate entry 'murs-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Murs', u'countrycode': u'fr', u'city_id': u'-1454298', u'longitude': u'5.25', u'nr_hotels': u'8', u'latitude': u'43.95000076293945'} +error: (1062, "Duplicate entry 'montmirail-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montmirail', u'countrycode': u'fr', u'city_id': u'-1453185', u'longitude': u'0.800000011920929', u'nr_hotels': u'3', u'latitude': u'48.099998474121094'} +error: (1062, "Duplicate entry 'montmirail-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montmirail', u'countrycode': u'fr', u'city_id': u'-1453185', u'longitude': u'0.800000011920929', u'nr_hotels': u'3', u'latitude': u'48.099998474121094'} +error: (1062, "Duplicate entry 'montlaur-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montlaur', u'countrycode': u'fr', u'city_id': u'-1453098', u'longitude': u'2.5666699409484863', u'nr_hotels': u'1', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'montlaur-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montlaur', u'countrycode': u'fr', u'city_id': u'-1453098', u'longitude': u'2.5666699409484863', u'nr_hotels': u'1', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'montfaucon-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montfaucon', u'countrycode': u'fr', u'city_id': u'-1452801', u'longitude': u'4.300000190734863', u'nr_hotels': u'1', u'latitude': u'45.16669845581055'} +error: (1062, "Duplicate entry 'montfaucon-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montfaucon', u'countrycode': u'fr', u'city_id': u'-1452801', u'longitude': u'4.300000190734863', u'nr_hotels': u'1', u'latitude': u'45.16669845581055'} +error: (1062, "Duplicate entry 'moncontour-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Moncontour', u'countrycode': u'fr', u'city_id': u'-1452042', u'longitude': u'-0.016666699200868607', u'nr_hotels': u'1', u'latitude': u'46.88330078125'} +error: (1062, "Duplicate entry 'moncontour-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Moncontour', u'countrycode': u'fr', u'city_id': u'-1452042', u'longitude': u'-0.016666699200868607', u'nr_hotels': u'1', u'latitude': u'46.88330078125'} +error: (1062, "Duplicate entry 'mirepoix-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mirepoix', u'countrycode': u'fr', u'city_id': u'-1451701', u'longitude': u'1.88332998752594', u'nr_hotels': u'7', u'latitude': u'43.08330154418945'} +error: (1062, "Duplicate entry 'melan-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0435\u043b\u0430\u043d', u'countrycode': u'fr', u'city_id': u'-1451153', u'longitude': u'1.11667001247406', u'nr_hotels': u'3', u'latitude': u'47.516700744628906'} +error: (1062, "Duplicate entry 'merville-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Merville', u'countrycode': u'fr', u'city_id': u'-1451122', u'longitude': u'1.3166699409484863', u'nr_hotels': u'1', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'merville-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Merville', u'countrycode': u'fr', u'city_id': u'-1451122', u'longitude': u'1.3166699409484863', u'nr_hotels': u'1', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'maubec-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maubec', u'countrycode': u'fr', u'city_id': u'-1450260', u'longitude': u'0.9166669845581055', u'nr_hotels': u'1', u'latitude': u'43.79999923706055'} +error: (1062, "Duplicate entry 'maubec-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Maubec', u'countrycode': u'fr', u'city_id': u'-1450260', u'longitude': u'0.9166669845581055', u'nr_hotels': u'1', u'latitude': u'43.79999923706055'} +error: (1062, "Duplicate entry 'marseillan-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marseillan', u'countrycode': u'fr', u'city_id': u'-1449945', u'longitude': u'3.533329963684082', u'nr_hotels': u'13', u'latitude': u'43.349998474121094'} +error: (1062, "Duplicate entry 'mars-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mars', u'countrycode': u'fr', u'city_id': u'-1449898', u'longitude': u'4.316669940948486', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'mars-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mars', u'countrycode': u'fr', u'city_id': u'-1449898', u'longitude': u'4.316669940948486', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'marigny-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marigny', u'countrycode': u'fr', u'city_id': u'-1449673', u'longitude': u'-0.41666701436042786', u'nr_hotels': u'3', u'latitude': u'46.20000076293945'} +error: (1062, "Duplicate entry 'marigny-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marigny', u'countrycode': u'fr', u'city_id': u'-1449673', u'longitude': u'-0.41666701436042786', u'nr_hotels': u'3', u'latitude': u'46.20000076293945'} +error: (1062, "Duplicate entry 'mandailles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mandailles', u'countrycode': u'fr', u'city_id': u'-1449155', u'longitude': u'2.8833301067352295', u'nr_hotels': u'2', u'latitude': u'44.516700744628906'} +error: (1062, "Duplicate entry 'mandailles-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mandailles', u'countrycode': u'fr', u'city_id': u'-1449155', u'longitude': u'2.8833301067352295', u'nr_hotels': u'2', u'latitude': u'44.516700744628906'} +error: (1062, "Duplicate entry 'le-vigan-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Le Vigan', u'countrycode': u'fr', u'city_id': u'-1446591', u'longitude': u'3.5999999046325684', u'nr_hotels': u'2', u'latitude': u'43.983299255371094'} +error: (1062, "Duplicate entry 'le-vigan-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Le Vigan', u'countrycode': u'fr', u'city_id': u'-1446591', u'longitude': u'3.5999999046325684', u'nr_hotels': u'2', u'latitude': u'43.983299255371094'} +error: (1062, "Duplicate entry 'le-vast-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Le Vast', u'countrycode': u'fr', u'city_id': u'-1446457', u'longitude': u'-1.350000023841858', u'nr_hotels': u'1', u'latitude': u'49.61669921875'} +error: (1062, "Duplicate entry 'le-vast-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Le Vast', u'countrycode': u'fr', u'city_id': u'-1446457', u'longitude': u'-1.350000023841858', u'nr_hotels': u'1', u'latitude': u'49.61669921875'} +error: (1062, "Duplicate entry 'le-theil-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Le Theil', u'countrycode': u'fr', u'city_id': u'-1446195', u'longitude': u'3.1333301067352295', u'nr_hotels': u'1', u'latitude': u'46.349998474121094'} +error: (1062, "Duplicate entry 'le-theil-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Le Theil', u'countrycode': u'fr', u'city_id': u'-1446195', u'longitude': u'3.1333301067352295', u'nr_hotels': u'1', u'latitude': u'46.349998474121094'} +error: (1062, "Duplicate entry 'le-theil-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Le Theil', u'countrycode': u'fr', u'city_id': u'-1446193', u'longitude': u'2.5999999046325684', u'nr_hotels': u'1', u'latitude': u'46.31669998168945'} +error: (1062, "Duplicate entry 'le-theil-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Le Theil', u'countrycode': u'fr', u'city_id': u'-1446193', u'longitude': u'2.5999999046325684', u'nr_hotels': u'1', u'latitude': u'46.31669998168945'} +error: (1062, "Duplicate entry 'les-taillades-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Les Taillades', u'countrycode': u'fr', u'city_id': u'-1445842', u'longitude': u'4.966670036315918', u'nr_hotels': u'0', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'les-taillades-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Les Taillades', u'countrycode': u'fr', u'city_id': u'-1445842', u'longitude': u'4.966670036315918', u'nr_hotels': u'0', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'les-essards-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Les Essards', u'countrycode': u'fr', u'city_id': u'-1444261', u'longitude': u'0.1166670024394989', u'nr_hotels': u'1', u'latitude': u'45.233299255371094'} +error: (1062, "Duplicate entry 'les-essards-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Les Essards', u'countrycode': u'fr', u'city_id': u'-1444261', u'longitude': u'0.1166670024394989', u'nr_hotels': u'1', u'latitude': u'45.233299255371094'} +error: (1062, "Duplicate entry 'le-bosc-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Le Bosc', u'countrycode': u'fr', u'city_id': u'-1440205', u'longitude': u'1.466670036315918', u'nr_hotels': u'1', u'latitude': u'42.95000076293945'} +error: (1062, "Duplicate entry 'lavergne-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lavergne', u'countrycode': u'fr', u'city_id': u'-1439712', u'longitude': u'1.7666699886322021', u'nr_hotels': u'1', u'latitude': u'44.79999923706055'} +error: (1062, "Duplicate entry 'lavergne-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lavergne', u'countrycode': u'fr', u'city_id': u'-1439712', u'longitude': u'1.7666699886322021', u'nr_hotels': u'1', u'latitude': u'44.79999923706055'} +error: (1062, "Duplicate entry 'laval-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Laval', u'countrycode': u'fr', u'city_id': u'-1439518', u'longitude': u'1.350000023841858', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'laval-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Laval', u'countrycode': u'fr', u'city_id': u'-1439518', u'longitude': u'1.350000023841858', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'la-pommeraye-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Pommeraye', u'countrycode': u'fr', u'city_id': u'-1438177', u'longitude': u'-0.8500000238418579', u'nr_hotels': u'1', u'latitude': u'47.349998474121094'} +error: (1062, "Duplicate entry 'la-pommeraye-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Pommeraye', u'countrycode': u'fr', u'city_id': u'-1438177', u'longitude': u'-0.8500000238418579', u'nr_hotels': u'1', u'latitude': u'47.349998474121094'} +error: (1062, "Duplicate entry 'langon-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Langon', u'countrycode': u'fr', u'city_id': u'-1437700', u'longitude': u'1.8333300352096558', u'nr_hotels': u'1', u'latitude': u'47.28329849243164'} +error: (1062, "Duplicate entry 'langon-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Langon', u'countrycode': u'fr', u'city_id': u'-1437700', u'longitude': u'1.8333300352096558', u'nr_hotels': u'1', u'latitude': u'47.28329849243164'} +error: (1062, "Duplicate entry 'langon-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Langon', u'countrycode': u'fr', u'city_id': u'-1437699', u'longitude': u'-0.25', u'nr_hotels': u'6', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'langon-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u0433\u043e\u043d', u'countrycode': u'fr', u'city_id': u'-1437699', u'longitude': u'-0.25', u'nr_hotels': u'6', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'la-madrague-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Madrague', u'countrycode': u'fr', u'city_id': u'-1437019', u'longitude': u'6.099999904632568', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'la-madrague-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Madrague', u'countrycode': u'fr', u'city_id': u'-1437019', u'longitude': u'6.099999904632568', u'nr_hotels': u'1', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'la-garde-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Garde', u'countrycode': u'fr', u'city_id': u'-1436165', u'longitude': u'6.015699863433838', u'nr_hotels': u'6', u'latitude': u'43.1254997253418'} +error: (1062, "Duplicate entry 'la-gard-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430-\u0413\u0430\u0440\u0434', u'countrycode': u'fr', u'city_id': u'-1436165', u'longitude': u'6.015699863433838', u'nr_hotels': u'6', u'latitude': u'43.1254997253418'} +error: (1062, "Duplicate entry 'la-chapelle-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Chapelle', u'countrycode': u'fr', u'city_id': u'-1434962', u'longitude': u'-2.416670083999634', u'nr_hotels': u'1', u'latitude': u'47.86669921875'} +error: (1062, "Duplicate entry 'la-chapelle-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Chapelle', u'countrycode': u'fr', u'city_id': u'-1434962', u'longitude': u'-2.416670083999634', u'nr_hotels': u'1', u'latitude': u'47.86669921875'} +error: (1062, "Duplicate entry 'lacave-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lacave', u'countrycode': u'fr', u'city_id': u'-1434830', u'longitude': u'0.9964079856872559', u'nr_hotels': u'1', u'latitude': u'43.04029846191406'} +error: (1062, "Duplicate entry 'lacave-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lacave', u'countrycode': u'fr', u'city_id': u'-1434830', u'longitude': u'0.9964079856872559', u'nr_hotels': u'1', u'latitude': u'43.04029846191406'} +error: (1062, "Duplicate entry 'gignac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gignac', u'countrycode': u'fr', u'city_id': u'-1429296', u'longitude': u'3.549999952316284', u'nr_hotels': u'1', u'latitude': u'43.650001525878906'} +error: (1062, "Duplicate entry 'frontenac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Frontenac', u'countrycode': u'fr', u'city_id': u'-1428401', u'longitude': u'1.9833300113677979', u'nr_hotels': u'1', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'frontenac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Frontenac', u'countrycode': u'fr', u'city_id': u'-1428401', u'longitude': u'1.9833300113677979', u'nr_hotels': u'1', u'latitude': u'44.54999923706055'} +error: (1062, "Duplicate entry 'fontcouverte-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fontcouverte', u'countrycode': u'fr', u'city_id': u'-1427416', u'longitude': u'2.700000047683716', u'nr_hotels': u'0', u'latitude': u'43.16669845581055'} +error: (1062, "Duplicate entry 'fontcouverte-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fontcouverte', u'countrycode': u'fr', u'city_id': u'-1427416', u'longitude': u'2.700000047683716', u'nr_hotels': u'0', u'latitude': u'43.16669845581055'} +error: (1062, "Duplicate entry 'fontaine-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fontaine', u'countrycode': u'fr', u'city_id': u'-1427273', u'longitude': u'7', u'nr_hotels': u'1', u'latitude': u'47.66669845581055'} +error: (1062, "Duplicate entry 'fontaine-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fontaine', u'countrycode': u'fr', u'city_id': u'-1427273', u'longitude': u'7', u'nr_hotels': u'1', u'latitude': u'47.66669845581055'} +error: (1062, "Duplicate entry 'fontaine-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fontaine', u'countrycode': u'fr', u'city_id': u'-1427267', u'longitude': u'5.666669845581055', u'nr_hotels': u'2', u'latitude': u'45.18330001831055'} +error: (1062, "Duplicate entry 'fontaine-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fontaine', u'countrycode': u'fr', u'city_id': u'-1427267', u'longitude': u'5.666669845581055', u'nr_hotels': u'2', u'latitude': u'45.18330001831055'} +error: (1062, "Duplicate entry 'fleury-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fleury', u'countrycode': u'fr', u'city_id': u'-1427066', u'longitude': u'3.1333301067352295', u'nr_hotels': u'28', u'latitude': u'43.21670150756836'} +error: (1062, "Duplicate entry 'fleury-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fleury', u'countrycode': u'fr', u'city_id': u'-1427066', u'longitude': u'3.1333301067352295', u'nr_hotels': u'28', u'latitude': u'43.21670150756836'} +error: (1062, "Duplicate entry 'durfort-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Durfort', u'countrycode': u'fr', u'city_id': u'-1424715', u'longitude': u'1.4598699808120728', u'nr_hotels': u'2', u'latitude': u'43.2057991027832'} +error: (1062, "Duplicate entry 'durfort-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Durfort', u'countrycode': u'fr', u'city_id': u'-1424715', u'longitude': u'1.4598699808120728', u'nr_hotels': u'2', u'latitude': u'43.2057991027832'} +error: (1062, "Duplicate entry 'dannemarie-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dannemarie', u'countrycode': u'fr', u'city_id': u'-1423589', u'longitude': u'7.13332986831665', u'nr_hotels': u'1', u'latitude': u'47.63330078125'} +error: (1062, "Duplicate entry 'dannemarie-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dannemarie', u'countrycode': u'fr', u'city_id': u'-1423589', u'longitude': u'7.13332986831665', u'nr_hotels': u'1', u'latitude': u'47.63330078125'} +error: (1062, "Duplicate entry 'dampierre-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dampierre', u'countrycode': u'fr', u'city_id': u'-1423511', u'longitude': u'1.63332998752594', u'nr_hotels': u'0', u'latitude': u'46.516700744628906'} +error: (1062, "Duplicate entry 'dampierre-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dampierre', u'countrycode': u'fr', u'city_id': u'-1423511', u'longitude': u'1.63332998752594', u'nr_hotels': u'0', u'latitude': u'46.516700744628906'} +error: (1062, "Duplicate entry 'creysse-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Creysse', u'countrycode': u'fr', u'city_id': u'-1422869', u'longitude': u'0.5666670203208923', u'nr_hotels': u'2', u'latitude': u'44.849998474121094'} +error: (1062, "Duplicate entry 'creysse-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Creysse', u'countrycode': u'fr', u'city_id': u'-1422869', u'longitude': u'0.5666670203208923', u'nr_hotels': u'2', u'latitude': u'44.849998474121094'} +error: (1062, "Duplicate entry 'comps-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Comps', u'countrycode': u'fr', u'city_id': u'-1421289', u'longitude': u'4.599999904632568', u'nr_hotels': u'2', u'latitude': u'43.849998474121094'} +error: (1062, "Duplicate entry 'comps-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Comps', u'countrycode': u'fr', u'city_id': u'-1421289', u'longitude': u'4.599999904632568', u'nr_hotels': u'2', u'latitude': u'43.849998474121094'} +error: (1062, "Duplicate entry 'chelles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chelles', u'countrycode': u'fr', u'city_id': u'-1419724', u'longitude': u'2.5999999046325684', u'nr_hotels': u'9', u'latitude': u'48.88330078125'} +error: (1062, "Duplicate entry 'charette-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Charette', u'countrycode': u'fr', u'city_id': u'-1418712', u'longitude': u'5.36667013168335', u'nr_hotels': u'1', u'latitude': u'45.81669998168945'} +error: (1062, "Duplicate entry 'charette-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Charette', u'countrycode': u'fr', u'city_id': u'-1418712', u'longitude': u'5.36667013168335', u'nr_hotels': u'1', u'latitude': u'45.81669998168945'} +error: (1062, "Duplicate entry 'chantemerle-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chantemerle', u'countrycode': u'fr', u'city_id': u'-1418485', u'longitude': u'6.583330154418945', u'nr_hotels': u'4', u'latitude': u'44.93330001831055'} +error: (1062, "Duplicate entry 'so-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043e', u'countrycode': u'fr', u'city_id': u'-1417311', u'longitude': u'-1.38332998752594', u'nr_hotels': u'4', u'latitude': u'48.63330078125'} +error: (1062, "Duplicate entry 'cazilhac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cazilhac', u'countrycode': u'fr', u'city_id': u'-1417299', u'longitude': u'2.3666698932647705', u'nr_hotels': u'1', u'latitude': u'43.18330001831055'} +error: (1062, "Duplicate entry 'cazilhac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cazilhac', u'countrycode': u'fr', u'city_id': u'-1417299', u'longitude': u'2.3666698932647705', u'nr_hotels': u'1', u'latitude': u'43.18330001831055'} +error: (1062, "Duplicate entry 'cavaillon-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cavaillon', u'countrycode': u'fr', u'city_id': u'-1417210', u'longitude': u'5.041009902954102', u'nr_hotels': u'16', u'latitude': u'43.83039855957031'} +error: (1062, "Duplicate entry 'karro-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u0440\u043e', u'countrycode': u'fr', u'city_id': u'-1416825', u'longitude': u'5.033329963684082', u'nr_hotels': u'1', u'latitude': u'43.33330154418945'} +error: (1062, "Duplicate entry 'calviac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Calviac', u'countrycode': u'fr', u'city_id': u'-1416255', u'longitude': u'1.3333300352096558', u'nr_hotels': u'1', u'latitude': u'44.849998474121094'} +error: (1062, "Duplicate entry 'calviac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Calviac', u'countrycode': u'fr', u'city_id': u'-1416255', u'longitude': u'1.3333300352096558', u'nr_hotels': u'1', u'latitude': u'44.849998474121094'} +error: (1062, "Duplicate entry 'berville-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berville', u'countrycode': u'fr', u'city_id': u'-1412178', u'longitude': u'0', u'nr_hotels': u'2', u'latitude': u'49'} +error: (1062, "Duplicate entry 'berville-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berville', u'countrycode': u'fr', u'city_id': u'-1412178', u'longitude': u'0', u'nr_hotels': u'2', u'latitude': u'49'} +error: (1062, "Duplicate entry 'berneuil-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berneuil', u'countrycode': u'fr', u'city_id': u'-1412030', u'longitude': u'-0.6000000238418579', u'nr_hotels': u'1', u'latitude': u'45.650001525878906'} +error: (1062, "Duplicate entry 'berneuil-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berneuil', u'countrycode': u'fr', u'city_id': u'-1412030', u'longitude': u'-0.6000000238418579', u'nr_hotels': u'1', u'latitude': u'45.650001525878906'} +error: (1062, "Duplicate entry 'belmont-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belmont', u'countrycode': u'fr', u'city_id': u'-1411730', u'longitude': u'0.25', u'nr_hotels': u'2', u'latitude': u'43.70000076293945'} +error: (1062, "Duplicate entry 'belmont-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belmont', u'countrycode': u'fr', u'city_id': u'-1411730', u'longitude': u'0.25', u'nr_hotels': u'2', u'latitude': u'43.70000076293945'} +error: (1062, "Duplicate entry 'bellegarde-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellegarde', u'countrycode': u'fr', u'city_id': u'-1411622', u'longitude': u'4.516670227050781', u'nr_hotels': u'3', u'latitude': u'43.75'} +error: (1062, "Duplicate entry 'bellefontaine-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellefontaine', u'countrycode': u'fr', u'city_id': u'-1411611', u'longitude': u'6.066669940948486', u'nr_hotels': u'0', u'latitude': u'46.54999923706055'} +error: (1062, "Duplicate entry 'bellefontaine-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellefontaine', u'countrycode': u'fr', u'city_id': u'-1411611', u'longitude': u'6.066669940948486', u'nr_hotels': u'0', u'latitude': u'46.54999923706055'} +error: (1062, "Duplicate entry 'beauvoir-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beauvoir', u'countrycode': u'fr', u'city_id': u'-1411343', u'longitude': u'-1.5', u'nr_hotels': u'11', u'latitude': u'48.599998474121094'} +error: (1062, "Duplicate entry 'beauvoir-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beauvoir', u'countrycode': u'fr', u'city_id': u'-1411339', u'longitude': u'3.3666698932647705', u'nr_hotels': u'2', u'latitude': u'47.79999923706055'} +error: (1062, "Duplicate entry 'beauvoir-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beauvoir', u'countrycode': u'fr', u'city_id': u'-1411339', u'longitude': u'3.3666698932647705', u'nr_hotels': u'2', u'latitude': u'47.79999923706055'} +error: (1062, "Duplicate entry 'beaulieu-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beaulieu', u'countrycode': u'fr', u'city_id': u'-1411050', u'longitude': u'2.533329963684082', u'nr_hotels': u'3', u'latitude': u'45.46670150756836'} +error: (1062, "Duplicate entry 'beaulieu-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beaulieu', u'countrycode': u'fr', u'city_id': u'-1411050', u'longitude': u'2.533329963684082', u'nr_hotels': u'3', u'latitude': u'45.46670150756836'} +error: (1062, "Duplicate entry 'beaulieu-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beaulieu', u'countrycode': u'fr', u'city_id': u'-1411045', u'longitude': u'4.016670227050781', u'nr_hotels': u'2', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'beaulieu-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beaulieu', u'countrycode': u'fr', u'city_id': u'-1411045', u'longitude': u'4.016670227050781', u'nr_hotels': u'2', u'latitude': u'43.733299255371094'} +error: (1062, "Duplicate entry 'beauchamps-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beauchamps', u'countrycode': u'fr', u'city_id': u'-1410952', u'longitude': u'-1.36667001247406', u'nr_hotels': u'1', u'latitude': u'48.83330154418945'} +error: (1062, "Duplicate entry 'beauchamps-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beauchamps', u'countrycode': u'fr', u'city_id': u'-1410952', u'longitude': u'-1.36667001247406', u'nr_hotels': u'1', u'latitude': u'48.83330154418945'} +error: (1062, "Duplicate entry 'baron-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Baron', u'countrycode': u'fr', u'city_id': u'-1410438', u'longitude': u'4.283329963684082', u'nr_hotels': u'1', u'latitude': u'46.483299255371094'} +error: (1062, "Duplicate entry 'baron-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Baron', u'countrycode': u'fr', u'city_id': u'-1410438', u'longitude': u'4.283329963684082', u'nr_hotels': u'1', u'latitude': u'46.483299255371094'} +error: (1062, "Duplicate entry 'baron-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Baron', u'countrycode': u'fr', u'city_id': u'-1410436', u'longitude': u'4.283329963684082', u'nr_hotels': u'2', u'latitude': u'44.03329849243164'} +error: (1062, "Duplicate entry 'baron-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Baron', u'countrycode': u'fr', u'city_id': u'-1410436', u'longitude': u'4.283329963684082', u'nr_hotels': u'2', u'latitude': u'44.03329849243164'} +error: (1062, "Duplicate entry 'barjac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Barjac', u'countrycode': u'fr', u'city_id': u'-1410395', u'longitude': u'4.349999904632568', u'nr_hotels': u'9', u'latitude': u'44.29999923706055'} +error: (1062, "Duplicate entry 'barjac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Barjac', u'countrycode': u'fr', u'city_id': u'-1410395', u'longitude': u'4.349999904632568', u'nr_hotels': u'9', u'latitude': u'44.29999923706055'} +error: (1062, "Duplicate entry 'bailly-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bailly', u'countrycode': u'fr', u'city_id': u'-1409972', u'longitude': u'3.627791', u'nr_hotels': u'1', u'latitude': u'47.724083'} +error: (1062, "Duplicate entry 'bailly-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bailly', u'countrycode': u'fr', u'city_id': u'-1409972', u'longitude': u'3.627791', u'nr_hotels': u'1', u'latitude': u'47.724083'} +error: (1062, "Duplicate entry 'ez-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u0437', u'countrycode': u'fr', u'city_id': u'-1409750', u'longitude': u'6.433330059051514', u'nr_hotels': u'1', u'latitude': u'46.08330154418945'} +error: (1062, "Duplicate entry 'orel--fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0440\u0435\u043b\u044c', u'countrycode': u'fr', u'city_id': u'-1409265', u'longitude': u'5.416669845581055', u'nr_hotels': u'2', u'latitude': u'44.13330078125'} +error: (1062, "Duplicate entry 'ore-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0440\u0435', u'countrycode': u'fr', u'city_id': u'-1409252', u'longitude': u'-2.983330011367798', u'nr_hotels': u'11', u'latitude': u'47.66669845581055'} +error: (1062, "Duplicate entry 'aulnoy-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aulnoy', u'countrycode': u'fr', u'city_id': u'-1409177', u'longitude': u'3.0999999046325684', u'nr_hotels': u'2', u'latitude': u'48.849998474121094'} +error: (1062, "Duplicate entry 'aulnoy-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aulnoy', u'countrycode': u'fr', u'city_id': u'-1409177', u'longitude': u'3.0999999046325684', u'nr_hotels': u'2', u'latitude': u'48.849998474121094'} +error: (1062, "Duplicate entry 'aujac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aujac', u'countrycode': u'fr', u'city_id': u'-1409137', u'longitude': u'4.016670227050781', u'nr_hotels': u'2', u'latitude': u'44.349998474121094'} +error: (1062, "Duplicate entry 'aujac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aujac', u'countrycode': u'fr', u'city_id': u'-1409137', u'longitude': u'4.016670227050781', u'nr_hotels': u'2', u'latitude': u'44.349998474121094'} +error: (1062, "Duplicate entry 'aubigny-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aubigny', u'countrycode': u'fr', u'city_id': u'-1408970', u'longitude': u'-0.21666699647903442', u'nr_hotels': u'1', u'latitude': u'48.91669845581055'} +error: (1062, "Duplicate entry 'aubigny-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aubigny', u'countrycode': u'fr', u'city_id': u'-1408970', u'longitude': u'-0.21666699647903442', u'nr_hotels': u'1', u'latitude': u'48.91669845581055'} +error: (1062, "Duplicate entry 'apremont-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Apremont', u'countrycode': u'fr', u'city_id': u'-1407943', u'longitude': u'2.516669988632202', u'nr_hotels': u'1', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'apremont-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Apremont', u'countrycode': u'fr', u'city_id': u'-1407943', u'longitude': u'2.516669988632202', u'nr_hotels': u'1', u'latitude': u'49.233299255371094'} +error: (1062, "Duplicate entry 'apremont-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Apremont', u'countrycode': u'fr', u'city_id': u'-1407938', u'longitude': u'5.949999809265137', u'nr_hotels': u'1', u'latitude': u'45.5'} +error: (1062, "Duplicate entry 'apremont-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043f\u0440\u0435\u043c\u043e\u043d\u0442', u'countrycode': u'fr', u'city_id': u'-1407938', u'longitude': u'5.949999809265137', u'nr_hotels': u'1', u'latitude': u'45.5'} +error: (1062, "Duplicate entry 'angles-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Angles', u'countrycode': u'fr', u'city_id': u'-1407683', u'longitude': u'6.566669940948486', u'nr_hotels': u'1', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'angles-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Angles', u'countrycode': u'fr', u'city_id': u'-1407683', u'longitude': u'6.566669940948486', u'nr_hotels': u'1', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'al-bi-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u044c\u0431\u0438', u'countrycode': u'fr', u'city_id': u'-1407034', u'longitude': u'2.1500000953674316', u'nr_hotels': u'32', u'latitude': u'43.93330001831055'} +error: (1062, "Duplicate entry 'abzac-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Abzac', u'countrycode': u'fr', u'city_id': u'-1406563', u'longitude': u'-0.1333329975605011', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'abzac-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Abzac', u'countrycode': u'fr', u'city_id': u'-1406563', u'longitude': u'-0.1333329975605011', u'nr_hotels': u'1', u'latitude': u'45.016700744628906'} +error: (1062, "Duplicate entry 'guidel-plage-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Guidel-Plage', u'countrycode': u'fr', u'city_id': u'193162', u'longitude': u'-3.5069398880004883', u'nr_hotels': u'4', u'latitude': u'47.76940155029297'} +error: (1062, "Duplicate entry 'guidel-plage-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Guidel-Plage', u'countrycode': u'fr', u'city_id': u'193162', u'longitude': u'-3.5069398880004883', u'nr_hotels': u'4', u'latitude': u'47.76940155029297'} +error: (1062, "Duplicate entry 'pleurtuit-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pleurtuit', u'countrycode': u'fr', u'city_id': u'900038956', u'longitude': u'-2.0799999237060547', u'nr_hotels': u'1', u'latitude': u'48.587799072265625'} +error: (1062, "Duplicate entry 'pleurtuit-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pleurtuit', u'countrycode': u'fr', u'city_id': u'900038956', u'longitude': u'-2.0799999237060547', u'nr_hotels': u'1', u'latitude': u'48.587799072265625'} +error: (1062, "Duplicate entry 'vezak-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0435\u0437\u0430\u043a', u'countrycode': u'fr', u'city_id': u'900039187', u'longitude': u'2.5190000534057617', u'nr_hotels': u'1', u'latitude': u'44.88999938964844'} +error: (1062, "Duplicate entry 'saint-jean-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Jean', u'countrycode': u'fr', u'city_id': u'900040043', u'longitude': u'1.505429983139038', u'nr_hotels': u'2', u'latitude': u'43.66619873046875'} +error: (1062, "Duplicate entry 'plouhinec-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plouhinec', u'countrycode': u'fr', u'city_id': u'900040855', u'longitude': u'-3.242609977722168', u'nr_hotels': u'7', u'latitude': u'47.68840026855469'} +error: (1062, "Duplicate entry 'plouhinec-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plouhinec', u'countrycode': u'fr', u'city_id': u'900040855', u'longitude': u'-3.242609977722168', u'nr_hotels': u'7', u'latitude': u'47.68840026855469'} +error: (1062, "Duplicate entry 'saint-bernard-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint-Bernard', u'countrycode': u'fr', u'city_id': u'900048321', u'longitude': u'4.7322001457214355', u'nr_hotels': u'1', u'latitude': u'45.94559860229492'} +error: (1062, "Duplicate entry 'borgo-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Borgo', u'countrycode': u'fr', u'city_id': u'900051165', u'longitude': u'9.50460433959961', u'nr_hotels': u'8', u'latitude': u'42.58778381347656'} +error: (1062, "Duplicate entry 'borgo-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Borgo', u'countrycode': u'fr', u'city_id': u'900051165', u'longitude': u'9.50460433959961', u'nr_hotels': u'8', u'latitude': u'42.58778381347656'} +error: (1062, "Duplicate entry 'lans-fr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lans', u'countrycode': u'fr', u'city_id': u'900052420', u'longitude': u'4.919041156768799', u'nr_hotels': u'2', u'latitude': u'46.77002716064453'} +error: (1062, "Duplicate entry 'lans-fr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lans', u'countrycode': u'fr', u'city_id': u'900052420', u'longitude': u'4.919041156768799', u'nr_hotels': u'2', u'latitude': u'46.77002716064453'} +error: (1062, "Duplicate entry 'worthing-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Worthing', u'countrycode': u'gb', u'city_id': u'-2612151', u'longitude': u'-0.3745650053024292', u'nr_hotels': u'12', u'latitude': u'50.81420135498047'} +error: (1062, "Duplicate entry 'winsford-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winsford', u'countrycode': u'gb', u'city_id': u'-2611861', u'longitude': u'-3.5666699409484863', u'nr_hotels': u'0', u'latitude': u'51.099998474121094'} +error: (1062, "Duplicate entry 'winsford-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Winsford', u'countrycode': u'gb', u'city_id': u'-2611861', u'longitude': u'-3.5666699409484863', u'nr_hotels': u'0', u'latitude': u'51.099998474121094'} +error: (1062, "Duplicate entry 'whitchurch-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Whitchurch', u'countrycode': u'gb', u'city_id': u'-2611543', u'longitude': u'-2.6500000953674316', u'nr_hotels': u'1', u'latitude': u'51.849998474121094'} +error: (1062, "Duplicate entry 'whitchurch-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Whitchurch', u'countrycode': u'gb', u'city_id': u'-2611543', u'longitude': u'-2.6500000953674316', u'nr_hotels': u'1', u'latitude': u'51.849998474121094'} +error: (1062, "Duplicate entry 'vellington-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0435\u043b\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'gb', u'city_id': u'-2611094', u'longitude': u'-3.233330011367798', u'nr_hotels': u'5', u'latitude': u'50.983299255371094'} +error: (1062, "Duplicate entry 'watford-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Watford', u'countrycode': u'gb', u'city_id': u'-2610992', u'longitude': u'-0.4000000059604645', u'nr_hotels': u'12', u'latitude': u'51.66669845581055'} +error: (1062, "Duplicate entry 'timsbury-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Timsbury', u'countrycode': u'gb', u'city_id': u'-2609855', u'longitude': u'-1.5', u'nr_hotels': u'1', u'latitude': u'51.016700744628906'} +error: (1062, "Duplicate entry 'timsbury-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Timsbury', u'countrycode': u'gb', u'city_id': u'-2609855', u'longitude': u'-1.5', u'nr_hotels': u'1', u'latitude': u'51.016700744628906'} +error: (1062, "Duplicate entry 'thornhill-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thornhill', u'countrycode': u'gb', u'city_id': u'-2609675', u'longitude': u'-3.766669988632202', u'nr_hotels': u'1', u'latitude': u'55.233299255371094'} +error: (1062, "Duplicate entry 'thornhill-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Thornhill', u'countrycode': u'gb', u'city_id': u'-2609675', u'longitude': u'-3.766669988632202', u'nr_hotels': u'1', u'latitude': u'55.233299255371094'} +error: (1062, "Duplicate entry 'tarbert-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tarbert', u'countrycode': u'gb', u'city_id': u'-2609412', u'longitude': u'-5.433330059051514', u'nr_hotels': u'3', u'latitude': u'55.86669921875'} +error: (1062, "Duplicate entry 'tarbert-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0422\u0430\u0440\u0431\u0435\u0440\u0442', u'countrycode': u'gb', u'city_id': u'-2609412', u'longitude': u'-5.433330059051514', u'nr_hotels': u'3', u'latitude': u'55.86669921875'} +error: (1062, "Duplicate entry 'sudbury-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sudbury', u'countrycode': u'gb', u'city_id': u'-2609088', u'longitude': u'0.7333329916000366', u'nr_hotels': u'5', u'latitude': u'52.03329849243164'} +error: (1062, "Duplicate entry 'staverton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Staverton', u'countrycode': u'gb', u'city_id': u'-2608661', u'longitude': u'-3.700000047683716', u'nr_hotels': u'2', u'latitude': u'50.46670150756836'} +error: (1062, "Duplicate entry 'staverton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Staverton', u'countrycode': u'gb', u'city_id': u'-2608661', u'longitude': u'-3.700000047683716', u'nr_hotels': u'2', u'latitude': u'50.46670150756836'} +error: (1062, "Duplicate entry 'st-ives-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'St Ives', u'countrycode': u'gb', u'city_id': u'-2606868', u'longitude': u'-5.478059768676758', u'nr_hotels': u'26', u'latitude': u'50.20750045776367'} +error: (1062, "Duplicate entry 'saint-helens-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Helens', u'countrycode': u'gb', u'city_id': u'-2606860', u'longitude': u'-1.11667001247406', u'nr_hotels': u'1', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'saint-helens-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Helens', u'countrycode': u'gb', u'city_id': u'-2606860', u'longitude': u'-1.11667001247406', u'nr_hotels': u'1', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'redhill-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Redhill', u'countrycode': u'gb', u'city_id': u'-2606097', u'longitude': u'-0.16666699945926666', u'nr_hotels': u'2', u'latitude': u'51.233299255371094'} +error: (1062, "Duplicate entry 'redhill-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Redhill', u'countrycode': u'gb', u'city_id': u'-2606097', u'longitude': u'-0.16666699945926666', u'nr_hotels': u'2', u'latitude': u'51.233299255371094'} +error: (1062, "Duplicate entry 'rainham-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rainham', u'countrycode': u'gb', u'city_id': u'-2605951', u'longitude': u'0.6000000238418579', u'nr_hotels': u'0', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'rainham-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rainham', u'countrycode': u'gb', u'city_id': u'-2605951', u'longitude': u'0.6000000238418579', u'nr_hotels': u'0', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'preston-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Preston', u'countrycode': u'gb', u'city_id': u'-2605730', u'longitude': u'-2.704699993133545', u'nr_hotels': u'19', u'latitude': u'53.76129913330078'} +error: (1062, "Duplicate entry 'preston-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0440\u0435\u0441\u0442\u043e\u043d', u'countrycode': u'gb', u'city_id': u'-2605730', u'longitude': u'-2.704699993133545', u'nr_hotels': u'19', u'latitude': u'53.76129913330078'} +error: (1062, "Duplicate entry 'n-yukasl-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043a\u0430\u0441\u043b', u'countrycode': u'gb', u'city_id': u'-2603960', u'longitude': u'-3.1166698932647705', u'nr_hotels': u'1', u'latitude': u'52.43330001831055'} +error: (1062, "Duplicate entry 'moreton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Moreton', u'countrycode': u'gb', u'city_id': u'-2603433', u'longitude': u'-2.283329963684082', u'nr_hotels': u'0', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'moreton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Moreton', u'countrycode': u'gb', u'city_id': u'-2603433', u'longitude': u'-2.283329963684082', u'nr_hotels': u'0', u'latitude': u'50.70000076293945'} +error: (1062, "Duplicate entry 'moira-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Moira', u'countrycode': u'gb', u'city_id': u'-2603259', u'longitude': u'-1.5166699886322021', u'nr_hotels': u'1', u'latitude': u'52.733299255371094'} +error: (1062, "Duplicate entry 'moira-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Moira', u'countrycode': u'gb', u'city_id': u'-2603259', u'longitude': u'-1.5166699886322021', u'nr_hotels': u'1', u'latitude': u'52.733299255371094'} +error: (1062, "Duplicate entry 'holt-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holt', u'countrycode': u'gb', u'city_id': u'-2598921', u'longitude': u'-2.200000047683716', u'nr_hotels': u'1', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'holt-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holt', u'countrycode': u'gb', u'city_id': u'-2598921', u'longitude': u'-2.200000047683716', u'nr_hotels': u'1', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'harthill-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harthill', u'countrycode': u'gb', u'city_id': u'-2598215', u'longitude': u'-1.2605500221252441', u'nr_hotels': u'1', u'latitude': u'53.319698333740234'} +error: (1062, "Duplicate entry 'harthill-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0440\u0442\u0445\u0438\u043b\u043b', u'countrycode': u'gb', u'city_id': u'-2598215', u'longitude': u'-1.2605500221252441', u'nr_hotels': u'1', u'latitude': u'53.319698333740234'} +error: (1062, "Duplicate entry 'halstead-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Halstead', u'countrycode': u'gb', u'city_id': u'-2598017', u'longitude': u'0.1333329975605011', u'nr_hotels': u'1', u'latitude': u'51.31669998168945'} +error: (1062, "Duplicate entry 'godshill-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Godshill', u'countrycode': u'gb', u'city_id': u'-2597254', u'longitude': u'-1.25', u'nr_hotels': u'2', u'latitude': u'50.61669921875'} +error: (1062, "Duplicate entry 'godshill-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Godshill', u'countrycode': u'gb', u'city_id': u'-2597254', u'longitude': u'-1.25', u'nr_hotels': u'2', u'latitude': u'50.61669921875'} +error: (1062, "Duplicate entry 'farnham-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farnham', u'countrycode': u'gb', u'city_id': u'-2595954', u'longitude': u'-2.0666699409484863', u'nr_hotels': u'1', u'latitude': u'50.93330001831055'} +error: (1062, "Duplicate entry 'farnham-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farnham', u'countrycode': u'gb', u'city_id': u'-2595954', u'longitude': u'-2.0666699409484863', u'nr_hotels': u'1', u'latitude': u'50.93330001831055'} +error: (1062, "Duplicate entry 'castleton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castleton', u'countrycode': u'gb', u'city_id': u'-2592057', u'longitude': u'-3.083329916000366', u'nr_hotels': u'2', u'latitude': u'51.54999923706055'} +error: (1062, "Duplicate entry 'castleton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Castleton', u'countrycode': u'gb', u'city_id': u'-2592057', u'longitude': u'-3.083329916000366', u'nr_hotels': u'2', u'latitude': u'51.54999923706055'} +error: (1062, "Duplicate entry 'bury-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bury', u'countrycode': u'gb', u'city_id': u'-2591411', u'longitude': u'-0.10000000149011612', u'nr_hotels': u'1', u'latitude': u'52.41669845581055'} +error: (1062, "Duplicate entry 'bury-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bury', u'countrycode': u'gb', u'city_id': u'-2591411', u'longitude': u'-0.10000000149011612', u'nr_hotels': u'1', u'latitude': u'52.41669845581055'} +error: (1062, "Duplicate entry 'burton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burton', u'countrycode': u'gb', u'city_id': u'-2591381', u'longitude': u'-4.916669845581055', u'nr_hotels': u'2', u'latitude': u'51.71670150756836'} +error: (1062, "Duplicate entry 'burton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burton', u'countrycode': u'gb', u'city_id': u'-2591381', u'longitude': u'-4.916669845581055', u'nr_hotels': u'2', u'latitude': u'51.71670150756836'} +error: (1062, "Duplicate entry 'bridgend-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgend', u'countrycode': u'gb', u'city_id': u'-2590839', u'longitude': u'-3.583329916000366', u'nr_hotels': u'10', u'latitude': u'51.5'} +error: (1062, "Duplicate entry 'brandon-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brandon', u'countrycode': u'gb', u'city_id': u'-2590697', u'longitude': u'-1.399999976158142', u'nr_hotels': u'1', u'latitude': u'52.36669921875'} +error: (1062, "Duplicate entry 'brandon-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0440\u0430\u043d\u0434\u043e\u043d', u'countrycode': u'gb', u'city_id': u'-2590697', u'longitude': u'-1.399999976158142', u'nr_hotels': u'1', u'latitude': u'52.36669921875'} +error: (1062, "Duplicate entry 'b-yuli-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u044c\u044e\u043b\u0438', u'countrycode': u'gb', u'city_id': u'-2589512', u'longitude': u'-1.4500000476837158', u'nr_hotels': u'3', u'latitude': u'50.81669998168945'} +error: (1062, "Duplicate entry 'bampton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bampton', u'countrycode': u'gb', u'city_id': u'-2589170', u'longitude': u'-1.533329963684082', u'nr_hotels': u'1', u'latitude': u'51.71670150756836'} +error: (1062, "Duplicate entry 'bampton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bampton', u'countrycode': u'gb', u'city_id': u'-2589170', u'longitude': u'-1.533329963684082', u'nr_hotels': u'1', u'latitude': u'51.71670150756836'} +error: (1062, "Duplicate entry 'bampton-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bampton', u'countrycode': u'gb', u'city_id': u'-2589169', u'longitude': u'-3.483330011367798', u'nr_hotels': u'4', u'latitude': u'50.983299255371094'} +error: (1062, "Duplicate entry 'bampton-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bampton', u'countrycode': u'gb', u'city_id': u'-2589169', u'longitude': u'-3.483330011367798', u'nr_hotels': u'4', u'latitude': u'50.983299255371094'} +error: (1062, "Duplicate entry 'ashford-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashford', u'countrycode': u'gb', u'city_id': u'-2588636', u'longitude': u'0.8833330273628235', u'nr_hotels': u'12', u'latitude': u'51.13330078125'} +error: (1062, "Duplicate entry 'ashford-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0448\u0444\u043e\u0440\u0434', u'countrycode': u'gb', u'city_id': u'-2588636', u'longitude': u'0.8833330273628235', u'nr_hotels': u'12', u'latitude': u'51.13330078125'} +error: (1062, "Duplicate entry 'ramsey-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ramsey', u'countrycode': u'gb', u'city_id': u'-1187025', u'longitude': u'-4.400000095367432', u'nr_hotels': u'1', u'latitude': u'54.31669998168945'} +error: (1062, "Duplicate entry 'ramsey-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ramsey', u'countrycode': u'gb', u'city_id': u'-1187025', u'longitude': u'-4.400000095367432', u'nr_hotels': u'1', u'latitude': u'54.31669998168945'} +error: (1062, "Duplicate entry 'hale-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hale', u'countrycode': u'gb', u'city_id': u'900039951', u'longitude': u'-2.344599962234497', u'nr_hotels': u'12', u'latitude': u'53.376800537109375'} +error: (1062, "Duplicate entry 'n-yuport-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'gb', u'city_id': u'900040052', u'longitude': u'-1.276039958000183', u'nr_hotels': u'3', u'latitude': u'50.69929885864258'} +error: (1062, "Duplicate entry 'newport-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newport', u'countrycode': u'gb', u'city_id': u'900040141', u'longitude': u'-4.829110145568848', u'nr_hotels': u'7', u'latitude': u'52.0171012878418'} +error: (1062, "Duplicate entry 'n-yuport-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'gb', u'city_id': u'900040141', u'longitude': u'-4.829110145568848', u'nr_hotels': u'7', u'latitude': u'52.0171012878418'} +error: (1062, "Duplicate entry 'ansty-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ansty', u'countrycode': u'gb', u'city_id': u'900040326', u'longitude': u'-2.3370699882507324', u'nr_hotels': u'1', u'latitude': u'50.82659912109375'} +error: (1062, "Duplicate entry 'ansty-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ansty', u'countrycode': u'gb', u'city_id': u'900040326', u'longitude': u'-2.3370699882507324', u'nr_hotels': u'1', u'latitude': u'50.82659912109375'} +error: (1062, "Duplicate entry 'newport-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newport', u'countrycode': u'gb', u'city_id': u'900040850', u'longitude': u'-2.385999917984009', u'nr_hotels': u'2', u'latitude': u'52.76499938964844'} +error: (1062, "Duplicate entry 'n-yuport-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'gb', u'city_id': u'900040850', u'longitude': u'-2.385999917984009', u'nr_hotels': u'2', u'latitude': u'52.76499938964844'} +error: (1062, "Duplicate entry 'ash-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ash', u'countrycode': u'gb', u'city_id': u'900048426', u'longitude': u'-0.7252659797668457', u'nr_hotels': u'1', u'latitude': u'51.251800537109375'} +error: (1062, "Duplicate entry 'ash-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ash', u'countrycode': u'gb', u'city_id': u'900048426', u'longitude': u'-0.7252659797668457', u'nr_hotels': u'1', u'latitude': u'51.251800537109375'} +error: (1062, "Duplicate entry 'troutbeck-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troutbeck', u'countrycode': u'gb', u'city_id': u'900049830', u'longitude': u'-2.9472339153289795', u'nr_hotels': u'3', u'latitude': u'54.6334228515625'} +error: (1062, "Duplicate entry 'troutbeck-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troutbeck', u'countrycode': u'gb', u'city_id': u'900049830', u'longitude': u'-2.9472339153289795', u'nr_hotels': u'3', u'latitude': u'54.6334228515625'} +error: (1062, "Duplicate entry 'alford-gb' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alford', u'countrycode': u'gb', u'city_id': u'900050742', u'longitude': u'-2.9047861099243164', u'nr_hotels': u'1', u'latitude': u'57.236270904541016'} +error: (1062, "Duplicate entry 'alford-gb' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alford', u'countrycode': u'gb', u'city_id': u'900050742', u'longitude': u'-2.9047861099243164', u'nr_hotels': u'1', u'latitude': u'57.236270904541016'} +error: (1062, "Duplicate entry 'stavros-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stavros', u'countrycode': u'gr', u'city_id': u'-828858', u'longitude': u'20.649999618530273', u'nr_hotels': u'6', u'latitude': u'38.45000076293945'} +error: (1062, "Duplicate entry 'skala-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043a\u0430\u043b\u0430', u'countrycode': u'gr', u'city_id': u'-828250', u'longitude': u'26.533300399780273', u'nr_hotels': u'23', u'latitude': u'37.31669998168945'} +error: (1062, "Duplicate entry 'poros-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Poros', u'countrycode': u'gr', u'city_id': u'-826839', u'longitude': u'20.783300399780273', u'nr_hotels': u'27', u'latitude': u'38.150001525878906'} +error: (1062, "Duplicate entry 'poros-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-826839', u'longitude': u'20.783300399780273', u'nr_hotels': u'27', u'latitude': u'38.150001525878906'} +error: (1062, "Duplicate entry 'poros-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Poros', u'countrycode': u'gr', u'city_id': u'-826838', u'longitude': u'23.45599937438965', u'nr_hotels': u'35', u'latitude': u'37.509498596191406'} +error: (1062, "Duplicate entry 'poros-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-826838', u'longitude': u'23.45599937438965', u'nr_hotels': u'35', u'latitude': u'37.509498596191406'} +error: (1062, "Duplicate entry 'platanias-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Platanias', u'countrycode': u'gr', u'city_id': u'-826544', u'longitude': u'23.274499893188477', u'nr_hotels': u'6', u'latitude': u'39.14149856567383'} +error: (1062, "Duplicate entry 'platanias-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Platanias', u'countrycode': u'gr', u'city_id': u'-826544', u'longitude': u'23.274499893188477', u'nr_hotels': u'6', u'latitude': u'39.14149856567383'} +error: (1062, "Duplicate entry 'pirgos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0438\u0440\u0433\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-826341', u'longitude': u'25.450000762939453', u'nr_hotels': u'8', u'latitude': u'36.38330078125'} +error: (1062, "Duplicate entry 'perama-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perama', u'countrycode': u'gr', u'city_id': u'-825890', u'longitude': u'24.700000762939453', u'nr_hotels': u'9', u'latitude': u'35.36669921875'} +error: (1062, "Duplicate entry 'mirtos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u0440\u0442\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-824179', u'longitude': u'24.399999618530273', u'nr_hotels': u'6', u'latitude': u'35.20000076293945'} +error: (1062, "Duplicate entry 'metoni-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0435\u0442\u043e\u043d\u0438', u'countrycode': u'gr', u'city_id': u'-823879', u'longitude': u'21.706499099731445', u'nr_hotels': u'12', u'latitude': u'36.81769943237305'} +error: (1062, "Duplicate entry 'prinos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0440\u0438\u043d\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-823516', u'longitude': u'24.61669921875', u'nr_hotels': u'20', u'latitude': u'40.733299255371094'} +error: (1062, "Duplicate entry 'krionerion-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0440\u0438\u043e\u043d\u0435\u0440\u0438\u043e\u043d', u'countrycode': u'gr', u'city_id': u'-821780', u'longitude': u'22.63330078125', u'nr_hotels': u'1', u'latitude': u'37.96670150756836'} +error: (1062, "Duplicate entry 'karavostasi-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u0430\u0432\u043e\u0441\u0442\u0430\u0441\u0438', u'countrycode': u'gr', u'city_id': u'-819051', u'longitude': u'22.38330078125', u'nr_hotels': u'3', u'latitude': u'36.70000076293945'} +error: (1062, "Duplicate entry 'kamares-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kamares', u'countrycode': u'gr', u'city_id': u'-818733', u'longitude': u'24.683300018310547', u'nr_hotels': u'22', u'latitude': u'36.983299255371094'} +error: (1062, "Duplicate entry 'kalamos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u0430\u043c\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-818378', u'longitude': u'23.033300399780273', u'nr_hotels': u'2', u'latitude': u'36.150001525878906'} +error: (1062, "Duplicate entry 'kalamakion-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u0430\u043c\u0430\u043a\u0438\u043e\u043d', u'countrycode': u'gr', u'city_id': u'-818328', u'longitude': u'21.91670036315918', u'nr_hotels': u'3', u'latitude': u'36.91669845581055'} +error: (1062, "Duplicate entry 'episkopi-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Episkopi', u'countrycode': u'gr', u'city_id': u'-817015', u'longitude': u'25.233299255371094', u'nr_hotels': u'3', u'latitude': u'35.25'} +error: (1062, "Duplicate entry 'agios-nikolaos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u043e\u0441 \u041d\u0438\u043a\u043e\u043b\u0430\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-815523', u'longitude': u'25.711999893188477', u'nr_hotels': u'57', u'latitude': u'35.18989944458008'} +error: (1062, "Duplicate entry 'ajos-kirikos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0439\u043e\u0441-\u041a\u0438\u0440\u0438\u043a\u043e\u0441', u'countrycode': u'gr', u'city_id': u'-815469', u'longitude': u'26.29603385925293', u'nr_hotels': u'19', u'latitude': u'37.61524963378906'} +error: (1062, "Duplicate entry 'aji-apostoli-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0439\u0438-\u0410\u043f\u043e\u0441\u0442\u043e\u043b\u0438', u'countrycode': u'gr', u'city_id': u'-815209', u'longitude': u'23.899999618530273', u'nr_hotels': u'2', u'latitude': u'38.29999923706055'} +error: (1062, "Duplicate entry 'agiya-marina-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u044f-\u041c\u0430\u0440\u0438\u043d\u0430', u'countrycode': u'gr', u'city_id': u'-815061', u'longitude': u'26.86669921875', u'nr_hotels': u'8', u'latitude': u'37.150001525878906'} +error: (1062, "Duplicate entry 'arhangelos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u0445\u0430\u043d\u0433\u0435\u043b\u043e\u0441', u'countrycode': u'gr', u'city_id': u'315836', u'longitude': u'28.11520004272461', u'nr_hotels': u'25', u'latitude': u'36.214599609375'} +error: (1062, "Duplicate entry 'kallifeya-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u043b\u0438\u0444\u0435\u044f', u'countrycode': u'gr', u'city_id': u'900039164', u'longitude': u'28.202999114990234', u'nr_hotels': u'12', u'latitude': u'36.34320068359375'} +error: (1062, "Duplicate entry 'kalamaki-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kalamaki', u'countrycode': u'gr', u'city_id': u'900039540', u'longitude': u'23.961000442504883', u'nr_hotels': u'23', u'latitude': u'35.5099983215332'} +error: (1062, "Duplicate entry 'kalamaki-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u0430\u043c\u0430\u043a\u0438', u'countrycode': u'gr', u'city_id': u'900039540', u'longitude': u'23.961000442504883', u'nr_hotels': u'23', u'latitude': u'35.5099983215332'} +error: (1062, "Duplicate entry 'platis-yalos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Platis Yalos', u'countrycode': u'gr', u'city_id': u'900039556', u'longitude': u'25.341800689697266', u'nr_hotels': u'22', u'latitude': u'37.413700103759766'} +error: (1062, "Duplicate entry 'platis-yalos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043b\u0430\u0442\u0438\u0441 \u042f\u043b\u043e\u0441', u'countrycode': u'gr', u'city_id': u'900039556', u'longitude': u'25.341800689697266', u'nr_hotels': u'22', u'latitude': u'37.413700103759766'} +error: (1062, "Duplicate entry 'plaka-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plaka', u'countrycode': u'gr', u'city_id': u'900039582', u'longitude': u'25.381000518798828', u'nr_hotels': u'24', u'latitude': u'37.04499816894531'} +error: (1062, "Duplicate entry 'plaka-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043b\u0430\u043a\u0430', u'countrycode': u'gr', u'city_id': u'900039582', u'longitude': u'25.381000518798828', u'nr_hotels': u'24', u'latitude': u'37.04499816894531'} +error: (1062, "Duplicate entry 'skala-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Skala', u'countrycode': u'gr', u'city_id': u'900039632', u'longitude': u'23.363000869750977', u'nr_hotels': u'10', u'latitude': u'37.70899963378906'} +error: (1062, "Duplicate entry 'skala-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043a\u0430\u043b\u0430', u'countrycode': u'gr', u'city_id': u'900039632', u'longitude': u'23.363000869750977', u'nr_hotels': u'10', u'latitude': u'37.70899963378906'} +error: (1062, "Duplicate entry 'kambos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kambos', u'countrycode': u'gr', u'city_id': u'900039658', u'longitude': u'26.132999420166016', u'nr_hotels': u'18', u'latitude': u'38.34400177001953'} +error: (1062, "Duplicate entry 'kambos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043c\u0431\u043e\u0441', u'countrycode': u'gr', u'city_id': u'900039658', u'longitude': u'26.132999420166016', u'nr_hotels': u'18', u'latitude': u'38.34400177001953'} +error: (1062, "Duplicate entry 'agios-ioannis-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u043e\u0441-\u0418\u043e\u0430\u043d\u043d\u0438\u0441', u'countrycode': u'gr', u'city_id': u'900040349', u'longitude': u'23.164499282836914', u'nr_hotels': u'25', u'latitude': u'39.41400146484375'} +error: (1062, "Duplicate entry 'perdika-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perdika', u'countrycode': u'gr', u'city_id': u'900040561', u'longitude': u'20.303800582885742', u'nr_hotels': u'7', u'latitude': u'39.36880111694336'} +error: (1062, "Duplicate entry 'perdika-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0435\u0440\u0434\u0438\u043a\u0430', u'countrycode': u'gr', u'city_id': u'900040561', u'longitude': u'20.303800582885742', u'nr_hotels': u'7', u'latitude': u'39.36880111694336'} +error: (1062, "Duplicate entry 'halkida-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u043b\u043a\u0438\u0434\u0430', u'countrycode': u'gr', u'city_id': u'900040835', u'longitude': u'22.601699829101562', u'nr_hotels': u'3', u'latitude': u'40.73310089111328'} +error: (1062, "Duplicate entry 'stavros-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stavros', u'countrycode': u'gr', u'city_id': u'900040969', u'longitude': u'24.09239959716797', u'nr_hotels': u'16', u'latitude': u'35.590301513671875'} +error: (1062, "Duplicate entry 'stavros-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0442\u0430\u0432\u0440\u043e\u0441', u'countrycode': u'gr', u'city_id': u'900040969', u'longitude': u'24.09239959716797', u'nr_hotels': u'16', u'latitude': u'35.590301513671875'} +error: (1062, "Duplicate entry 'eliya-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u043b\u0438\u044f', u'countrycode': u'gr', u'city_id': u'900048294', u'longitude': u'23.783599853515625', u'nr_hotels': u'7', u'latitude': u'40.144500732421875'} +error: (1062, "Duplicate entry 'agios-stefanos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Stefanos', u'countrycode': u'gr', u'city_id': u'900048508', u'longitude': u'19.645099639892578', u'nr_hotels': u'7', u'latitude': u'39.75559997558594'} +error: (1062, "Duplicate entry 'agios-stefanos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u043e\u0441 \u0421\u0442\u0435\u0444\u0430\u043d\u043e\u0441', u'countrycode': u'gr', u'city_id': u'900048508', u'longitude': u'19.645099639892578', u'nr_hotels': u'7', u'latitude': u'39.75559997558594'} +error: (1062, "Duplicate entry 'agiya-paraskevi-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u044f-\u041f\u0430\u0440\u0430\u0441\u043a\u0435\u0432\u0438', u'countrycode': u'gr', u'city_id': u'900048525', u'longitude': u'23.43000030517578', u'nr_hotels': u'15', u'latitude': u'39.13999938964844'} +error: (1062, "Duplicate entry 'chiliadou-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chiliadou', u'countrycode': u'gr', u'city_id': u'900048980', u'longitude': u'23.920000076293945', u'nr_hotels': u'1', u'latitude': u'38.66999816894531'} +error: (1062, "Duplicate entry 'chiliadou-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chiliadou', u'countrycode': u'gr', u'city_id': u'900048980', u'longitude': u'23.920000076293945', u'nr_hotels': u'1', u'latitude': u'38.66999816894531'} +error: (1062, "Duplicate entry 'agios-nikolaos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Nikolaos', u'countrycode': u'gr', u'city_id': u'900049042', u'longitude': u'20.70800018310547', u'nr_hotels': u'6', u'latitude': u'37.900001525878906'} +error: (1062, "Duplicate entry 'agios-nikolaos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u043e\u0441-\u041d\u0438\u043a\u043e\u043b\u0430\u043e\u0441', u'countrycode': u'gr', u'city_id': u'900049042', u'longitude': u'20.70800018310547', u'nr_hotels': u'6', u'latitude': u'37.900001525878906'} +error: (1062, "Duplicate entry 'punda-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0443\u043d\u0434\u0430', u'countrycode': u'gr', u'city_id': u'900049146', u'longitude': u'23.50200080871582', u'nr_hotels': u'5', u'latitude': u'39.15999984741211'} +error: (1062, "Duplicate entry 'kalogriya-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u043e\u0433\u0440\u0438\u044f', u'countrycode': u'gr', u'city_id': u'900049257', u'longitude': u'23.721799850463867', u'nr_hotels': u'2', u'latitude': u'40.17210006713867'} +error: (1062, "Duplicate entry 'perama-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perama', u'countrycode': u'gr', u'city_id': u'900049433', u'longitude': u'19.91200065612793', u'nr_hotels': u'14', u'latitude': u'39.58100128173828'} +error: (1062, "Duplicate entry 'perama-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0435\u0440\u0430\u043c\u0430', u'countrycode': u'gr', u'city_id': u'900049433', u'longitude': u'19.91200065612793', u'nr_hotels': u'14', u'latitude': u'39.58100128173828'} +error: (1062, "Duplicate entry 'agios-ioannis-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Ioannis', u'countrycode': u'gr', u'city_id': u'900050334', u'longitude': u'20.682056427001953', u'nr_hotels': u'7', u'latitude': u'38.82889938354492'} +error: (1062, "Duplicate entry 'agios-ioannis-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0433\u0438\u043e\u0441-\u0418\u043e\u0430\u043d\u043d\u0438\u0441', u'countrycode': u'gr', u'city_id': u'900050334', u'longitude': u'20.682056427001953', u'nr_hotels': u'7', u'latitude': u'38.82889938354492'} +error: (1062, "Duplicate entry 'kalamaki-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kalamaki', u'countrycode': u'gr', u'city_id': u'900050429', u'longitude': u'24.75939178466797', u'nr_hotels': u'16', u'latitude': u'35.02879333496094'} +error: (1062, "Duplicate entry 'kalamaki-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u0430\u043c\u0430\u043a\u0438', u'countrycode': u'gr', u'city_id': u'900050429', u'longitude': u'24.75939178466797', u'nr_hotels': u'16', u'latitude': u'35.02879333496094'} +error: (1062, "Duplicate entry 'agios-pavlos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Pavlos', u'countrycode': u'gr', u'city_id': u'900050691', u'longitude': u'24.565000534057617', u'nr_hotels': u'1', u'latitude': u'35.10200119018555'} +error: (1062, "Duplicate entry 'agios-pavlos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Agios Pavlos', u'countrycode': u'gr', u'city_id': u'900050691', u'longitude': u'24.565000534057617', u'nr_hotels': u'1', u'latitude': u'35.10200119018555'} +error: (1062, "Duplicate entry 'agios-nikolaos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Nikolaos', u'countrycode': u'gr', u'city_id': u'900050830', u'longitude': u'22.2810001373291', u'nr_hotels': u'5', u'latitude': u'36.82500076293945'} +error: (1062, "Duplicate entry 'agios-nikolaos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Agios Nikolaos', u'countrycode': u'gr', u'city_id': u'900050830', u'longitude': u'22.2810001373291', u'nr_hotels': u'5', u'latitude': u'36.82500076293945'} +error: (1062, "Duplicate entry 'agia-marina-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agia Marina', u'countrycode': u'gr', u'city_id': u'900051332', u'longitude': u'20.77400016784668', u'nr_hotels': u'1', u'latitude': u'37.790000915527344'} +error: (1062, "Duplicate entry 'agia-marina-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Agia Marina', u'countrycode': u'gr', u'city_id': u'900051332', u'longitude': u'20.77400016784668', u'nr_hotels': u'1', u'latitude': u'37.790000915527344'} +error: (1062, "Duplicate entry 'agia-paraskevi-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agia Paraskevi', u'countrycode': u'gr', u'city_id': u'900051823', u'longitude': u'25.729656219482422', u'nr_hotels': u'1', u'latitude': u'40.84755325317383'} +error: (1062, "Duplicate entry 'agia-paraskevi-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Agia Paraskevi', u'countrycode': u'gr', u'city_id': u'900051823', u'longitude': u'25.729656219482422', u'nr_hotels': u'1', u'latitude': u'40.84755325317383'} +error: (1062, "Duplicate entry 'milopotamos-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milopotamos', u'countrycode': u'gr', u'city_id': u'900052632', u'longitude': u'23.20345', u'nr_hotels': u'1', u'latitude': u'39.37436'} +error: (1062, "Duplicate entry 'milopotamos-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milopotamos', u'countrycode': u'gr', u'city_id': u'900052632', u'longitude': u'23.20345', u'nr_hotels': u'1', u'latitude': u'39.37436'} +error: (1062, "Duplicate entry 'agios-georgios-gr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Agios Georgios', u'countrycode': u'gr', u'city_id': u'900052733', u'longitude': u'23.342445', u'nr_hotels': u'1', u'latitude': u'39.173629'} +error: (1062, "Duplicate entry 'agios-georgios-gr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Agios Georgios', u'countrycode': u'gr', u'city_id': u'900052733', u'longitude': u'23.342445', u'nr_hotels': u'1', u'latitude': u'39.173629'} +error: (1062, "Duplicate entry 'san-buenaventura-hn' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Buenaventura', u'countrycode': u'hn', u'city_id': u'-1128823', u'longitude': u'-87.19999694824219', u'nr_hotels': u'0', u'latitude': u'13.899999618530273'} +error: (1062, "Duplicate entry 'san-buenaventura-hn' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Buenaventura', u'countrycode': u'hn', u'city_id': u'-1128823', u'longitude': u'-87.19999694824219', u'nr_hotels': u'0', u'latitude': u'13.899999618530273'} +error: (1062, "Duplicate entry 'zaton-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zaton', u'countrycode': u'hr', u'city_id': u'-101780', u'longitude': u'15.825300216674805', u'nr_hotels': u'1', u'latitude': u'43.789398193359375'} +error: (1062, "Duplicate entry 'zaton-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zaton', u'countrycode': u'hr', u'city_id': u'-101780', u'longitude': u'15.825300216674805', u'nr_hotels': u'1', u'latitude': u'43.789398193359375'} +error: (1062, "Duplicate entry 'zaton-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zaton', u'countrycode': u'hr', u'city_id': u'-101779', u'longitude': u'18.03809928894043', u'nr_hotels': u'46', u'latitude': u'42.690799713134766'} +error: (1062, "Duplicate entry 'zaton-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0417\u0430\u0442\u043e\u043d', u'countrycode': u'hr', u'city_id': u'-101779', u'longitude': u'18.03809928894043', u'nr_hotels': u'46', u'latitude': u'42.690799713134766'} +error: (1062, "Duplicate entry 'starigrad-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Starigrad', u'countrycode': u'hr', u'city_id': u'-96910', u'longitude': u'15.443099975585938', u'nr_hotels': u'52', u'latitude': u'44.29309844970703'} +error: (1062, "Duplicate entry 'starigrad-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0442\u0430\u0440\u0438\u0433\u0440\u0430\u0434', u'countrycode': u'hr', u'city_id': u'-96910', u'longitude': u'15.443099975585938', u'nr_hotels': u'52', u'latitude': u'44.29309844970703'} +error: (1062, "Duplicate entry 'rukavac-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rukavac', u'countrycode': u'hr', u'city_id': u'-94751', u'longitude': u'16.21190071105957', u'nr_hotels': u'2', u'latitude': u'43.022499084472656'} +error: (1062, "Duplicate entry 'rukavac-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rukavac', u'countrycode': u'hr', u'city_id': u'-94751', u'longitude': u'16.21190071105957', u'nr_hotels': u'2', u'latitude': u'43.022499084472656'} +error: (1062, "Duplicate entry 'poljica-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Poljica', u'countrycode': u'hr', u'city_id': u'-92621', u'longitude': u'15.28499984741211', u'nr_hotels': u'1', u'latitude': u'44.219398498535156'} +error: (1062, "Duplicate entry 'poljica-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Poljica', u'countrycode': u'hr', u'city_id': u'-92621', u'longitude': u'15.28499984741211', u'nr_hotels': u'1', u'latitude': u'44.219398498535156'} +error: (1062, "Duplicate entry 'dubrava-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dubrava', u'countrycode': u'hr', u'city_id': u'-79967', u'longitude': u'17.49920082092285', u'nr_hotels': u'2', u'latitude': u'42.88779830932617'} +error: (1062, "Duplicate entry 'dubrava-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dubrava', u'countrycode': u'hr', u'city_id': u'-79967', u'longitude': u'17.49920082092285', u'nr_hotels': u'2', u'latitude': u'42.88779830932617'} +error: (1062, "Duplicate entry 'bibinje-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bibinje', u'countrycode': u'hr', u'city_id': u'94229', u'longitude': u'15.287799835205078', u'nr_hotels': u'55', u'latitude': u'44.07170104980469'} +error: (1062, "Duplicate entry 'vrsar-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vrsar', u'countrycode': u'hr', u'city_id': u'94433', u'longitude': u'13.634200096130371', u'nr_hotels': u'0', u'latitude': u'45.138099670410156'} +error: (1062, "Duplicate entry 'vrsar-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vrsar', u'countrycode': u'hr', u'city_id': u'94433', u'longitude': u'13.634200096130371', u'nr_hotels': u'0', u'latitude': u'45.138099670410156'} +error: (1062, "Duplicate entry 'milna-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milna', u'countrycode': u'hr', u'city_id': u'94497', u'longitude': u'16.491899490356445', u'nr_hotels': u'1', u'latitude': u'43.162498474121094'} +error: (1062, "Duplicate entry 'milna-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milna', u'countrycode': u'hr', u'city_id': u'94497', u'longitude': u'16.491899490356445', u'nr_hotels': u'1', u'latitude': u'43.162498474121094'} +error: (1062, "Duplicate entry 'rakovica-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rakovica', u'countrycode': u'hr', u'city_id': u'314611', u'longitude': u'15.648300170898438', u'nr_hotels': u'35', u'latitude': u'44.991798400878906'} +error: (1062, "Duplicate entry 'seline-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seline', u'countrycode': u'hr', u'city_id': u'9005699', u'longitude': u'15.476900100708008', u'nr_hotels': u'3', u'latitude': u'44.27330017089844'} +error: (1062, "Duplicate entry 'seline-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0435\u043b\u0438\u043d\u0435', u'countrycode': u'hr', u'city_id': u'9005699', u'longitude': u'15.476900100708008', u'nr_hotels': u'3', u'latitude': u'44.27330017089844'} +error: (1062, "Duplicate entry 'murvica-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Murvica', u'countrycode': u'hr', u'city_id': u'900051534', u'longitude': u'15.324199676513672', u'nr_hotels': u'4', u'latitude': u'44.14720153808594'} +error: (1062, "Duplicate entry 'murvica-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Murvica', u'countrycode': u'hr', u'city_id': u'900051534', u'longitude': u'15.324199676513672', u'nr_hotels': u'4', u'latitude': u'44.14720153808594'} +error: (1062, "Duplicate entry 'rab-hr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rab', u'countrycode': u'hr', u'city_id': u'900052715', u'longitude': u'14.761214682617151', u'nr_hotels': u'114', u'latitude': u'44.75550148771904'} +error: (1062, "Duplicate entry 'rab-hr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rab', u'countrycode': u'hr', u'city_id': u'900052715', u'longitude': u'14.761214682617151', u'nr_hotels': u'114', u'latitude': u'44.75550148771904'} +error: (1062, "Duplicate entry 'tuban-id' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tuban', u'countrycode': u'id', u'city_id': u'-2701403', u'longitude': u'112.05000305175781', u'nr_hotels': u'5', u'latitude': u'-6.900000095367432'} +error: (1062, "Duplicate entry 'tuban-id' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tuban', u'countrycode': u'id', u'city_id': u'-2701403', u'longitude': u'112.05000305175781', u'nr_hotels': u'5', u'latitude': u'-6.900000095367432'} +error: (1062, "Duplicate entry 'solo-id' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Solo', u'countrycode': u'id', u'city_id': u'-2697624', u'longitude': u'120.23300170898438', u'nr_hotels': u'0', u'latitude': u'-4.233329772949219'} +error: (1062, "Duplicate entry 'solo-id' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Solo', u'countrycode': u'id', u'city_id': u'-2697624', u'longitude': u'120.23300170898438', u'nr_hotels': u'0', u'latitude': u'-4.233329772949219'} +error: (1062, "Duplicate entry 'padang-id' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Padang', u'countrycode': u'id', u'city_id': u'-2690024', u'longitude': u'100.3499984741211', u'nr_hotels': u'31', u'latitude': u'-0.949999988079071'} +error: (1062, "Duplicate entry 'padang-id' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0430\u0434\u0430\u043d\u0433', u'countrycode': u'id', u'city_id': u'-2690024', u'longitude': u'100.3499984741211', u'nr_hotels': u'31', u'latitude': u'-0.949999988079071'} +error: (1062, "Duplicate entry 'kediri-id' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kediri', u'countrycode': u'id', u'city_id': u'-2682032', u'longitude': u'112.01699829101562', u'nr_hotels': u'8', u'latitude': u'-7.816669940948486'} +error: (1062, "Duplicate entry 'kediri-id' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kediri', u'countrycode': u'id', u'city_id': u'-2682032', u'longitude': u'112.01699829101562', u'nr_hotels': u'8', u'latitude': u'-7.816669940948486'} +error: (1062, "Duplicate entry 'nusa-dua-id' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nusa Dua', u'countrycode': u'id', u'city_id': u'900040039', u'longitude': u'115.22000122070312', u'nr_hotels': u'95', u'latitude': u'-8.800000190734863'} +error: (1062, "Duplicate entry 'nusa-dua-id' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u0443\u0441\u0430-\u0414\u0443\u0430', u'countrycode': u'id', u'city_id': u'900040039', u'longitude': u'115.22000122070312', u'nr_hotels': u'95', u'latitude': u'-8.800000190734863'} +error: (1062, "Duplicate entry 'grange-ie' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grange', u'countrycode': u'ie', u'city_id': u'-1502170', u'longitude': u'-7.301939964294434', u'nr_hotels': u'1', u'latitude': u'52.60279846191406'} +error: (1062, "Duplicate entry 'grange-ie' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grange', u'countrycode': u'ie', u'city_id': u'-1502170', u'longitude': u'-7.301939964294434', u'nr_hotels': u'1', u'latitude': u'52.60279846191406'} +error: (1062, "Duplicate entry 'ballydavid-ie' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ballydavid', u'countrycode': u'ie', u'city_id': u'-1500498', u'longitude': u'-10.365300178527832', u'nr_hotels': u'1', u'latitude': u'52.22079849243164'} +error: (1062, "Duplicate entry 'ballydavid-ie' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ballydavid', u'countrycode': u'ie', u'city_id': u'-1500498', u'longitude': u'-10.365300178527832', u'nr_hotels': u'1', u'latitude': u'52.22079849243164'} +error: (1062, "Duplicate entry 'kells-ie' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kells', u'countrycode': u'ie', u'city_id': u'346557', u'longitude': u'-10.104999542236328', u'nr_hotels': u'1', u'latitude': u'52.01890182495117'} +error: (1062, "Duplicate entry 'kells-ie' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kells', u'countrycode': u'ie', u'city_id': u'346557', u'longitude': u'-10.104999542236328', u'nr_hotels': u'1', u'latitude': u'52.01890182495117'} +error: (1062, "Duplicate entry 'kefar-bin-nun-il' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kefar Bin-Nun', u'countrycode': u'il', u'city_id': u'900052814', u'longitude': u'34.947345', u'nr_hotels': u'1', u'latitude': u'31.863491'} +error: (1062, "Duplicate entry 'kefar-bin-nun-il' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kefar Bin-Nun', u'countrycode': u'il', u'city_id': u'900052814', u'longitude': u'34.947345', u'nr_hotels': u'1', u'latitude': u'31.863491'} +error: (1062, "Duplicate entry 'raipur-in' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Raipur', u'countrycode': u'in', u'city_id': u'-2108614', u'longitude': u'81.63330078125', u'nr_hotels': u'2', u'latitude': u'21.233299255371094'} +error: (1062, "Duplicate entry 'raipur-in' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Raipur', u'countrycode': u'in', u'city_id': u'-2108614', u'longitude': u'81.63330078125', u'nr_hotels': u'2', u'latitude': u'21.233299255371094'} +error: (1062, "Duplicate entry 'chamba-in' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chamba', u'countrycode': u'in', u'city_id': u'900050915', u'longitude': u'78.3946533203125', u'nr_hotels': u'3', u'latitude': u'30.34547996520996'} +error: (1062, "Duplicate entry 'chamba-in' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chamba', u'countrycode': u'in', u'city_id': u'900050915', u'longitude': u'78.3946533203125', u'nr_hotels': u'3', u'latitude': u'30.34547996520996'} +error: (1062, "Duplicate entry 'villanova-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villanova', u'countrycode': u'it', u'city_id': u'-132462', u'longitude': u'12.33329963684082', u'nr_hotels': u'5', u'latitude': u'43'} +error: (1062, "Duplicate entry 'villanova-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villanova', u'countrycode': u'it', u'city_id': u'-132462', u'longitude': u'12.33329963684082', u'nr_hotels': u'5', u'latitude': u'43'} +error: (1062, "Duplicate entry 'vezzano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vezzano', u'countrycode': u'it', u'city_id': u'-132170', u'longitude': u'11', u'nr_hotels': u'1', u'latitude': u'46.08330154418945'} +error: (1062, "Duplicate entry 'vezzano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vezzano', u'countrycode': u'it', u'city_id': u'-132170', u'longitude': u'11', u'nr_hotels': u'1', u'latitude': u'46.08330154418945'} +error: (1062, "Duplicate entry 'torretta-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torretta', u'countrycode': u'it', u'city_id': u'-131074', u'longitude': u'13.283300399780273', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'torretta-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torretta', u'countrycode': u'it', u'city_id': u'-131074', u'longitude': u'13.283300399780273', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'villanova-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villanova', u'countrycode': u'it', u'city_id': u'-132462', u'longitude': u'12.33329963684082', u'nr_hotels': u'5', u'latitude': u'43'} +error: (1062, "Duplicate entry 'villanova-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villanova', u'countrycode': u'it', u'city_id': u'-132462', u'longitude': u'12.33329963684082', u'nr_hotels': u'5', u'latitude': u'43'} +error: (1062, "Duplicate entry 'vezzano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vezzano', u'countrycode': u'it', u'city_id': u'-132170', u'longitude': u'11', u'nr_hotels': u'1', u'latitude': u'46.08330154418945'} +error: (1062, "Duplicate entry 'vezzano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vezzano', u'countrycode': u'it', u'city_id': u'-132170', u'longitude': u'11', u'nr_hotels': u'1', u'latitude': u'46.08330154418945'} +error: (1062, "Duplicate entry 'torretta-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torretta', u'countrycode': u'it', u'city_id': u'-131074', u'longitude': u'13.283300399780273', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'torretta-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torretta', u'countrycode': u'it', u'city_id': u'-131074', u'longitude': u'13.283300399780273', u'nr_hotels': u'1', u'latitude': u'38.11669921875'} +error: (1062, "Duplicate entry 'taverna-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taverna', u'countrycode': u'it', u'city_id': u'-130518', u'longitude': u'16.58329963684082', u'nr_hotels': u'3', u'latitude': u'39.016700744628906'} +error: (1062, "Duplicate entry 'taverna-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Taverna', u'countrycode': u'it', u'city_id': u'-130518', u'longitude': u'16.58329963684082', u'nr_hotels': u'3', u'latitude': u'39.016700744628906'} +error: (1062, "Duplicate entry 'serravalle-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Serravalle', u'countrycode': u'it', u'city_id': u'-129579', u'longitude': u'11.83329963684082', u'nr_hotels': u'1', u'latitude': u'43.766700744628906'} +error: (1062, "Duplicate entry 'serravalle-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Serravalle', u'countrycode': u'it', u'city_id': u'-129579', u'longitude': u'11.83329963684082', u'nr_hotels': u'1', u'latitude': u'43.766700744628906'} +error: (1062, "Duplicate entry 'scopello-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Scopello', u'countrycode': u'it', u'city_id': u'-129301', u'longitude': u'12.816699981689453', u'nr_hotels': u'35', u'latitude': u'38.06669998168945'} +error: (1062, "Duplicate entry 'san-vito-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Vito', u'countrycode': u'it', u'city_id': u'-128924', u'longitude': u'9.536669731140137', u'nr_hotels': u'7', u'latitude': u'39.444698333740234'} +error: (1062, "Duplicate entry 'san-vito-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d-\u0412\u0438\u0442\u043e', u'countrycode': u'it', u'city_id': u'-128924', u'longitude': u'9.536669731140137', u'nr_hotels': u'7', u'latitude': u'39.444698333740234'} +error: (1062, "Duplicate entry 'santo-stefano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santo Stefano', u'countrycode': u'it', u'city_id': u'-128846', u'longitude': u'14.933300018310547', u'nr_hotels': u'2', u'latitude': u'38.16669845581055'} +error: (1062, "Duplicate entry 'santo-stefano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santo Stefano', u'countrycode': u'it', u'city_id': u'-128846', u'longitude': u'14.933300018310547', u'nr_hotels': u'2', u'latitude': u'38.16669845581055'} +error: (1062, "Duplicate entry 'sant-andrea-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u"\u0421\u0430\u043d\u0442'\u0410\u043d\u0434\u0440\u0435\u0430", u'countrycode': u'it', u'city_id': u'-128551', u'longitude': u'10.133299827575684', u'nr_hotels': u'1', u'latitude': u'42.79999923706055'} +error: (1062, "Duplicate entry 'sant-andrea-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0442-\u0410\u043d\u0434\u0440\u0435\u0430', u'countrycode': u'it', u'city_id': u'-128547', u'longitude': u'18.433300018310547', u'nr_hotels': u'1', u'latitude': u'40.25'} +error: (1062, "Duplicate entry 'santa-lucia-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Lucia', u'countrycode': u'it', u'city_id': u'-128411', u'longitude': u'9.783329963684082', u'nr_hotels': u'2', u'latitude': u'40.58330154418945'} +error: (1062, "Duplicate entry 'santa-lucia-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Lucia', u'countrycode': u'it', u'city_id': u'-128411', u'longitude': u'9.783329963684082', u'nr_hotels': u'2', u'latitude': u'40.58330154418945'} +error: (1062, "Duplicate entry 'santa-caterina-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Caterina', u'countrycode': u'it', u'city_id': u'-128299', u'longitude': u'8.483329772949219', u'nr_hotels': u'5', u'latitude': u'40.099998474121094'} +error: (1062, "Duplicate entry 'san-pietro-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Pietro', u'countrycode': u'it', u'city_id': u'-128111', u'longitude': u'11.91670036315918', u'nr_hotels': u'0', u'latitude': u'42.849998474121094'} +error: (1062, "Duplicate entry 'san-pietro-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Pietro', u'countrycode': u'it', u'city_id': u'-128111', u'longitude': u'11.91670036315918', u'nr_hotels': u'0', u'latitude': u'42.849998474121094'} +error: (1062, "Duplicate entry 'san-martino-in-colle-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Martino in Colle', u'countrycode': u'it', u'city_id': u'-127925', u'longitude': u'12.366700172424316', u'nr_hotels': u'3', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'san-martino-in-colle-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Martino in Colle', u'countrycode': u'it', u'city_id': u'-127925', u'longitude': u'12.366700172424316', u'nr_hotels': u'3', u'latitude': u'43.03329849243164'} +error: (1062, "Duplicate entry 'san-martino-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Martino', u'countrycode': u'it', u'city_id': u'-127889', u'longitude': u'11.586799621582031', u'nr_hotels': u'1', u'latitude': u'44.777198791503906'} +error: (1062, "Duplicate entry 'san-martino-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d-\u041c\u0430\u0440\u0442\u0438\u043d\u043e', u'countrycode': u'it', u'city_id': u'-127889', u'longitude': u'11.586799621582031', u'nr_hotels': u'1', u'latitude': u'44.777198791503906'} +error: (1062, "Duplicate entry 'san-giovanni-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Giovanni', u'countrycode': u'it', u'city_id': u'-127612', u'longitude': u'7.266670227050781', u'nr_hotels': u'1', u'latitude': u'44.20000076293945'} +error: (1062, "Duplicate entry 'san-giovanni-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Giovanni', u'countrycode': u'it', u'city_id': u'-127612', u'longitude': u'7.266670227050781', u'nr_hotels': u'1', u'latitude': u'44.20000076293945'} +error: (1062, "Duplicate entry 'san-giorgio-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Giorgio', u'countrycode': u'it', u'city_id': u'-127564', u'longitude': u'14.933300018310547', u'nr_hotels': u'10', u'latitude': u'38.16669845581055'} +error: (1062, "Duplicate entry 'san-giacomo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Giacomo', u'countrycode': u'it', u'city_id': u'-127543', u'longitude': u'11.76669979095459', u'nr_hotels': u'1', u'latitude': u'45.766700744628906'} +error: (1062, "Duplicate entry 'san-giacomo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Giacomo', u'countrycode': u'it', u'city_id': u'-127543', u'longitude': u'11.76669979095459', u'nr_hotels': u'1', u'latitude': u'45.766700744628906'} +error: (1062, "Duplicate entry 'san-donato-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Donato', u'countrycode': u'it', u'city_id': u'-127432', u'longitude': u'13', u'nr_hotels': u'2', u'latitude': u'41.38330078125'} +error: (1062, "Duplicate entry 'san-donato-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d-\u0414\u043e\u043d\u0430\u0442\u043e', u'countrycode': u'it', u'city_id': u'-127432', u'longitude': u'13', u'nr_hotels': u'2', u'latitude': u'41.38330078125'} +error: (1062, "Duplicate entry 'san-cataldo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Cataldo', u'countrycode': u'it', u'city_id': u'-127355', u'longitude': u'13.98330020904541', u'nr_hotels': u'2', u'latitude': u'37.483299255371094'} +error: (1062, "Duplicate entry 'san-cataldo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Cataldo', u'countrycode': u'it', u'city_id': u'-127355', u'longitude': u'13.98330020904541', u'nr_hotels': u'2', u'latitude': u'37.483299255371094'} +error: (1062, "Duplicate entry 'porchia-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Porchia', u'countrycode': u'it', u'city_id': u'-125461', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'42.983299255371094'} +error: (1062, "Duplicate entry 'porchia-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Porchia', u'countrycode': u'it', u'city_id': u'-125461', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'42.983299255371094'} +error: (1062, "Duplicate entry 'stradella-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stradella', u'countrycode': u'it', u'city_id': u'-125404', u'longitude': u'10.216699600219727', u'nr_hotels': u'0', u'latitude': u'44.83330154418945'} +error: (1062, "Duplicate entry 'stradella-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stradella', u'countrycode': u'it', u'city_id': u'-125404', u'longitude': u'10.216699600219727', u'nr_hotels': u'0', u'latitude': u'44.83330154418945'} +error: (1062, "Duplicate entry 'ponte-san-pietro-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ponte San Pietro', u'countrycode': u'it', u'city_id': u'-125398', u'longitude': u'10.449999809265137', u'nr_hotels': u'1', u'latitude': u'43.86669921875'} +error: (1062, "Duplicate entry 'ponte-san-pietro-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ponte San Pietro', u'countrycode': u'it', u'city_id': u'-125398', u'longitude': u'10.449999809265137', u'nr_hotels': u'1', u'latitude': u'43.86669921875'} +error: (1062, "Duplicate entry 'pianello-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pianello', u'countrycode': u'it', u'city_id': u'-124545', u'longitude': u'12.533300399780273', u'nr_hotels': u'3', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'pianello-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pianello', u'countrycode': u'it', u'city_id': u'-124545', u'longitude': u'12.533300399780273', u'nr_hotels': u'3', u'latitude': u'43.13330078125'} +error: (1062, "Duplicate entry 'pianella-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pianella', u'countrycode': u'it', u'city_id': u'-124540', u'longitude': u'14.033300399780273', u'nr_hotels': u'2', u'latitude': u'42.400001525878906'} +error: (1062, "Duplicate entry 'pianella-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pianella', u'countrycode': u'it', u'city_id': u'-124540', u'longitude': u'14.033300399780273', u'nr_hotels': u'2', u'latitude': u'42.400001525878906'} +error: (1062, "Duplicate entry 'palazzina-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Palazzina', u'countrycode': u'it', u'city_id': u'-123750', u'longitude': u'11.350000381469727', u'nr_hotels': u'1', u'latitude': u'43.18330001831055'} +error: (1062, "Duplicate entry 'palazzina-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Palazzina', u'countrycode': u'it', u'city_id': u'-123750', u'longitude': u'11.350000381469727', u'nr_hotels': u'1', u'latitude': u'43.18330001831055'} +error: (1062, "Duplicate entry 'mugnano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mugnano', u'countrycode': u'it', u'city_id': u'-122807', u'longitude': u'12.283300399780273', u'nr_hotels': u'1', u'latitude': u'42.5'} +error: (1062, "Duplicate entry 'mugnano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mugnano', u'countrycode': u'it', u'city_id': u'-122807', u'longitude': u'12.283300399780273', u'nr_hotels': u'1', u'latitude': u'42.5'} +error: (1062, "Duplicate entry 'montone-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montone', u'countrycode': u'it', u'city_id': u'-122605', u'longitude': u'13.91670036315918', u'nr_hotels': u'1', u'latitude': u'42.766700744628906'} +error: (1062, "Duplicate entry 'montone-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montone', u'countrycode': u'it', u'city_id': u'-122605', u'longitude': u'13.91670036315918', u'nr_hotels': u'1', u'latitude': u'42.766700744628906'} +error: (1062, "Duplicate entry 'monterotondo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monterotondo', u'countrycode': u'it', u'city_id': u'-122486', u'longitude': u'12.616700172424316', u'nr_hotels': u'9', u'latitude': u'42.04999923706055'} +error: (1062, "Duplicate entry 'monterotondo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u043e\u043d\u0442\u0435\u0440\u043e\u0442\u043e\u043d\u0434\u043e', u'countrycode': u'it', u'city_id': u'-122486', u'longitude': u'12.616700172424316', u'nr_hotels': u'9', u'latitude': u'42.04999923706055'} +error: (1062, "Duplicate entry 'montepul-chano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u043e\u043d\u0442\u0435\u043f\u0443\u043b\u044c\u0447\u0430\u043d\u043e', u'countrycode': u'it', u'city_id': u'-122458', u'longitude': u'11.781000137329102', u'nr_hotels': u'69', u'latitude': u'43.09170150756836'} +error: (1062, "Duplicate entry 'montenero-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montenero', u'countrycode': u'it', u'city_id': u'-122426', u'longitude': u'11.466699600219727', u'nr_hotels': u'4', u'latitude': u'42.95000076293945'} +error: (1062, "Duplicate entry 'montenero-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montenero', u'countrycode': u'it', u'city_id': u'-122426', u'longitude': u'11.466699600219727', u'nr_hotels': u'4', u'latitude': u'42.95000076293945'} +error: (1062, "Duplicate entry 'montenero-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montenero', u'countrycode': u'it', u'city_id': u'-122425', u'longitude': u'12.433300018310547', u'nr_hotels': u'5', u'latitude': u'42.71670150756836'} +error: (1062, "Duplicate entry 'montenero-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montenero', u'countrycode': u'it', u'city_id': u'-122425', u'longitude': u'12.433300018310547', u'nr_hotels': u'5', u'latitude': u'42.71670150756836'} +error: (1062, "Duplicate entry 'montecchio-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montecchio', u'countrycode': u'it', u'city_id': u'-122257', u'longitude': u'12.283300399780273', u'nr_hotels': u'13', u'latitude': u'42.66669845581055'} +error: (1062, "Duplicate entry 'migliarino-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Migliarino', u'countrycode': u'it', u'city_id': u'-121710', u'longitude': u'10.316699981689453', u'nr_hotels': u'5', u'latitude': u'43.766700744628906'} +error: (1062, "Duplicate entry 'massignano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Massignano', u'countrycode': u'it', u'city_id': u'-121362', u'longitude': u'13.783300399780273', u'nr_hotels': u'4', u'latitude': u'43.04999923706055'} +error: (1062, "Duplicate entry 'massignano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Massignano', u'countrycode': u'it', u'city_id': u'-121362', u'longitude': u'13.783300399780273', u'nr_hotels': u'4', u'latitude': u'43.04999923706055'} +error: (1062, "Duplicate entry 'massa-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Massa', u'countrycode': u'it', u'city_id': u'-121299', u'longitude': u'10.75', u'nr_hotels': u'2', u'latitude': u'43.900001525878906'} +error: (1062, "Duplicate entry 'massa-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u0441\u0441\u0430', u'countrycode': u'it', u'city_id': u'-121299', u'longitude': u'10.75', u'nr_hotels': u'2', u'latitude': u'43.900001525878906'} +error: (1062, "Duplicate entry 'massa-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Massa', u'countrycode': u'it', u'city_id': u'-121298', u'longitude': u'10.137700080871582', u'nr_hotels': u'25', u'latitude': u'43.99089813232422'} +error: (1062, "Duplicate entry 'massa-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Massa', u'countrycode': u'it', u'city_id': u'-121298', u'longitude': u'10.137700080871582', u'nr_hotels': u'25', u'latitude': u'43.99089813232422'} +error: (1062, "Duplicate entry 'magliano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Magliano', u'countrycode': u'it', u'city_id': u'-120703', u'longitude': u'18.049999237060547', u'nr_hotels': u'1', u'latitude': u'40.33330154418945'} +error: (1062, "Duplicate entry 'magliano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Magliano', u'countrycode': u'it', u'city_id': u'-120703', u'longitude': u'18.049999237060547', u'nr_hotels': u'1', u'latitude': u'40.33330154418945'} +error: (1062, "Duplicate entry 'lama-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lama', u'countrycode': u'it', u'city_id': u'-119599', u'longitude': u'11.25', u'nr_hotels': u'3', u'latitude': u'43.099998474121094'} +error: (1062, "Duplicate entry 'lama-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lama', u'countrycode': u'it', u'city_id': u'-119599', u'longitude': u'11.25', u'nr_hotels': u'3', u'latitude': u'43.099998474121094'} +error: (1062, "Duplicate entry 'fiano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fiano', u'countrycode': u'it', u'city_id': u'-117436', u'longitude': u'11.116700172424316', u'nr_hotels': u'10', u'latitude': u'43.58330154418945'} +error: (1062, "Duplicate entry 'corbara-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Corbara', u'countrycode': u'it', u'city_id': u'-116176', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'40.71670150756836'} +error: (1062, "Duplicate entry 'corbara-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Corbara', u'countrycode': u'it', u'city_id': u'-116176', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'40.71670150756836'} +error: (1062, "Duplicate entry 'sestriere-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sestriere', u'countrycode': u'it', u'city_id': u'-115931', u'longitude': u'6.88332986831665', u'nr_hotels': u'0', u'latitude': u'44.95000076293945'} +error: (1062, "Duplicate entry 'sestriere-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sestriere', u'countrycode': u'it', u'city_id': u'-115931', u'longitude': u'6.88332986831665', u'nr_hotels': u'0', u'latitude': u'44.95000076293945'} +error: (1062, "Duplicate entry 'collepietra-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Collepietra', u'countrycode': u'it', u'city_id': u'-115909', u'longitude': u'13.850000381469727', u'nr_hotels': u'1', u'latitude': u'42.733299255371094'} +error: (1062, "Duplicate entry 'collepietra-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Collepietra', u'countrycode': u'it', u'city_id': u'-115909', u'longitude': u'13.850000381469727', u'nr_hotels': u'1', u'latitude': u'42.733299255371094'} +error: (1062, "Duplicate entry 'cecina-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cecina', u'countrycode': u'it', u'city_id': u'-114942', u'longitude': u'10.51669979095459', u'nr_hotels': u'16', u'latitude': u'43.31669998168945'} +error: (1062, "Duplicate entry 'cecina-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cecina', u'countrycode': u'it', u'city_id': u'-114942', u'longitude': u'10.51669979095459', u'nr_hotels': u'16', u'latitude': u'43.31669998168945'} +error: (1062, "Duplicate entry 'castelnuovo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castelnuovo', u'countrycode': u'it', u'city_id': u'-114596', u'longitude': u'8.283329963684082', u'nr_hotels': u'4', u'latitude': u'44.78329849243164'} +error: (1062, "Duplicate entry 'castelnuovo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Castelnuovo', u'countrycode': u'it', u'city_id': u'-114596', u'longitude': u'8.283329963684082', u'nr_hotels': u'4', u'latitude': u'44.78329849243164'} +error: (1062, "Duplicate entry 'castellaro-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castellaro', u'countrycode': u'it', u'city_id': u'-114480', u'longitude': u'7.86667013168335', u'nr_hotels': u'1', u'latitude': u'43.86669921875'} +error: (1062, "Duplicate entry 'castel-del-piano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castel del Piano', u'countrycode': u'it', u'city_id': u'-114403', u'longitude': u'11.533300399780273', u'nr_hotels': u'12', u'latitude': u'42.88330078125'} +error: (1062, "Duplicate entry 'caprile-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Caprile', u'countrycode': u'it', u'city_id': u'-113228', u'longitude': u'12.116700172424316', u'nr_hotels': u'1', u'latitude': u'43.71670150756836'} +error: (1062, "Duplicate entry 'caprile-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Caprile', u'countrycode': u'it', u'city_id': u'-113228', u'longitude': u'12.116700172424316', u'nr_hotels': u'1', u'latitude': u'43.71670150756836'} +error: (1062, "Duplicate entry 'canonica-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canonica', u'countrycode': u'it', u'city_id': u'-113026', u'longitude': u'12.050000190734863', u'nr_hotels': u'3', u'latitude': u'42.70000076293945'} +error: (1062, "Duplicate entry 'canonica-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canonica', u'countrycode': u'it', u'city_id': u'-113026', u'longitude': u'12.050000190734863', u'nr_hotels': u'3', u'latitude': u'42.70000076293945'} +error: (1062, "Duplicate entry 'canneto-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canneto', u'countrycode': u'it', u'city_id': u'-113007', u'longitude': u'12.73330020904541', u'nr_hotels': u'2', u'latitude': u'42.18330001831055'} +error: (1062, "Duplicate entry 'canneto-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canneto', u'countrycode': u'it', u'city_id': u'-113006', u'longitude': u'14.961700439453125', u'nr_hotels': u'9', u'latitude': u'38.49420166015625'} +error: (1062, "Duplicate entry 'kanneto-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043d\u043d\u0435\u0442\u043e', u'countrycode': u'it', u'city_id': u'-113006', u'longitude': u'14.961700439453125', u'nr_hotels': u'9', u'latitude': u'38.49420166015625'} +error: (1062, "Duplicate entry 'kalliano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043b\u043b\u0438\u0430\u043d\u043e', u'countrycode': u'it', u'city_id': u'-112577', u'longitude': u'8.25', u'nr_hotels': u'1', u'latitude': u'45'} +error: (1062, "Duplicate entry 'bagnaia-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bagnaia', u'countrycode': u'it', u'city_id': u'-111034', u'longitude': u'12.149999618530273', u'nr_hotels': u'2', u'latitude': u'42.41669845581055'} +error: (1062, "Duplicate entry 'bagnaia-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bagnaia', u'countrycode': u'it', u'city_id': u'-111034', u'longitude': u'12.149999618530273', u'nr_hotels': u'2', u'latitude': u'42.41669845581055'} +error: (1062, "Duplicate entry 'villagrande-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villagrande', u'countrycode': u'it', u'city_id': u'100514', u'longitude': u'12.01669979095459', u'nr_hotels': u'0', u'latitude': u'46.4463996887207'} +error: (1062, "Duplicate entry 'villagrande-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villagrande', u'countrycode': u'it', u'city_id': u'100514', u'longitude': u'12.01669979095459', u'nr_hotels': u'0', u'latitude': u'46.4463996887207'} +error: (1062, "Duplicate entry 'marinella-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marinella', u'countrycode': u'it', u'city_id': u'900039821', u'longitude': u'9.55840015411377', u'nr_hotels': u'9', u'latitude': u'41.00210189819336'} +error: (1062, "Duplicate entry 'marinella-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u0440\u0438\u043d\u0435\u043b\u043b\u0430', u'countrycode': u'it', u'city_id': u'900039821', u'longitude': u'9.55840015411377', u'nr_hotels': u'9', u'latitude': u'41.00210189819336'} +error: (1062, "Duplicate entry 'corvara-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Corvara', u'countrycode': u'it', u'city_id': u'900048164', u'longitude': u'9.733189582824707', u'nr_hotels': u'2', u'latitude': u'44.171600341796875'} +error: (1062, "Duplicate entry 'appiano-sulla-strada-del-vino-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Appiano Sulla Strada Del Vino', u'countrycode': u'it', u'city_id': u'900048229', u'longitude': u'11.258999824523926', u'nr_hotels': u'0', u'latitude': u'46.455501556396484'} +error: (1062, "Duplicate entry 'appiano-sulla-strada-del-vino-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Appiano Sulla Strada Del Vino', u'countrycode': u'it', u'city_id': u'900048229', u'longitude': u'11.258999824523926', u'nr_hotels': u'0', u'latitude': u'46.455501556396484'} +error: (1062, "Duplicate entry 'montalbano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montalbano', u'countrycode': u'it', u'city_id': u'900048637', u'longitude': u'17.479000091552734', u'nr_hotels': u'4', u'latitude': u'40.775001525878906'} +error: (1062, "Duplicate entry 'montalbano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montalbano', u'countrycode': u'it', u'city_id': u'900048637', u'longitude': u'17.479000091552734', u'nr_hotels': u'4', u'latitude': u'40.775001525878906'} +error: (1062, "Duplicate entry 'montafia-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montafia', u'countrycode': u'it', u'city_id': u'900048644', u'longitude': u'8.02299976348877', u'nr_hotels': u'4', u'latitude': u'44.98899841308594'} +error: (1062, "Duplicate entry 'montafia-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montafia', u'countrycode': u'it', u'city_id': u'900048644', u'longitude': u'8.02299976348877', u'nr_hotels': u'4', u'latitude': u'44.98899841308594'} +error: (1062, "Duplicate entry 'corsano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Corsano', u'countrycode': u'it', u'city_id': u'900048680', u'longitude': u'11.329999923706055', u'nr_hotels': u'12', u'latitude': u'43.220001220703125'} +error: (1062, "Duplicate entry 'magnano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Magnano', u'countrycode': u'it', u'city_id': u'900048685', u'longitude': u'8.001999855041504', u'nr_hotels': u'4', u'latitude': u'45.4630012512207'} +error: (1062, "Duplicate entry 'magnano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Magnano', u'countrycode': u'it', u'city_id': u'900048685', u'longitude': u'8.001999855041504', u'nr_hotels': u'4', u'latitude': u'45.4630012512207'} +error: (1062, "Duplicate entry 'castel-del-monte-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castel del Monte', u'countrycode': u'it', u'city_id': u'900048731', u'longitude': u'16.27400016784668', u'nr_hotels': u'3', u'latitude': u'41.07400131225586'} +error: (1062, "Duplicate entry 'castel-del-monte-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Castel del Monte', u'countrycode': u'it', u'city_id': u'900048731', u'longitude': u'16.27400016784668', u'nr_hotels': u'3', u'latitude': u'41.07400131225586'} +error: (1062, "Duplicate entry 'milo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milo', u'countrycode': u'it', u'city_id': u'900049252', u'longitude': u'12.581000328063965', u'nr_hotels': u'3', u'latitude': u'38.01300048828125'} +error: (1062, "Duplicate entry 'milo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milo', u'countrycode': u'it', u'city_id': u'900049252', u'longitude': u'12.581000328063965', u'nr_hotels': u'3', u'latitude': u'38.01300048828125'} +error: (1062, "Duplicate entry 'santa-lucia-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Lucia', u'countrycode': u'it', u'city_id': u'900050206', u'longitude': u'10.272000312805176', u'nr_hotels': u'12', u'latitude': u'43.941001892089844'} +error: (1062, "Duplicate entry 'santa-lucia-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Lucia', u'countrycode': u'it', u'city_id': u'900050206', u'longitude': u'10.272000312805176', u'nr_hotels': u'12', u'latitude': u'43.941001892089844'} +error: (1062, "Duplicate entry 'cona-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cona', u'countrycode': u'it', u'city_id': u'900050244', u'longitude': u'11.712055206298828', u'nr_hotels': u'6', u'latitude': u'44.80522537231445'} +error: (1062, "Duplicate entry 'cona-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cona', u'countrycode': u'it', u'city_id': u'900050244', u'longitude': u'11.712055206298828', u'nr_hotels': u'6', u'latitude': u'44.80522537231445'} +error: (1062, "Duplicate entry 'montebello-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montebello', u'countrycode': u'it', u'city_id': u'900050795', u'longitude': u'11.803000450134277', u'nr_hotels': u'4', u'latitude': u'42.332801818847656'} +error: (1062, "Duplicate entry 'montebello-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montebello', u'countrycode': u'it', u'city_id': u'900050795', u'longitude': u'11.803000450134277', u'nr_hotels': u'4', u'latitude': u'42.332801818847656'} +error: (1062, "Duplicate entry 'valiano-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Valiano ', u'countrycode': u'it', u'city_id': u'900051271', u'longitude': u'11.32638168334961', u'nr_hotels': u'1', u'latitude': u'43.37345504760742'} +error: (1062, "Duplicate entry 'valiano-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Valiano ', u'countrycode': u'it', u'city_id': u'900051271', u'longitude': u'11.32638168334961', u'nr_hotels': u'1', u'latitude': u'43.37345504760742'} +error: (1062, "Duplicate entry 'san-quirico-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Quirico', u'countrycode': u'it', u'city_id': u'900051341', u'longitude': u'10.691166877746582', u'nr_hotels': u'8', u'latitude': u'43.97003936767578'} +error: (1062, "Duplicate entry 'san-quirico-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Quirico', u'countrycode': u'it', u'city_id': u'900051341', u'longitude': u'10.691166877746582', u'nr_hotels': u'8', u'latitude': u'43.97003936767578'} +error: (1062, "Duplicate entry 'san-giacomo-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Giacomo', u'countrycode': u'it', u'city_id': u'900051950', u'longitude': u'13.571992874145508', u'nr_hotels': u'1', u'latitude': u'42.8001594543457'} +error: (1062, "Duplicate entry 'san-giacomo-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Giacomo', u'countrycode': u'it', u'city_id': u'900051950', u'longitude': u'13.571992874145508', u'nr_hotels': u'1', u'latitude': u'42.8001594543457'} +error: (1062, "Duplicate entry 'villastrada-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Villastrada', u'countrycode': u'it', u'city_id': u'900052174', u'longitude': u'12.01099967956543', u'nr_hotels': u'16', u'latitude': u'43.04800033569336'} +error: (1062, "Duplicate entry 'villastrada-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Villastrada', u'countrycode': u'it', u'city_id': u'900052174', u'longitude': u'12.01099967956543', u'nr_hotels': u'16', u'latitude': u'43.04800033569336'} +error: (1062, "Duplicate entry 'santa-caterina-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Caterina', u'countrycode': u'it', u'city_id': u'900052194', u'longitude': u'11.915095329284668', u'nr_hotels': u'8', u'latitude': u'43.27960968017578'} +error: (1062, "Duplicate entry 'santa-caterina-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Caterina', u'countrycode': u'it', u'city_id': u'900052194', u'longitude': u'11.915095329284668', u'nr_hotels': u'8', u'latitude': u'43.27960968017578'} +error: (1062, "Duplicate entry 'san-pietro-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Pietro', u'countrycode': u'it', u'city_id': u'900052376', u'longitude': u'14.427000045776367', u'nr_hotels': u'10', u'latitude': u'40.617000579833984'} +error: (1062, "Duplicate entry 'san-pietro-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Pietro', u'countrycode': u'it', u'city_id': u'900052376', u'longitude': u'14.427000045776367', u'nr_hotels': u'10', u'latitude': u'40.617000579833984'} +error: (1062, "Duplicate entry 'ellera-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ellera', u'countrycode': u'it', u'city_id': u'900052595', u'longitude': u'11.374919', u'nr_hotels': u'1', u'latitude': u'43.785223'} +error: (1062, "Duplicate entry 'ellera-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ellera', u'countrycode': u'it', u'city_id': u'900052595', u'longitude': u'11.374919', u'nr_hotels': u'1', u'latitude': u'43.785223'} +error: (1062, "Duplicate entry 'trapani-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trapani', u'countrycode': u'it', u'city_id': u'900052784', u'longitude': u'12.54354', u'nr_hotels': u'1', u'latitude': u'38.034774'} +error: (1062, "Duplicate entry 'trapani-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trapani', u'countrycode': u'it', u'city_id': u'900052784', u'longitude': u'12.54354', u'nr_hotels': u'1', u'latitude': u'38.034774'} +error: (1062, "Duplicate entry 'albareto-it' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albareto', u'countrycode': u'it', u'city_id': u'900052829', u'longitude': u'10.969271', u'nr_hotels': u'1', u'latitude': u'44.69249'} +error: (1062, "Duplicate entry 'albareto-it' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Albareto', u'countrycode': u'it', u'city_id': u'900052829', u'longitude': u'10.969271', u'nr_hotels': u'1', u'latitude': u'44.69249'} +error: (1062, "Duplicate entry 'tsukuba-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tsukuba', u'countrycode': u'jp', u'city_id': u'-246896', u'longitude': u'140.10000610351562', u'nr_hotels': u'1', u'latitude': u'36.20000076293945'} +error: (1062, "Duplicate entry 'tsukuba-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0426\u0443\u043a\u0443\u0431\u0430', u'countrycode': u'jp', u'city_id': u'-246896', u'longitude': u'140.10000610351562', u'nr_hotels': u'1', u'latitude': u'36.20000076293945'} +error: (1062, "Duplicate entry 'shimoda-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shimoda', u'countrycode': u'jp', u'city_id': u'-243222', u'longitude': u'138.9499969482422', u'nr_hotels': u'20', u'latitude': u'34.66669845581055'} +error: (1062, "Duplicate entry 'kusatsu-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kusatsu', u'countrycode': u'jp', u'city_id': u'-235206', u'longitude': u'135.9669952392578', u'nr_hotels': u'7', u'latitude': u'35.016700744628906'} +error: (1062, "Duplicate entry 'kusatsu-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0443\u0441\u0430\u0446\u0443', u'countrycode': u'jp', u'city_id': u'-235206', u'longitude': u'135.9669952392578', u'nr_hotels': u'7', u'latitude': u'35.016700744628906'} +error: (1062, "Duplicate entry 'kawasaki-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kawasaki', u'countrycode': u'jp', u'city_id': u'-233143', u'longitude': u'139.7169952392578', u'nr_hotels': u'11', u'latitude': u'35.520599365234375'} +error: (1062, "Duplicate entry 'kawasaki-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kawasaki', u'countrycode': u'jp', u'city_id': u'-233139', u'longitude': u'131.7830047607422', u'nr_hotels': u'0', u'latitude': u'34.06669998168945'} +error: (1062, "Duplicate entry 'kawasaki-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kawasaki', u'countrycode': u'jp', u'city_id': u'-233139', u'longitude': u'131.7830047607422', u'nr_hotels': u'0', u'latitude': u'34.06669998168945'} +error: (1062, "Duplicate entry 'iwakura-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Iwakura', u'countrycode': u'jp', u'city_id': u'-231026', u'longitude': u'135.7830047607422', u'nr_hotels': u'0', u'latitude': u'35.08330154418945'} +error: (1062, "Duplicate entry 'iwakura-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Iwakura', u'countrycode': u'jp', u'city_id': u'-231026', u'longitude': u'135.7830047607422', u'nr_hotels': u'0', u'latitude': u'35.08330154418945'} +error: (1062, "Duplicate entry 'toda-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Toda', u'countrycode': u'jp', u'city_id': u'443108', u'longitude': u'139.6929931640625', u'nr_hotels': u'1', u'latitude': u'35.80939865112305'} +error: (1062, "Duplicate entry 'toda-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Toda', u'countrycode': u'jp', u'city_id': u'443108', u'longitude': u'139.6929931640625', u'nr_hotels': u'1', u'latitude': u'35.80939865112305'} +error: (1062, "Duplicate entry 'oshima-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oshima', u'countrycode': u'jp', u'city_id': u'900048384', u'longitude': u'139.3780059814453', u'nr_hotels': u'5', u'latitude': u'34.74549865722656'} +error: (1062, "Duplicate entry 'oshima-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oshima', u'countrycode': u'jp', u'city_id': u'900048384', u'longitude': u'139.3780059814453', u'nr_hotels': u'5', u'latitude': u'34.74549865722656'} +error: (1062, "Duplicate entry 'daisen-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Daisen', u'countrycode': u'jp', u'city_id': u'900050342', u'longitude': u'140.47586059570312', u'nr_hotels': u'2', u'latitude': u'39.45314407348633'} +error: (1062, "Duplicate entry 'daisen-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Daisen', u'countrycode': u'jp', u'city_id': u'900050342', u'longitude': u'140.47586059570312', u'nr_hotels': u'2', u'latitude': u'39.45314407348633'} +error: (1062, "Duplicate entry 'kawagoe-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kawagoe', u'countrycode': u'jp', u'city_id': u'900050371', u'longitude': u'136.6739044189453', u'nr_hotels': u'1', u'latitude': u'35.02301788330078'} +error: (1062, "Duplicate entry 'kawagoe-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kawagoe', u'countrycode': u'jp', u'city_id': u'900050371', u'longitude': u'136.6739044189453', u'nr_hotels': u'1', u'latitude': u'35.02301788330078'} +error: (1062, "Duplicate entry 'sakai-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sakai', u'countrycode': u'jp', u'city_id': u'900050509', u'longitude': u'136.2317352294922', u'nr_hotels': u'2', u'latitude': u'36.166351318359375'} +error: (1062, "Duplicate entry 'sakai-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sakai', u'countrycode': u'jp', u'city_id': u'900050509', u'longitude': u'136.2317352294922', u'nr_hotels': u'2', u'latitude': u'36.166351318359375'} +error: (1062, "Duplicate entry 'towada-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Towada', u'countrycode': u'jp', u'city_id': u'900051875', u'longitude': u'140.89683532714844', u'nr_hotels': u'3', u'latitude': u'40.42699432373047'} +error: (1062, "Duplicate entry 'towada-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Towada', u'countrycode': u'jp', u'city_id': u'900051875', u'longitude': u'140.89683532714844', u'nr_hotels': u'3', u'latitude': u'40.42699432373047'} +error: (1062, "Duplicate entry 'setouchi-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Setouchi', u'countrycode': u'jp', u'city_id': u'900051905', u'longitude': u'129.31556701660156', u'nr_hotels': u'1', u'latitude': u'28.150510787963867'} +error: (1062, "Duplicate entry 'setouchi-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Setouchi', u'countrycode': u'jp', u'city_id': u'900051905', u'longitude': u'129.31556701660156', u'nr_hotels': u'1', u'latitude': u'28.150510787963867'} +error: (1062, "Duplicate entry 'nishikawa-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nishikawa', u'countrycode': u'jp', u'city_id': u'900052370', u'longitude': u'140.14695739746094', u'nr_hotels': u'3', u'latitude': u'38.42767333984375'} +error: (1062, "Duplicate entry 'nishikawa-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nishikawa', u'countrycode': u'jp', u'city_id': u'900052370', u'longitude': u'140.14695739746094', u'nr_hotels': u'3', u'latitude': u'38.42767333984375'} +error: (1062, "Duplicate entry 'shirakawa-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shirakawa', u'countrycode': u'jp', u'city_id': u'900052395', u'longitude': u'140.3056640625', u'nr_hotels': u'2', u'latitude': u'37.05472183227539'} +error: (1062, "Duplicate entry 'shirakawa-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shirakawa', u'countrycode': u'jp', u'city_id': u'900052395', u'longitude': u'140.3056640625', u'nr_hotels': u'2', u'latitude': u'37.05472183227539'} +error: (1062, "Duplicate entry 'mimasaka-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mimasaka', u'countrycode': u'jp', u'city_id': u'900052473', u'longitude': u'134.14913940429688', u'nr_hotels': u'2', u'latitude': u'35.008636474609375'} +error: (1062, "Duplicate entry 'mimasaka-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mimasaka', u'countrycode': u'jp', u'city_id': u'900052473', u'longitude': u'134.14913940429688', u'nr_hotels': u'2', u'latitude': u'35.008636474609375'} +error: (1062, "Duplicate entry 'yachiyo-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Yachiyo', u'countrycode': u'jp', u'city_id': u'900052747', u'longitude': u'140.102014', u'nr_hotels': u'1', u'latitude': u'35.719461'} +error: (1062, "Duplicate entry 'yachiyo-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Yachiyo', u'countrycode': u'jp', u'city_id': u'900052747', u'longitude': u'140.102014', u'nr_hotels': u'1', u'latitude': u'35.719461'} +error: (1062, "Duplicate entry 'takayama-jp' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Takayama', u'countrycode': u'jp', u'city_id': u'900052766', u'longitude': u'138.364935', u'nr_hotels': u'1', u'latitude': u'36.677986'} +error: (1062, "Duplicate entry 'takayama-jp' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Takayama', u'countrycode': u'jp', u'city_id': u'900052766', u'longitude': u'138.364935', u'nr_hotels': u'1', u'latitude': u'36.677986'} +error: (1062, "Duplicate entry 'ol-kokwe-ke' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ol Kokwe', u'countrycode': u'ke', u'city_id': u'900052526', u'longitude': u'36.07500076293945', u'nr_hotels': u'1', u'latitude': u'0.6200000047683716'} +error: (1062, "Duplicate entry 'ol-kokwe-ke' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ol Kokwe', u'countrycode': u'ke', u'city_id': u'900052526', u'longitude': u'36.07500076293945', u'nr_hotels': u'1', u'latitude': u'0.6200000047683716'} +error: (1062, "Duplicate entry 'seongnam-kr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seongnam', u'countrycode': u'kr', u'city_id': u'900050660', u'longitude': u'127.12710571289062', u'nr_hotels': u'0', u'latitude': u'37.4342041015625'} +error: (1062, "Duplicate entry 'seongnam-kr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seongnam', u'countrycode': u'kr', u'city_id': u'900050660', u'longitude': u'127.12710571289062', u'nr_hotels': u'0', u'latitude': u'37.4342041015625'} +error: (1062, "Duplicate entry 'medawachchiya-lk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Medawachchiya', u'countrycode': u'lk', u'city_id': u'-2228368', u'longitude': u'80.33329772949219', u'nr_hotels': u'0', u'latitude': u'8.366669654846191'} +error: (1062, "Duplicate entry 'medawachchiya-lk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Medawachchiya', u'countrycode': u'lk', u'city_id': u'-2228368', u'longitude': u'80.33329772949219', u'nr_hotels': u'0', u'latitude': u'8.366669654846191'} +error: (1062, "Duplicate entry 'digana-lk' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Digana', u'countrycode': u'lk', u'city_id': u'-2215804', u'longitude': u'80.72859954833984', u'nr_hotels': u'3', u'latitude': u'7.292220115661621'} +error: (1062, "Duplicate entry 'digana-lk' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Digana', u'countrycode': u'lk', u'city_id': u'-2215804', u'longitude': u'80.72859954833984', u'nr_hotels': u'3', u'latitude': u'7.292220115661621'} +error: (1062, "Duplicate entry 'garkalne-lv' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Garkalne', u'countrycode': u'lv', u'city_id': u'-3208429', u'longitude': u'24.42329978942871', u'nr_hotels': u'1', u'latitude': u'57.07109832763672'} +error: (1062, "Duplicate entry 'garkalne-lv' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0413\u0430\u0440\u043a\u0430\u043b\u043d\u0435', u'countrycode': u'lv', u'city_id': u'-3208429', u'longitude': u'24.42329978942871', u'nr_hotels': u'1', u'latitude': u'57.07109832763672'} +error: (1062, "Duplicate entry 'tagmout-ma' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tagmout', u'countrycode': u'ma', u'city_id': u'-50164', u'longitude': u'-9.433329582214355', u'nr_hotels': u'1', u'latitude': u'29.049999237060547'} +error: (1062, "Duplicate entry 'tagmout-ma' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tagmout', u'countrycode': u'ma', u'city_id': u'-50164', u'longitude': u'-9.433329582214355', u'nr_hotels': u'1', u'latitude': u'29.049999237060547'} +error: (1062, "Duplicate entry 'ravoraha-mg' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ravoraha', u'countrycode': u'mg', u'city_id': u'900052382', u'longitude': u'49.816429138183594', u'nr_hotels': u'0', u'latitude': u'17.086999893188477'} +error: (1062, "Duplicate entry 'ravoraha-mg' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ravoraha', u'countrycode': u'mg', u'city_id': u'900052382', u'longitude': u'49.816429138183594', u'nr_hotels': u'0', u'latitude': u'17.086999893188477'} +error: (1062, "Duplicate entry 'kalaw-mm' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kalaw', u'countrycode': u'mm', u'city_id': u'9011129', u'longitude': u'96.48529815673828', u'nr_hotels': u'0', u'latitude': u'16.954200744628906'} +error: (1062, "Duplicate entry 'kalaw-mm' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kalaw', u'countrycode': u'mm', u'city_id': u'9011129', u'longitude': u'96.48529815673828', u'nr_hotels': u'0', u'latitude': u'16.954200744628906'} +error: (1062, "Duplicate entry 'male-mv' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Male', u'countrycode': u'mv', u'city_id': u'900051508', u'longitude': u'72.81107330322266', u'nr_hotels': u'3', u'latitude': u'4.007029056549072'} +error: (1062, "Duplicate entry 'male-mv' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Male', u'countrycode': u'mv', u'city_id': u'900051508', u'longitude': u'72.81107330322266', u'nr_hotels': u'3', u'latitude': u'4.007029056549072'} +error: (1062, "Duplicate entry 'santiago-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santiago', u'countrycode': u'mx', u'city_id': u'-1702195', u'longitude': u'-91.7332992553711', u'nr_hotels': u'1', u'latitude': u'16.08329963684082'} +error: (1062, "Duplicate entry 'santiago-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santiago', u'countrycode': u'mx', u'city_id': u'-1702195', u'longitude': u'-91.7332992553711', u'nr_hotels': u'1', u'latitude': u'16.08329963684082'} +error: (1062, "Duplicate entry 'santa-catarina-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Catarina', u'countrycode': u'mx', u'city_id': u'-1700590', u'longitude': u'-109.68299865722656', u'nr_hotels': u'1', u'latitude': u'23.11669921875'} +error: (1062, "Duplicate entry 'santa-catarina-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Catarina', u'countrycode': u'mx', u'city_id': u'-1700590', u'longitude': u'-109.68299865722656', u'nr_hotels': u'1', u'latitude': u'23.11669921875'} +error: (1062, "Duplicate entry 'san-rafael-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Rafael', u'countrycode': u'mx', u'city_id': u'-1699992', u'longitude': u'-101.18299865722656', u'nr_hotels': u'0', u'latitude': u'23.399999618530273'} +error: (1062, "Duplicate entry 'san-rafael-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Rafael', u'countrycode': u'mx', u'city_id': u'-1699992', u'longitude': u'-101.18299865722656', u'nr_hotels': u'0', u'latitude': u'23.399999618530273'} +error: (1062, "Duplicate entry 'san-rafael-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Rafael', u'countrycode': u'mx', u'city_id': u'-1699952', u'longitude': u'-96.8499984741211', u'nr_hotels': u'1', u'latitude': u'20.200000762939453'} +error: (1062, "Duplicate entry 'san-rafael-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Rafael', u'countrycode': u'mx', u'city_id': u'-1699952', u'longitude': u'-96.8499984741211', u'nr_hotels': u'1', u'latitude': u'20.200000762939453'} +error: (1062, "Duplicate entry 'san-carlos-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Carlos', u'countrycode': u'mx', u'city_id': u'-1695743', u'longitude': u'-112.0999984741211', u'nr_hotels': u'1', u'latitude': u'24.783300399780273'} +error: (1062, "Duplicate entry 'san-carlos-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Carlos', u'countrycode': u'mx', u'city_id': u'-1695743', u'longitude': u'-112.0999984741211', u'nr_hotels': u'1', u'latitude': u'24.783300399780273'} +error: (1062, "Duplicate entry 'puerto-escondido-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Puerto Escondido', u'countrycode': u'mx', u'city_id': u'-1690388', u'longitude': u'-97.06670379638672', u'nr_hotels': u'48', u'latitude': u'15.850000381469727'} +error: (1062, "Duplicate entry 'miramar-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Miramar', u'countrycode': u'mx', u'city_id': u'-1683792', u'longitude': u'-104.38300323486328', u'nr_hotels': u'1', u'latitude': u'19.11669921875'} +error: (1062, "Duplicate entry 'miramar-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u0440\u0430\u043c\u0430\u0440', u'countrycode': u'mx', u'city_id': u'-1683792', u'longitude': u'-104.38300323486328', u'nr_hotels': u'1', u'latitude': u'19.11669921875'} +error: (1062, "Duplicate entry 'trancas-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trancas', u'countrycode': u'mx', u'city_id': u'-1678817', u'longitude': u'-100.1500015258789', u'nr_hotels': u'0', u'latitude': u'19.100000381469727'} +error: (1062, "Duplicate entry 'trancas-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trancas', u'countrycode': u'mx', u'city_id': u'-1678817', u'longitude': u'-100.1500015258789', u'nr_hotels': u'0', u'latitude': u'19.100000381469727'} +error: (1062, "Duplicate entry 'la-magdalena-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Magdalena', u'countrycode': u'mx', u'city_id': u'-1675656', u'longitude': u'-100.06700134277344', u'nr_hotels': u'1', u'latitude': u'19.766700744628906'} +error: (1062, "Duplicate entry 'la-magdalena-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Magdalena', u'countrycode': u'mx', u'city_id': u'-1675656', u'longitude': u'-100.06700134277344', u'nr_hotels': u'1', u'latitude': u'19.766700744628906'} +error: (1062, "Duplicate entry 'xalostoc-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Xalostoc', u'countrycode': u'mx', u'city_id': u'-1671794', u'longitude': u'-98.9000015258789', u'nr_hotels': u'1', u'latitude': u'18.716699600219727'} +error: (1062, "Duplicate entry 'xalostoc-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Xalostoc', u'countrycode': u'mx', u'city_id': u'-1671794', u'longitude': u'-98.9000015258789', u'nr_hotels': u'1', u'latitude': u'18.716699600219727'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653666', u'longitude': u'-109.69999694824219', u'nr_hotels': u'1', u'latitude': u'23.649999618530273'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653666', u'longitude': u'-109.69999694824219', u'nr_hotels': u'1', u'latitude': u'23.649999618530273'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653612', u'longitude': u'-100.25', u'nr_hotels': u'0', u'latitude': u'19.91670036315918'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653612', u'longitude': u'-100.25', u'nr_hotels': u'0', u'latitude': u'19.91670036315918'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653573', u'longitude': u'-101.68299865722656', u'nr_hotels': u'0', u'latitude': u'17.783300399780273'} +error: (1062, "Duplicate entry 'buenavista-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buenavista', u'countrycode': u'mx', u'city_id': u'-1653573', u'longitude': u'-101.68299865722656', u'nr_hotels': u'0', u'latitude': u'17.783300399780273'} +error: (1062, "Duplicate entry 'atlacomulco-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Atlacomulco', u'countrycode': u'mx', u'city_id': u'-1651698', u'longitude': u'-99.16670227050781', u'nr_hotels': u'1', u'latitude': u'18.899999618530273'} +error: (1062, "Duplicate entry 'atlacomulco-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Atlacomulco', u'countrycode': u'mx', u'city_id': u'-1651698', u'longitude': u'-99.16670227050781', u'nr_hotels': u'1', u'latitude': u'18.899999618530273'} +error: (1062, "Duplicate entry 'san-francisco-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Francisco', u'countrycode': u'mx', u'city_id': u'6195337', u'longitude': u'-99.88390350341797', u'nr_hotels': u'1', u'latitude': u'26.15920066833496'} +error: (1062, "Duplicate entry 'san-francisco-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Francisco', u'countrycode': u'mx', u'city_id': u'6195337', u'longitude': u'-99.88390350341797', u'nr_hotels': u'1', u'latitude': u'26.15920066833496'} +error: (1062, "Duplicate entry 'san-pedro-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Pedro', u'countrycode': u'mx', u'city_id': u'8015462', u'longitude': u'-99.74720001220703', u'nr_hotels': u'1', u'latitude': u'19.563600540161133'} +error: (1062, "Duplicate entry 'san-pedro-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Pedro', u'countrycode': u'mx', u'city_id': u'8015462', u'longitude': u'-99.74720001220703', u'nr_hotels': u'1', u'latitude': u'19.563600540161133'} +error: (1062, "Duplicate entry 'santiago-mx' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santiago', u'countrycode': u'mx', u'city_id': u'900050655', u'longitude': u'-100.15142059326172', u'nr_hotels': u'1', u'latitude': u'25.427461624145508'} +error: (1062, "Duplicate entry 'santiago-mx' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santiago', u'countrycode': u'mx', u'city_id': u'900050655', u'longitude': u'-100.15142059326172', u'nr_hotels': u'1', u'latitude': u'25.427461624145508'} +error: (1062, "Duplicate entry 'kingston-nf' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kingston', u'countrycode': u'nf', u'city_id': u'900049879', u'longitude': u'167.95010375976562', u'nr_hotels': u'0', u'latitude': u'-29.050100326538086'} +error: (1062, "Duplicate entry 'kingston-nf' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kingston', u'countrycode': u'nf', u'city_id': u'900049879', u'longitude': u'167.95010375976562', u'nr_hotels': u'0', u'latitude': u'-29.050100326538086'} +error: (1062, "Duplicate entry 'willemstad-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Willemstad', u'countrycode': u'nl', u'city_id': u'-2155909', u'longitude': u'4.433330059051514', u'nr_hotels': u'4', u'latitude': u'51.70000076293945'} +error: (1062, "Duplicate entry 'willemstad-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Willemstad', u'countrycode': u'nl', u'city_id': u'-2155909', u'longitude': u'4.433330059051514', u'nr_hotels': u'4', u'latitude': u'51.70000076293945'} +error: (1062, "Duplicate entry 'velp-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Velp', u'countrycode': u'nl', u'city_id': u'-2154617', u'longitude': u'5.719069957733154', u'nr_hotels': u'1', u'latitude': u'51.7484016418457'} +error: (1062, "Duplicate entry 'velp-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0435\u043b\u043f', u'countrycode': u'nl', u'city_id': u'-2154617', u'longitude': u'5.719069957733154', u'nr_hotels': u'1', u'latitude': u'51.7484016418457'} +error: (1062, "Duplicate entry 'serooskerke-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Serooskerke', u'countrycode': u'nl', u'city_id': u'-2152908', u'longitude': u'3.5999999046325684', u'nr_hotels': u'2', u'latitude': u'51.54999923706055'} +error: (1062, "Duplicate entry 'serooskerke-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Serooskerke', u'countrycode': u'nl', u'city_id': u'-2152908', u'longitude': u'3.5999999046325684', u'nr_hotels': u'2', u'latitude': u'51.54999923706055'} +error: (1062, "Duplicate entry 'scherpenzeel-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Scherpenzeel', u'countrycode': u'nl', u'city_id': u'-2152687', u'longitude': u'5.483329772949219', u'nr_hotels': u'1', u'latitude': u'52.08330154418945'} +error: (1062, "Duplicate entry 'scherpenzeel-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Scherpenzeel', u'countrycode': u'nl', u'city_id': u'-2152687', u'longitude': u'5.483329772949219', u'nr_hotels': u'1', u'latitude': u'52.08330154418945'} +error: (1062, "Duplicate entry 'rossum-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rossum', u'countrycode': u'nl', u'city_id': u'-2152386', u'longitude': u'5.333330154418945', u'nr_hotels': u'1', u'latitude': u'51.79999923706055'} +error: (1062, "Duplicate entry 'rossum-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rossum', u'countrycode': u'nl', u'city_id': u'-2152386', u'longitude': u'5.333330154418945', u'nr_hotels': u'1', u'latitude': u'51.79999923706055'} +error: (1062, "Duplicate entry 'montfort-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u043e\u043d\u0442\u0444\u043e\u0440\u0442', u'countrycode': u'nl', u'city_id': u'-2149664', u'longitude': u'4.949999809265137', u'nr_hotels': u'4', u'latitude': u'52.04999923706055'} +error: (1062, "Duplicate entry 'horn-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u043e\u0440\u043d', u'countrycode': u'nl', u'city_id': u'-2146649', u'longitude': u'5.349999904632568', u'nr_hotels': u'3', u'latitude': u'53.400001525878906'} +error: (1062, "Duplicate entry 'hoorn-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hoorn', u'countrycode': u'nl', u'city_id': u'-2146647', u'longitude': u'5.066669940948486', u'nr_hotels': u'11', u'latitude': u'52.650001525878906'} +error: (1062, "Duplicate entry 'horn-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u043e\u0440\u043d', u'countrycode': u'nl', u'city_id': u'-2146647', u'longitude': u'5.066669940948486', u'nr_hotels': u'11', u'latitude': u'52.650001525878906'} +error: (1062, "Duplicate entry 'hengelo-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hengelo', u'countrycode': u'nl', u'city_id': u'-2145889', u'longitude': u'6.310790061950684', u'nr_hotels': u'1', u'latitude': u'52.051300048828125'} +error: (1062, "Duplicate entry 'hengelo-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hengelo', u'countrycode': u'nl', u'city_id': u'-2145889', u'longitude': u'6.310790061950684', u'nr_hotels': u'1', u'latitude': u'52.051300048828125'} +error: (1062, "Duplicate entry 'hardenberg-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hardenberg', u'countrycode': u'nl', u'city_id': u'-2145422', u'longitude': u'6.61667013168335', u'nr_hotels': u'6', u'latitude': u'52.56669998168945'} +error: (1062, "Duplicate entry 'hardenberg-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0440\u0434\u0435\u043d\u0431\u0435\u0440\u0433', u'countrycode': u'nl', u'city_id': u'-2145422', u'longitude': u'6.61667013168335', u'nr_hotels': u'6', u'latitude': u'52.56669998168945'} +error: (1062, "Duplicate entry 'elst-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elst', u'countrycode': u'nl', u'city_id': u'-2144119', u'longitude': u'5.849999904632568', u'nr_hotels': u'2', u'latitude': u'51.91669845581055'} +error: (1062, "Duplicate entry 'elst-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elst', u'countrycode': u'nl', u'city_id': u'-2144119', u'longitude': u'5.849999904632568', u'nr_hotels': u'2', u'latitude': u'51.91669845581055'} +error: (1062, "Duplicate entry 'echten-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Echten', u'countrycode': u'nl', u'city_id': u'-2143839', u'longitude': u'6.400000095367432', u'nr_hotels': u'2', u'latitude': u'52.71670150756836'} +error: (1062, "Duplicate entry 'echten-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Echten', u'countrycode': u'nl', u'city_id': u'-2143839', u'longitude': u'6.400000095367432', u'nr_hotels': u'2', u'latitude': u'52.71670150756836'} +error: (1062, "Duplicate entry 'broekhuizen-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Broekhuizen', u'countrycode': u'nl', u'city_id': u'-2142009', u'longitude': u'6.166669845581055', u'nr_hotels': u'1', u'latitude': u'51.483299255371094'} +error: (1062, "Duplicate entry 'broekhuizen-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Broekhuizen', u'countrycode': u'nl', u'city_id': u'-2142009', u'longitude': u'6.166669845581055', u'nr_hotels': u'1', u'latitude': u'51.483299255371094'} +error: (1062, "Duplicate entry 'beek-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beek', u'countrycode': u'nl', u'city_id': u'-2140929', u'longitude': u'5.933330059051514', u'nr_hotels': u'1', u'latitude': u'51.83330154418945'} +error: (1062, "Duplicate entry 'beek-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beek', u'countrycode': u'nl', u'city_id': u'-2140924', u'longitude': u'5.800000190734863', u'nr_hotels': u'1', u'latitude': u'50.93330001831055'} +error: (1062, "Duplicate entry 'alphen-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alphen', u'countrycode': u'nl', u'city_id': u'-2140396', u'longitude': u'4.949999809265137', u'nr_hotels': u'2', u'latitude': u'51.483299255371094'} +error: (1062, "Duplicate entry 'alphen-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alphen', u'countrycode': u'nl', u'city_id': u'-2140396', u'longitude': u'4.949999809265137', u'nr_hotels': u'2', u'latitude': u'51.483299255371094'} +error: (1062, "Duplicate entry 'aalst-nl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aalst', u'countrycode': u'nl', u'city_id': u'-2140141', u'longitude': u'5.13332986831665', u'nr_hotels': u'1', u'latitude': u'51.78329849243164'} +error: (1062, "Duplicate entry 'aalst-nl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aalst', u'countrycode': u'nl', u'city_id': u'-2140141', u'longitude': u'5.13332986831665', u'nr_hotels': u'1', u'latitude': u'51.78329849243164'} +error: (1062, "Duplicate entry 'vinnes-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vinnes', u'countrycode': u'no', u'city_id': u'-286981', u'longitude': u'5.266670227050781', u'nr_hotels': u'0', u'latitude': u'60.016700744628906'} +error: (1062, "Duplicate entry 'vinnes-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vinnes', u'countrycode': u'no', u'city_id': u'-286981', u'longitude': u'5.266670227050781', u'nr_hotels': u'0', u'latitude': u'60.016700744628906'} +error: (1062, "Duplicate entry 'vika-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vika', u'countrycode': u'no', u'city_id': u'-286751', u'longitude': u'11.800000190734863', u'nr_hotels': u'1', u'latitude': u'61.31669998168945'} +error: (1062, "Duplicate entry 'vika-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vika', u'countrycode': u'no', u'city_id': u'-286751', u'longitude': u'11.800000190734863', u'nr_hotels': u'1', u'latitude': u'61.31669998168945'} +error: (1062, "Duplicate entry 'tautra-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tautra', u'countrycode': u'no', u'city_id': u'-283485', u'longitude': u'6.916669845581055', u'nr_hotels': u'0', u'latitude': u'62.68330001831055'} +error: (1062, "Duplicate entry 'tautra-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tautra', u'countrycode': u'no', u'city_id': u'-283485', u'longitude': u'6.916669845581055', u'nr_hotels': u'0', u'latitude': u'62.68330001831055'} +error: (1062, "Duplicate entry 'straumen-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Straumen', u'countrycode': u'no', u'city_id': u'-282357', u'longitude': u'11.300000190734863', u'nr_hotels': u'1', u'latitude': u'63.86669921875'} +error: (1062, "Duplicate entry 'straumen-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Straumen', u'countrycode': u'no', u'city_id': u'-282357', u'longitude': u'11.300000190734863', u'nr_hotels': u'1', u'latitude': u'63.86669921875'} +error: (1062, "Duplicate entry 'stranda-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stranda', u'countrycode': u'no', u'city_id': u'-282265', u'longitude': u'6.900000095367432', u'nr_hotels': u'8', u'latitude': u'62.31669998168945'} +error: (1062, "Duplicate entry 'stranda-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stranda', u'countrycode': u'no', u'city_id': u'-282265', u'longitude': u'6.900000095367432', u'nr_hotels': u'8', u'latitude': u'62.31669998168945'} +error: (1062, "Duplicate entry 'sortland-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sortland', u'countrycode': u'no', u'city_id': u'-280465', u'longitude': u'13.600000381469727', u'nr_hotels': u'2', u'latitude': u'68.25'} +error: (1062, "Duplicate entry 'sortland-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sortland', u'countrycode': u'no', u'city_id': u'-280465', u'longitude': u'13.600000381469727', u'nr_hotels': u'2', u'latitude': u'68.25'} +error: (1062, "Duplicate entry 'seim-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seim', u'countrycode': u'no', u'city_id': u'-277613', u'longitude': u'5.269169807434082', u'nr_hotels': u'1', u'latitude': u'60.62110137939453'} +error: (1062, "Duplicate entry 'seim-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seim', u'countrycode': u'no', u'city_id': u'-277613', u'longitude': u'5.269169807434082', u'nr_hotels': u'1', u'latitude': u'60.62110137939453'} +error: (1062, "Duplicate entry 'sandvik-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandvik', u'countrycode': u'no', u'city_id': u'-277395', u'longitude': u'5.449999809265137', u'nr_hotels': u'1', u'latitude': u'62.16669845581055'} +error: (1062, "Duplicate entry 'sandvik-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandvik', u'countrycode': u'no', u'city_id': u'-277395', u'longitude': u'5.449999809265137', u'nr_hotels': u'1', u'latitude': u'62.16669845581055'} +error: (1062, "Duplicate entry 'sandnes-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandnes', u'countrycode': u'no', u'city_id': u'-277202', u'longitude': u'5.733329772949219', u'nr_hotels': u'21', u'latitude': u'58.849998474121094'} +error: (1062, "Duplicate entry 'sandnes-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0434\u043d\u0435\u0441', u'countrycode': u'no', u'city_id': u'-277202', u'longitude': u'5.733329772949219', u'nr_hotels': u'21', u'latitude': u'58.849998474121094'} +error: (1062, "Duplicate entry 'sande-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sande', u'countrycode': u'no', u'city_id': u'-277103', u'longitude': u'5', u'nr_hotels': u'1', u'latitude': u'60.849998474121094'} +error: (1062, "Duplicate entry 'sande-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sande', u'countrycode': u'no', u'city_id': u'-277103', u'longitude': u'5', u'nr_hotels': u'1', u'latitude': u'60.849998474121094'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sand', u'countrycode': u'no', u'city_id': u'-277043', u'longitude': u'10.91670036315918', u'nr_hotels': u'1', u'latitude': u'63.900001525878906'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sand', u'countrycode': u'no', u'city_id': u'-277043', u'longitude': u'10.91670036315918', u'nr_hotels': u'1', u'latitude': u'63.900001525878906'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sand', u'countrycode': u'no', u'city_id': u'-277042', u'longitude': u'11.550000190734863', u'nr_hotels': u'1', u'latitude': u'60.38330078125'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sand', u'countrycode': u'no', u'city_id': u'-277042', u'longitude': u'11.550000190734863', u'nr_hotels': u'1', u'latitude': u'60.38330078125'} +error: (1062, "Duplicate entry 'onarheim-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Onarheim', u'countrycode': u'no', u'city_id': u'-273527', u'longitude': u'5.766670227050781', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'onarheim-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Onarheim', u'countrycode': u'no', u'city_id': u'-273527', u'longitude': u'5.766670227050781', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'nes-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nes', u'countrycode': u'no', u'city_id': u'-272056', u'longitude': u'9.233329772949219', u'nr_hotels': u'2', u'latitude': u'59.36669921875'} +error: (1062, "Duplicate entry 'nes-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nes', u'countrycode': u'no', u'city_id': u'-272056', u'longitude': u'9.233329772949219', u'nr_hotels': u'2', u'latitude': u'59.36669921875'} +error: (1062, "Duplicate entry 'nedstrand-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nedstrand', u'countrycode': u'no', u'city_id': u'-271972', u'longitude': u'5.800000190734863', u'nr_hotels': u'1', u'latitude': u'59.349998474121094'} +error: (1062, "Duplicate entry 'nedstrand-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nedstrand', u'countrycode': u'no', u'city_id': u'-271972', u'longitude': u'5.800000190734863', u'nr_hotels': u'1', u'latitude': u'59.349998474121094'} +error: (1062, "Duplicate entry 'vredendal-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vredendal', u'countrycode': u'za', u'city_id': u'-1298238', u'longitude': u'18.5', u'nr_hotels': u'1', u'latitude': u'-31.66670036315918'} +error: (1062, "Duplicate entry 'vredendal-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vredendal', u'countrycode': u'za', u'city_id': u'-1298238', u'longitude': u'18.5', u'nr_hotels': u'1', u'latitude': u'-31.66670036315918'} +error: (1062, "Duplicate entry 'moi-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Moi', u'countrycode': u'no', u'city_id': u'-271097', u'longitude': u'7.183330059051514', u'nr_hotels': u'0', u'latitude': u'58.25'} +error: (1062, "Duplicate entry 'moi-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Moi', u'countrycode': u'no', u'city_id': u'-271097', u'longitude': u'7.183330059051514', u'nr_hotels': u'0', u'latitude': u'58.25'} +error: (1062, "Duplicate entry 'vaalwater-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vaalwater', u'countrycode': u'za', u'city_id': u'-1295373', u'longitude': u'28.117542266845703', u'nr_hotels': u'4', u'latitude': u'-24.296281814575195'} +error: (1062, "Duplicate entry 'vaalwater-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vaalwater', u'countrycode': u'za', u'city_id': u'-1295373', u'longitude': u'28.117542266845703', u'nr_hotels': u'4', u'latitude': u'-24.296281814575195'} +error: (1062, "Duplicate entry 'lavik-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lavik', u'countrycode': u'no', u'city_id': u'-268405', u'longitude': u'6.033329963684082', u'nr_hotels': u'2', u'latitude': u'60.78329849243164'} +error: (1062, "Duplicate entry 'lavik-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lavik', u'countrycode': u'no', u'city_id': u'-268405', u'longitude': u'6.033329963684082', u'nr_hotels': u'2', u'latitude': u'60.78329849243164'} +error: (1062, "Duplicate entry 'richmond-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richmond', u'countrycode': u'za', u'city_id': u'-1275765', u'longitude': u'31.033300399780273', u'nr_hotels': u'1', u'latitude': u'-25'} +error: (1062, "Duplicate entry 'richmond-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richmond', u'countrycode': u'za', u'city_id': u'-1275765', u'longitude': u'31.033300399780273', u'nr_hotels': u'1', u'latitude': u'-25'} +error: (1062, "Duplicate entry 'ramsgate-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ramsgate', u'countrycode': u'za', u'city_id': u'-1274740', u'longitude': u'29.899999618530273', u'nr_hotels': u'0', u'latitude': u'-28.016700744628906'} +error: (1062, "Duplicate entry 'ramsgate-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ramsgate', u'countrycode': u'za', u'city_id': u'-1274740', u'longitude': u'29.899999618530273', u'nr_hotels': u'0', u'latitude': u'-28.016700744628906'} +error: (1062, "Duplicate entry 'korshamn-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Korshamn', u'countrycode': u'no', u'city_id': u'-266691', u'longitude': u'7', u'nr_hotels': u'9', u'latitude': u'58.03329849243164'} +error: (1062, "Duplicate entry 'korshamn-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Korshamn', u'countrycode': u'no', u'city_id': u'-266691', u'longitude': u'7', u'nr_hotels': u'9', u'latitude': u'58.03329849243164'} +error: (1062, "Duplicate entry 'hovland-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hovland', u'countrycode': u'no', u'city_id': u'-264192', u'longitude': u'6.63332986831665', u'nr_hotels': u'6', u'latitude': u'60.233299255371094'} +error: (1062, "Duplicate entry 'hovland-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hovland', u'countrycode': u'no', u'city_id': u'-264192', u'longitude': u'6.63332986831665', u'nr_hotels': u'6', u'latitude': u'60.233299255371094'} +error: (1062, "Duplicate entry 'helle-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Helle', u'countrycode': u'no', u'city_id': u'-262607', u'longitude': u'6.949999809265137', u'nr_hotels': u'4', u'latitude': u'58.08330154418945'} +error: (1062, "Duplicate entry 'helle-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Helle', u'countrycode': u'no', u'city_id': u'-262607', u'longitude': u'6.949999809265137', u'nr_hotels': u'4', u'latitude': u'58.08330154418945'} +error: (1062, "Duplicate entry 'kuilsrivier-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kuilsrivier', u'countrycode': u'za', u'city_id': u'-1249121', u'longitude': u'29.149999618530273', u'nr_hotels': u'0', u'latitude': u'-25.149999618530273'} +error: (1062, "Duplicate entry 'kuilsrivier-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kuilsrivier', u'countrycode': u'za', u'city_id': u'-1249121', u'longitude': u'29.149999618530273', u'nr_hotels': u'0', u'latitude': u'-25.149999618530273'} +error: (1062, "Duplicate entry 'kroondal-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kroondal', u'countrycode': u'za', u'city_id': u'-1248686', u'longitude': u'27.316699981689453', u'nr_hotels': u'4', u'latitude': u'-25.75'} +error: (1062, "Duplicate entry 'kroondal-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kroondal', u'countrycode': u'za', u'city_id': u'-1248686', u'longitude': u'27.316699981689453', u'nr_hotels': u'4', u'latitude': u'-25.75'} +error: (1062, "Duplicate entry 'kokstad-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kokstad', u'countrycode': u'za', u'city_id': u'-1246888', u'longitude': u'27.966699600219727', u'nr_hotels': u'1', u'latitude': u'-23.16670036315918'} +error: (1062, "Duplicate entry 'kokstad-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kokstad', u'countrycode': u'za', u'city_id': u'-1246888', u'longitude': u'27.966699600219727', u'nr_hotels': u'1', u'latitude': u'-23.16670036315918'} +error: (1062, "Duplicate entry 'gol-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gol', u'countrycode': u'no', u'city_id': u'-260092', u'longitude': u'8.949999809265137', u'nr_hotels': u'10', u'latitude': u'60.70000076293945'} +error: (1062, "Duplicate entry 'gol-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0413\u043e\u043b', u'countrycode': u'no', u'city_id': u'-260092', u'longitude': u'8.949999809265137', u'nr_hotels': u'10', u'latitude': u'60.70000076293945'} +error: (1062, "Duplicate entry 'heidelberg-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Heidelberg', u'countrycode': u'za', u'city_id': u'-1236430', u'longitude': u'28.350000381469727', u'nr_hotels': u'1', u'latitude': u'-26.5'} +error: (1062, "Duplicate entry 'heidelberg-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Heidelberg', u'countrycode': u'za', u'city_id': u'-1236430', u'longitude': u'28.350000381469727', u'nr_hotels': u'1', u'latitude': u'-26.5'} +error: (1062, "Duplicate entry 'frei-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Frei', u'countrycode': u'no', u'city_id': u'-258671', u'longitude': u'7.800000190734863', u'nr_hotels': u'0', u'latitude': u'63.06669998168945'} +error: (1062, "Duplicate entry 'frei-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Frei', u'countrycode': u'no', u'city_id': u'-258671', u'longitude': u'7.800000190734863', u'nr_hotels': u'0', u'latitude': u'63.06669998168945'} +error: (1062, "Duplicate entry 'fouriesburg-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fouriesburg', u'countrycode': u'za', u'city_id': u'-1228771', u'longitude': u'28.13330078125', u'nr_hotels': u'2', u'latitude': u'-28.58329963684082'} +error: (1062, "Duplicate entry 'fouriesburg-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fouriesburg', u'countrycode': u'za', u'city_id': u'-1228771', u'longitude': u'28.13330078125', u'nr_hotels': u'2', u'latitude': u'-28.58329963684082'} +error: (1062, "Duplicate entry 'elgin-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elgin', u'countrycode': u'za', u'city_id': u'-1226548', u'longitude': u'32.04999923706055', u'nr_hotels': u'2', u'latitude': u'-27.733299255371094'} +error: (1062, "Duplicate entry 'elgin-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elgin', u'countrycode': u'za', u'city_id': u'-1226548', u'longitude': u'32.04999923706055', u'nr_hotels': u'2', u'latitude': u'-27.733299255371094'} +error: (1062, "Duplicate entry 'eide-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eide', u'countrycode': u'no', u'city_id': u'-256347', u'longitude': u'6.716670036315918', u'nr_hotels': u'0', u'latitude': u'60.53329849243164'} +error: (1062, "Duplicate entry 'eide-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Eide', u'countrycode': u'no', u'city_id': u'-256347', u'longitude': u'6.716670036315918', u'nr_hotels': u'0', u'latitude': u'60.53329849243164'} +error: (1062, "Duplicate entry 'eide-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eide', u'countrycode': u'no', u'city_id': u'-256342', u'longitude': u'8.466670036315918', u'nr_hotels': u'2', u'latitude': u'58.266700744628906'} +error: (1062, "Duplicate entry 'eide-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Eide', u'countrycode': u'no', u'city_id': u'-256342', u'longitude': u'8.466670036315918', u'nr_hotels': u'2', u'latitude': u'58.266700744628906'} +error: (1062, "Duplicate entry 'belfast-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belfast', u'countrycode': u'za', u'city_id': u'-1209978', u'longitude': u'31.36669921875', u'nr_hotels': u'1', u'latitude': u'-24.933300018310547'} +error: (1062, "Duplicate entry 'belfast-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belfast', u'countrycode': u'za', u'city_id': u'-1209978', u'longitude': u'31.36669921875', u'nr_hotels': u'1', u'latitude': u'-24.933300018310547'} +error: (1062, "Duplicate entry 'bjordal-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bjordal', u'countrycode': u'no', u'city_id': u'-253234', u'longitude': u'5.833330154418945', u'nr_hotels': u'8', u'latitude': u'61.06669998168945'} +error: (1062, "Duplicate entry 'bjordal-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bjordal', u'countrycode': u'no', u'city_id': u'-253234', u'longitude': u'5.833330154418945', u'nr_hotels': u'8', u'latitude': u'61.06669998168945'} +error: (1062, "Duplicate entry 'balule-game-reserve-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Balule Game Reserve', u'countrycode': u'za', u'city_id': u'900049992', u'longitude': u'30.545852661132812', u'nr_hotels': u'1', u'latitude': u'-24.137813568115234'} +error: (1062, "Duplicate entry 'balule-game-reserve-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Balule Game Reserve', u'countrycode': u'za', u'city_id': u'900049992', u'longitude': u'30.545852661132812', u'nr_hotels': u'1', u'latitude': u'-24.137813568115234'} +error: (1062, "Duplicate entry 'sabie-za' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sabie', u'countrycode': u'za', u'city_id': u'900052555', u'longitude': u'30.78229', u'nr_hotels': u'0', u'latitude': u'-25.087931'} +error: (1062, "Duplicate entry 'sabie-za' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sabie', u'countrycode': u'za', u'city_id': u'900052555', u'longitude': u'30.78229', u'nr_hotels': u'0', u'latitude': u'-25.087931'} +error: (1062, "Duplicate entry 'bakken-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bakken', u'countrycode': u'no', u'city_id': u'-252387', u'longitude': u'11.716699600219727', u'nr_hotels': u'1', u'latitude': u'62.31669998168945'} +error: (1062, "Duplicate entry 'bakken-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bakken', u'countrycode': u'no', u'city_id': u'-252387', u'longitude': u'11.716699600219727', u'nr_hotels': u'1', u'latitude': u'62.31669998168945'} +error: (1062, "Duplicate entry 'aure-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aure', u'countrycode': u'no', u'city_id': u'-252008', u'longitude': u'6.599999904632568', u'nr_hotels': u'2', u'latitude': u'62.400001525878906'} +error: (1062, "Duplicate entry 'aure-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aure', u'countrycode': u'no', u'city_id': u'-252008', u'longitude': u'6.599999904632568', u'nr_hotels': u'2', u'latitude': u'62.400001525878906'} +error: (1062, "Duplicate entry 'alstad-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alstad', u'countrycode': u'no', u'city_id': u'-250980', u'longitude': u'13.949999809265137', u'nr_hotels': u'3', u'latitude': u'68.2667007446289'} +error: (1062, "Duplicate entry 'alstad-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alstad', u'countrycode': u'no', u'city_id': u'-250980', u'longitude': u'13.949999809265137', u'nr_hotels': u'3', u'latitude': u'68.2667007446289'} +error: (1062, "Duplicate entry 'gjerstad-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gjerstad', u'countrycode': u'no', u'city_id': u'156826', u'longitude': u'8.839719772338867', u'nr_hotels': u'1', u'latitude': u'58.46139907836914'} +error: (1062, "Duplicate entry 'gjerstad-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gjerstad', u'countrycode': u'no', u'city_id': u'156826', u'longitude': u'8.839719772338867', u'nr_hotels': u'1', u'latitude': u'58.46139907836914'} +error: (1062, "Duplicate entry 'myre-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Myre', u'countrycode': u'no', u'city_id': u'205285', u'longitude': u'15.08329963684082', u'nr_hotels': u'2', u'latitude': u'68.9000015258789'} +error: (1062, "Duplicate entry 'myre-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Myre', u'countrycode': u'no', u'city_id': u'205285', u'longitude': u'15.08329963684082', u'nr_hotels': u'2', u'latitude': u'68.9000015258789'} +error: (1062, "Duplicate entry 'misje-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Misje', u'countrycode': u'no', u'city_id': u'250432', u'longitude': u'4.965829849243164', u'nr_hotels': u'1', u'latitude': u'60.45140075683594'} +error: (1062, "Duplicate entry 'misje-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Misje', u'countrycode': u'no', u'city_id': u'250432', u'longitude': u'4.965829849243164', u'nr_hotels': u'1', u'latitude': u'60.45140075683594'} +error: (1062, "Duplicate entry 'storholmen-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Storholmen', u'countrycode': u'no', u'city_id': u'271458', u'longitude': u'5.201109886169434', u'nr_hotels': u'0', u'latitude': u'60.097801208496094'} +error: (1062, "Duplicate entry 'storholmen-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Storholmen', u'countrycode': u'no', u'city_id': u'271458', u'longitude': u'5.201109886169434', u'nr_hotels': u'0', u'latitude': u'60.097801208496094'} +error: (1062, "Duplicate entry 'nes-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nes', u'countrycode': u'no', u'city_id': u'286221', u'longitude': u'10.491399765014648', u'nr_hotels': u'1', u'latitude': u'59.87030029296875'} +error: (1062, "Duplicate entry 'nes-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nes', u'countrycode': u'no', u'city_id': u'286221', u'longitude': u'10.491399765014648', u'nr_hotels': u'1', u'latitude': u'59.87030029296875'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sand', u'countrycode': u'no', u'city_id': u'900048705', u'longitude': u'6.252999782562256', u'nr_hotels': u'5', u'latitude': u'59.48400115966797'} +error: (1062, "Duplicate entry 'sand-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0434', u'countrycode': u'no', u'city_id': u'900048705', u'longitude': u'6.252999782562256', u'nr_hotels': u'5', u'latitude': u'59.48400115966797'} +error: (1062, "Duplicate entry 'spildra-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spildra', u'countrycode': u'no', u'city_id': u'900052411', u'longitude': u'21.600000381469727', u'nr_hotels': u'1', u'latitude': u'70.0167007446289'} +error: (1062, "Duplicate entry 'spildra-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spildra', u'countrycode': u'no', u'city_id': u'900052411', u'longitude': u'21.600000381469727', u'nr_hotels': u'1', u'latitude': u'70.0167007446289'} +error: (1062, "Duplicate entry 'haugen-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Haugen', u'countrycode': u'no', u'city_id': u'900052487', u'longitude': u'5.7960968017578125', u'nr_hotels': u'2', u'latitude': u'60.09431838989258'} +error: (1062, "Duplicate entry 'haugen-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Haugen', u'countrycode': u'no', u'city_id': u'900052487', u'longitude': u'5.7960968017578125', u'nr_hotels': u'2', u'latitude': u'60.09431838989258'} +error: (1062, "Duplicate entry 'harestua-no' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harestua', u'countrycode': u'no', u'city_id': u'900052505', u'longitude': u'10.715604782104492', u'nr_hotels': u'1', u'latitude': u'60.20831298828125'} +error: (1062, "Duplicate entry 'harestua-no' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harestua', u'countrycode': u'no', u'city_id': u'900052505', u'longitude': u'10.715604782104492', u'nr_hotels': u'1', u'latitude': u'60.20831298828125'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20006243', u'longitude': u'-111.38700103759766', u'nr_hotels': u'2', u'latitude': u'33.03139877319336'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20006243', u'longitude': u'-111.38700103759766', u'nr_hotels': u'2', u'latitude': u'33.03139877319336'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20008695', u'longitude': u'-94.1572036743164', u'nr_hotels': u'16', u'latitude': u'36.0625'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20008695', u'longitude': u'-94.1572036743164', u'nr_hotels': u'16', u'latitude': u'36.0625'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20009211', u'longitude': u'-92.11000061035156', u'nr_hotels': u'6', u'latitude': u'34.8661003112793'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20009211', u'longitude': u'-92.11000061035156', u'nr_hotels': u'6', u'latitude': u'34.8661003112793'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20009559', u'longitude': u'-90.19640350341797', u'nr_hotels': u'4', u'latitude': u'35.21440124511719'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20009559', u'longitude': u'-90.19640350341797', u'nr_hotels': u'4', u'latitude': u'35.21440124511719'} +error: (1062, "Duplicate entry 'ozark-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ozark', u'countrycode': u'us', u'city_id': u'20010015', u'longitude': u'-93.82749938964844', u'nr_hotels': u'2', u'latitude': u'35.486900329589844'} +error: (1062, "Duplicate entry 'ozark-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ozark', u'countrycode': u'us', u'city_id': u'20010015', u'longitude': u'-93.82749938964844', u'nr_hotels': u'2', u'latitude': u'35.486900329589844'} +error: (1062, "Duplicate entry 'santa-teresa-pe' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Teresa', u'countrycode': u'pe', u'city_id': u'-363436', u'longitude': u'-73.16670227050781', u'nr_hotels': u'1', u'latitude': u'-3.533329963684082'} +error: (1062, "Duplicate entry 'santa-teresa-pe' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Teresa', u'countrycode': u'pe', u'city_id': u'-363436', u'longitude': u'-73.16670227050781', u'nr_hotels': u'1', u'latitude': u'-3.533329963684082'} +error: (1062, "Duplicate entry 'cloverdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cloverdale', u'countrycode': u'us', u'city_id': u'20012246', u'longitude': u'-123.01599884033203', u'nr_hotels': u'6', u'latitude': u'38.805599212646484'} +error: (1062, "Duplicate entry 'cloverdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cloverdale', u'countrycode': u'us', u'city_id': u'20012246', u'longitude': u'-123.01599884033203', u'nr_hotels': u'6', u'latitude': u'38.805599212646484'} +error: (1062, "Duplicate entry 'fortuna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fortuna', u'countrycode': u'us', u'city_id': u'20013034', u'longitude': u'-124.15599822998047', u'nr_hotels': u'3', u'latitude': u'40.59830093383789'} +error: (1062, "Duplicate entry 'fortuna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u043e\u0440\u0442\u0443\u043d\u0430', u'countrycode': u'us', u'city_id': u'20013034', u'longitude': u'-124.15599822998047', u'nr_hotels': u'3', u'latitude': u'40.59830093383789'} +error: (1062, "Duplicate entry 'glendale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glendale', u'countrycode': u'us', u'city_id': u'20013171', u'longitude': u'-118.25399780273438', u'nr_hotels': u'11', u'latitude': u'34.14250183105469'} +error: (1062, "Duplicate entry 'santa-fe-ph' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Fe', u'countrycode': u'ph', u'city_id': u'-2451501', u'longitude': u'123.80000305175781', u'nr_hotels': u'2', u'latitude': u'11.149999618530273'} +error: (1062, "Duplicate entry 'santa-fe-ph' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043d\u0442\u0430-\u0424\u0435', u'countrycode': u'ph', u'city_id': u'-2451501', u'longitude': u'123.80000305175781', u'nr_hotels': u'2', u'latitude': u'11.149999618530273'} +error: (1062, "Duplicate entry 'san-juan-ph' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Juan', u'countrycode': u'ph', u'city_id': u'-2450363', u'longitude': u'121.4000015258789', u'nr_hotels': u'1', u'latitude': u'13.83329963684082'} +error: (1062, "Duplicate entry 'san-juan-ph' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Juan', u'countrycode': u'ph', u'city_id': u'-2450363', u'longitude': u'121.4000015258789', u'nr_hotels': u'1', u'latitude': u'13.83329963684082'} +error: (1062, "Duplicate entry 'homewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Homewood', u'countrycode': u'us', u'city_id': u'20013545', u'longitude': u'-120.15899658203125', u'nr_hotels': u'1', u'latitude': u'39.08689880371094'} +error: (1062, "Duplicate entry 'homewood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Homewood', u'countrycode': u'us', u'city_id': u'20013545', u'longitude': u'-120.15899658203125', u'nr_hotels': u'1', u'latitude': u'39.08689880371094'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20013692', u'longitude': u'-120.77300262451172', u'nr_hotels': u'2', u'latitude': u'38.348899841308594'} +error: (1062, "Duplicate entry 'liloan-ph' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Liloan', u'countrycode': u'ph', u'city_id': u'-2433110', u'longitude': u'123.30799865722656', u'nr_hotels': u'0', u'latitude': u'9.428609848022461'} +error: (1062, "Duplicate entry 'liloan-ph' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Liloan', u'countrycode': u'ph', u'city_id': u'-2433110', u'longitude': u'123.30799865722656', u'nr_hotels': u'0', u'latitude': u'9.428609848022461'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'20014080', u'longitude': u'-121.29199981689453', u'nr_hotels': u'1', u'latitude': u'38.891700744628906'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20014117', u'longitude': u'-120.7229995727539', u'nr_hotels': u'1', u'latitude': u'37.38690185546875'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20014117', u'longitude': u'-120.7229995727539', u'nr_hotels': u'1', u'latitude': u'37.38690185546875'} +error: (1062, "Duplicate entry 'compostela-ph' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Compostela', u'countrycode': u'ph', u'city_id': u'-2422347', u'longitude': u'126.08899688720703', u'nr_hotels': u'0', u'latitude': u'7.673059940338135'} +error: (1062, "Duplicate entry 'compostela-ph' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Compostela', u'countrycode': u'ph', u'city_id': u'-2422347', u'longitude': u'126.08899688720703', u'nr_hotels': u'0', u'latitude': u'7.673059940338135'} +error: (1062, "Duplicate entry 'mountain-view-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mountain View', u'countrycode': u'us', u'city_id': u'20014666', u'longitude': u'-122.08300018310547', u'nr_hotels': u'18', u'latitude': u'37.38610076904297'} +error: (1062, "Duplicate entry 'zielonki-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zielonki', u'countrycode': u'pl', u'city_id': u'-539747', u'longitude': u'19.933300018310547', u'nr_hotels': u'1', u'latitude': u'50.11669921875'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20015883', u'longitude': u'-119.61100006103516', u'nr_hotels': u'4', u'latitude': u'36.57080078125'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20015883', u'longitude': u'-119.61100006103516', u'nr_hotels': u'4', u'latitude': u'36.57080078125'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20016551', u'longitude': u'-122.06291198730469', u'nr_hotels': u'3', u'latitude': u'37.60362243652344'} +error: (1062, "Duplicate entry 'szymbark-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Szymbark', u'countrycode': u'pl', u'city_id': u'-532448', u'longitude': u'21.100000381469727', u'nr_hotels': u'0', u'latitude': u'49.63330078125'} +error: (1062, "Duplicate entry 'szymbark-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Szymbark', u'countrycode': u'pl', u'city_id': u'-532448', u'longitude': u'21.100000381469727', u'nr_hotels': u'0', u'latitude': u'49.63330078125'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20017014', u'longitude': u'-106.06199645996094', u'nr_hotels': u'1', u'latitude': u'39.28390121459961'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20017014', u'longitude': u'-106.06199645996094', u'nr_hotels': u'1', u'latitude': u'39.28390121459961'} +error: (1062, "Duplicate entry 'evergreen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Evergreen', u'countrycode': u'us', u'city_id': u'20017444', u'longitude': u'-105.31700134277344', u'nr_hotels': u'3', u'latitude': u'39.63330078125'} +error: (1062, "Duplicate entry 'evergreen-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Evergreen', u'countrycode': u'us', u'city_id': u'20017444', u'longitude': u'-105.31700134277344', u'nr_hotels': u'3', u'latitude': u'39.63330078125'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20017466', u'longitude': u'-105.11799621582031', u'nr_hotels': u'1', u'latitude': u'38.39030075073242'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20017466', u'longitude': u'-105.11799621582031', u'nr_hotels': u'1', u'latitude': u'38.39030075073242'} +error: (1062, "Duplicate entry 'glendale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glendale', u'countrycode': u'us', u'city_id': u'20017535', u'longitude': u'-104.93299865722656', u'nr_hotels': u'4', u'latitude': u'39.70500183105469'} +error: (1062, "Duplicate entry 'glendale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Glendale', u'countrycode': u'us', u'city_id': u'20017535', u'longitude': u'-104.93299865722656', u'nr_hotels': u'4', u'latitude': u'39.70500183105469'} +error: (1062, "Duplicate entry 'parker-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Parker', u'countrycode': u'us', u'city_id': u'20018056', u'longitude': u'-104.76100158691406', u'nr_hotels': u'3', u'latitude': u'39.51860046386719'} +error: (1062, "Duplicate entry 'parker-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Parker', u'countrycode': u'us', u'city_id': u'20018056', u'longitude': u'-104.76100158691406', u'nr_hotels': u'3', u'latitude': u'39.51860046386719'} +error: (1062, "Duplicate entry 'salida-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salida', u'countrycode': u'us', u'city_id': u'20018221', u'longitude': u'-105.99800109863281', u'nr_hotels': u'9', u'latitude': u'38.534698486328125'} +error: (1062, "Duplicate entry 'salida-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salida', u'countrycode': u'us', u'city_id': u'20018221', u'longitude': u'-105.99800109863281', u'nr_hotels': u'9', u'latitude': u'38.534698486328125'} +error: (1062, "Duplicate entry 'trinidad-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trinidad', u'countrycode': u'us', u'city_id': u'20018401', u'longitude': u'-104.5', u'nr_hotels': u'3', u'latitude': u'37.16939926147461'} +error: (1062, "Duplicate entry 'trinidad-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trinidad', u'countrycode': u'us', u'city_id': u'20018401', u'longitude': u'-104.5', u'nr_hotels': u'3', u'latitude': u'37.16939926147461'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20018489', u'longitude': u'-105.04440307617188', u'nr_hotels': u'17', u'latitude': u'39.870750427246094'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20018489', u'longitude': u'-105.04440307617188', u'nr_hotels': u'17', u'latitude': u'39.870750427246094'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20018622', u'longitude': u'-73.2052993774414', u'nr_hotels': u'1', u'latitude': u'41.166900634765625'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20018622', u'longitude': u'-73.2052993774414', u'nr_hotels': u'1', u'latitude': u'41.166900634765625'} +error: (1062, "Duplicate entry 'smolnik-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smolnik', u'countrycode': u'pl', u'city_id': u'-529026', u'longitude': u'22.700000762939453', u'nr_hotels': u'1', u'latitude': u'49.21670150756836'} +error: (1062, "Duplicate entry 'smolnik-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smolnik', u'countrycode': u'pl', u'city_id': u'-529026', u'longitude': u'22.700000762939453', u'nr_hotels': u'1', u'latitude': u'49.21670150756836'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20019044', u'longitude': u'-72.6511001586914', u'nr_hotels': u'3', u'latitude': u'41.562198638916016'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20019044', u'longitude': u'-72.6511001586914', u'nr_hotels': u'3', u'latitude': u'41.562198638916016'} +error: (1062, "Duplicate entry 'norwalk-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norwalk', u'countrycode': u'us', u'city_id': u'20019158', u'longitude': u'-73.4220962524414', u'nr_hotels': u'9', u'latitude': u'41.11800003051758'} +error: (1062, "Duplicate entry 'norwalk-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norwalk', u'countrycode': u'us', u'city_id': u'20019158', u'longitude': u'-73.4220962524414', u'nr_hotels': u'9', u'latitude': u'41.11800003051758'} +error: (1062, "Duplicate entry 'vindzor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u043d\u0434\u0437\u043e\u0440', u'countrycode': u'us', u'city_id': u'20019549', u'longitude': u'-72.64420318603516', u'nr_hotels': u'5', u'latitude': u'41.852500915527344'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20020486', u'longitude': u'-75.7166976928711', u'nr_hotels': u'1', u'latitude': u'39.44940185546875'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20020486', u'longitude': u'-75.7166976928711', u'nr_hotels': u'1', u'latitude': u'39.44940185546875'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20020495', u'longitude': u'-75.42829895019531', u'nr_hotels': u'2', u'latitude': u'38.912498474121094'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20020495', u'longitude': u'-75.42829895019531', u'nr_hotels': u'2', u'latitude': u'38.912498474121094'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20020550', u'longitude': u'-75.56670379638672', u'nr_hotels': u'4', u'latitude': u'39.66189956665039'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20020550', u'longitude': u'-75.56670379638672', u'nr_hotels': u'4', u'latitude': u'39.66189956665039'} +error: (1062, "Duplicate entry 'n-yuark-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u0430\u0440\u043a', u'countrycode': u'us', u'city_id': u'20020554', u'longitude': u'-75.75', u'nr_hotels': u'14', u'latitude': u'39.68360137939453'} +error: (1062, "Duplicate entry 'rutherford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rutherford', u'countrycode': u'us', u'city_id': u'20020782', u'longitude': u'-75.68060302734375', u'nr_hotels': u'1', u'latitude': u'39.688899993896484'} +error: (1062, "Duplicate entry 'rutherford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rutherford', u'countrycode': u'us', u'city_id': u'20020782', u'longitude': u'-75.68060302734375', u'nr_hotels': u'1', u'latitude': u'39.688899993896484'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20021098', u'longitude': u'-75.5468978881836', u'nr_hotels': u'6', u'latitude': u'39.74580001831055'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20021296', u'longitude': u'-77.03669738769531', u'nr_hotels': u'150', u'latitude': u'38.89500045776367'} +error: (1062, "Duplicate entry 'davenport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Davenport', u'countrycode': u'us', u'city_id': u'20022031', u'longitude': u'-81.60189819335938', u'nr_hotels': u'18', u'latitude': u'28.161100387573242'} +error: (1062, "Duplicate entry 'davenport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0430\u0432\u0435\u043d\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'20022031', u'longitude': u'-81.60189819335938', u'nr_hotels': u'18', u'latitude': u'28.161100387573242'} +error: (1062, "Duplicate entry 'prushkuv-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0440\u0443\u0448\u043a\u0443\u0432', u'countrycode': u'pl', u'city_id': u'-523803', u'longitude': u'17.86669921875', u'nr_hotels': u'1', u'latitude': u'50.58330154418945'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20022095', u'longitude': u'-82.2197036743164', u'nr_hotels': u'1', u'latitude': u'27.993900299072266'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20022095', u'longitude': u'-82.2197036743164', u'nr_hotels': u'1', u'latitude': u'27.993900299072266'} +error: (1062, "Duplicate entry 'englewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Englewood', u'countrycode': u'us', u'city_id': u'20022208', u'longitude': u'-82.35279846191406', u'nr_hotels': u'3', u'latitude': u'26.961700439453125'} +error: (1062, "Duplicate entry 'englewood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Englewood', u'countrycode': u'us', u'city_id': u'20022208', u'longitude': u'-82.35279846191406', u'nr_hotels': u'3', u'latitude': u'26.961700439453125'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20022757', u'longitude': u'-81.65579986572266', u'nr_hotels': u'91', u'latitude': u'30.331899642944336'} +error: (1062, "Duplicate entry 'dzhasper-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0430\u0441\u043f\u0435\u0440', u'countrycode': u'us', u'city_id': u'20022766', u'longitude': u'-82.94830322265625', u'nr_hotels': u'1', u'latitude': u'30.51810073852539'} +error: (1062, "Duplicate entry 'piece-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Piece', u'countrycode': u'pl', u'city_id': u'-521609', u'longitude': u'20.91670036315918', u'nr_hotels': u'1', u'latitude': u'53.599998474121094'} +error: (1062, "Duplicate entry 'piece-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Piece', u'countrycode': u'pl', u'city_id': u'-521609', u'longitude': u'20.91670036315918', u'nr_hotels': u'1', u'latitude': u'53.599998474121094'} +error: (1062, "Duplicate entry 'laguna-bich-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u0433\u0443\u043d\u0430-\u0411\u0438\u0447', u'countrycode': u'us', u'city_id': u'20022872', u'longitude': u'-85.92420196533203', u'nr_hotels': u'0', u'latitude': u'30.23940086364746'} +error: (1062, "Duplicate entry 'pasym-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pasym', u'countrycode': u'pl', u'city_id': u'-521167', u'longitude': u'20.799999237060547', u'nr_hotels': u'11', u'latitude': u'53.66669845581055'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20023076', u'longitude': u'-83.41310119628906', u'nr_hotels': u'2', u'latitude': u'30.469200134277344'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20023076', u'longitude': u'-83.41310119628906', u'nr_hotels': u'2', u'latitude': u'30.469200134277344'} +error: (1062, "Duplicate entry 'majami-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u0439\u0430\u043c\u0438', u'countrycode': u'us', u'city_id': u'20023181', u'longitude': u'-80.2264404296875', u'nr_hotels': u'131', u'latitude': u'25.788969039916992'} +error: (1062, "Duplicate entry 'miramar-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Miramar', u'countrycode': u'us', u'city_id': u'20023220', u'longitude': u'-80.33059692382812', u'nr_hotels': u'8', u'latitude': u'25.97909927368164'} +error: (1062, "Duplicate entry 'miramar-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u0440\u0430\u043c\u0430\u0440', u'countrycode': u'us', u'city_id': u'20023220', u'longitude': u'-80.33059692382812', u'nr_hotels': u'8', u'latitude': u'25.97909927368164'} +error: (1062, "Duplicate entry 'osiek-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Osiek', u'countrycode': u'pl', u'city_id': u'-520216', u'longitude': u'18.799999237060547', u'nr_hotels': u'1', u'latitude': u'52.93330001831055'} +error: (1062, "Duplicate entry 'sebring-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sebring', u'countrycode': u'us', u'city_id': u'20023999', u'longitude': u'-81.44110107421875', u'nr_hotels': u'8', u'latitude': u'27.49530029296875'} +error: (1062, "Duplicate entry 'sebring-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sebring', u'countrycode': u'us', u'city_id': u'20023999', u'longitude': u'-81.44110107421875', u'nr_hotels': u'8', u'latitude': u'27.49530029296875'} +error: (1062, "Duplicate entry 'venis-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0435\u043d\u0438\u0441', u'countrycode': u'us', u'city_id': u'20024377', u'longitude': u'-82.45439910888672', u'nr_hotels': u'10', u'latitude': u'27.09939956665039'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20024698', u'longitude': u'-82.4625015258789', u'nr_hotels': u'1', u'latitude': u'31.539199829101562'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20024698', u'longitude': u'-82.4625015258789', u'nr_hotels': u'1', u'latitude': u'31.539199829101562'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20024807', u'longitude': u'-83.37809753417969', u'nr_hotels': u'15', u'latitude': u'33.96080017089844'} +error: (1062, "Duplicate entry 'chatsworth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chatsworth', u'countrycode': u'us', u'city_id': u'20025616', u'longitude': u'-84.7699966430664', u'nr_hotels': u'1', u'latitude': u'34.76580047607422'} +error: (1062, "Duplicate entry 'chatsworth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chatsworth', u'countrycode': u'us', u'city_id': u'20025616', u'longitude': u'-84.7699966430664', u'nr_hotels': u'1', u'latitude': u'34.76580047607422'} +error: (1062, "Duplicate entry 'kommers-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043e\u043c\u043c\u0435\u0440\u0441', u'countrycode': u'us', u'city_id': u'20025808', u'longitude': u'-83.45719909667969', u'nr_hotels': u'10', u'latitude': u'34.20389938354492'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20026057', u'longitude': u'-84.29640197753906', u'nr_hotels': u'7', u'latitude': u'33.77470016479492'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20026057', u'longitude': u'-84.29640197753906', u'nr_hotels': u'7', u'latitude': u'33.77470016479492'} +error: (1062, "Duplicate entry 'lubomierz-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lubomierz', u'countrycode': u'pl', u'city_id': u'-514400', u'longitude': u'20.200000762939453', u'nr_hotels': u'1', u'latitude': u'49.61669921875'} +error: (1062, "Duplicate entry 'lubomierz-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lubomierz', u'countrycode': u'pl', u'city_id': u'-514400', u'longitude': u'20.200000762939453', u'nr_hotels': u'1', u'latitude': u'49.61669921875'} +error: (1062, "Duplicate entry 'douglas-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Douglas', u'countrycode': u'us', u'city_id': u'20026176', u'longitude': u'-82.8499984741211', u'nr_hotels': u'3', u'latitude': u'31.50860023498535'} +error: (1062, "Duplicate entry 'douglas-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Douglas', u'countrycode': u'us', u'city_id': u'20026176', u'longitude': u'-82.8499984741211', u'nr_hotels': u'3', u'latitude': u'31.50860023498535'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20026209', u'longitude': u'-82.90390014648438', u'nr_hotels': u'7', u'latitude': u'32.54029846191406'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20026209', u'longitude': u'-82.90390014648438', u'nr_hotels': u'7', u'latitude': u'32.54029846191406'} +error: (1062, "Duplicate entry 'lubin-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lubin', u'countrycode': u'pl', u'city_id': u'-514305', u'longitude': u'16.200000762939453', u'nr_hotels': u'4', u'latitude': u'51.400001525878906'} +error: (1062, "Duplicate entry 'lubin-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lubin', u'countrycode': u'pl', u'city_id': u'-514305', u'longitude': u'16.200000762939453', u'nr_hotels': u'4', u'latitude': u'51.400001525878906'} +error: (1062, "Duplicate entry 'el-dorado-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'El Dorado', u'countrycode': u'us', u'city_id': u'20026314', u'longitude': u'-81.38420104980469', u'nr_hotels': u'1', u'latitude': u'31.17919921875'} +error: (1062, "Duplicate entry 'el-dorado-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'El Dorado', u'countrycode': u'us', u'city_id': u'20026314', u'longitude': u'-81.38420104980469', u'nr_hotels': u'1', u'latitude': u'31.17919921875'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20026494', u'longitude': u'-84.45500183105469', u'nr_hotels': u'2', u'latitude': u'33.44860076904297'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20026494', u'longitude': u'-84.45500183105469', u'nr_hotels': u'2', u'latitude': u'33.44860076904297'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20026750', u'longitude': u'-81.22750091552734', u'nr_hotels': u'0', u'latitude': u'31.98310089111328'} +error: (1062, "Duplicate entry 'dzhordzhtaun-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u043e\u0440\u0434\u0436\u0442\u0430\u0443\u043d', u'countrycode': u'us', u'city_id': u'20026750', u'longitude': u'-81.22750091552734', u'nr_hotels': u'0', u'latitude': u'31.98310089111328'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20026996', u'longitude': u'-84.875', u'nr_hotels': u'2', u'latitude': u'32.7578010559082'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20026996', u'longitude': u'-84.875', u'nr_hotels': u'2', u'latitude': u'32.7578010559082'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20027426', u'longitude': u'-83.96610260009766', u'nr_hotels': u'2', u'latitude': u'33.29439926147461'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20027426', u'longitude': u'-83.96610260009766', u'nr_hotels': u'2', u'latitude': u'33.29439926147461'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20027434', u'longitude': u'-83.85749816894531', u'nr_hotels': u'0', u'latitude': u'34.91780090332031'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20027434', u'longitude': u'-83.85749816894531', u'nr_hotels': u'0', u'latitude': u'34.91780090332031'} +error: (1062, "Duplicate entry 'jasper-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jasper', u'countrycode': u'us', u'city_id': u'20027454', u'longitude': u'-84.42919921875', u'nr_hotels': u'2', u'latitude': u'34.46780014038086'} +error: (1062, "Duplicate entry 'dzhasper-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0430\u0441\u043f\u0435\u0440', u'countrycode': u'us', u'city_id': u'20027454', u'longitude': u'-84.42919921875', u'nr_hotels': u'2', u'latitude': u'34.46780014038086'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20027459', u'longitude': u'-83.57250213623047', u'nr_hotels': u'1', u'latitude': u'34.11690139770508'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20027459', u'longitude': u'-83.57250213623047', u'nr_hotels': u'1', u'latitude': u'34.11690139770508'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'LaFayette', u'countrycode': u'us', u'city_id': u'20027617', u'longitude': u'-85.28189849853516', u'nr_hotels': u'2', u'latitude': u'34.7047004699707'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'LaFayette', u'countrycode': u'us', u'city_id': u'20027617', u'longitude': u'-85.28189849853516', u'nr_hotels': u'2', u'latitude': u'34.7047004699707'} +error: (1062, "Duplicate entry 'leszno-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Leszno', u'countrycode': u'pl', u'city_id': u'-513225', u'longitude': u'16.58329963684082', u'nr_hotels': u'8', u'latitude': u'51.849998474121094'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20027921', u'longitude': u'-83.46810150146484', u'nr_hotels': u'5', u'latitude': u'33.59560012817383'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20027921', u'longitude': u'-83.46810150146484', u'nr_hotels': u'5', u'latitude': u'33.59560012817383'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20028771', u'longitude': u'-83.73169708251953', u'nr_hotels': u'16', u'latitude': u'32.458099365234375'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20028771', u'longitude': u'-83.73169708251953', u'nr_hotels': u'16', u'latitude': u'32.458099365234375'} +error: (1062, "Duplicate entry 'smyrna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smyrna', u'countrycode': u'us', u'city_id': u'20029696', u'longitude': u'-84.51439666748047', u'nr_hotels': u'18', u'latitude': u'33.88399887084961'} +error: (1062, "Duplicate entry 'smyrna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smyrna', u'countrycode': u'us', u'city_id': u'20029696', u'longitude': u'-84.51439666748047', u'nr_hotels': u'18', u'latitude': u'33.88399887084961'} +error: (1062, "Duplicate entry 'thomasville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thomasville', u'countrycode': u'us', u'city_id': u'20030126', u'longitude': u'-83.97889709472656', u'nr_hotels': u'7', u'latitude': u'30.83639907836914'} +error: (1062, "Duplicate entry 'thomasville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Thomasville', u'countrycode': u'us', u'city_id': u'20030126', u'longitude': u'-83.97889709472656', u'nr_hotels': u'7', u'latitude': u'30.83639907836914'} +error: (1062, "Duplicate entry 'tucker-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tucker', u'countrycode': u'us', u'city_id': u'20030226', u'longitude': u'-84.21720123291016', u'nr_hotels': u'7', u'latitude': u'33.854400634765625'} +error: (1062, "Duplicate entry 'tucker-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tucker', u'countrycode': u'us', u'city_id': u'20030226', u'longitude': u'-84.21720123291016', u'nr_hotels': u'7', u'latitude': u'33.854400634765625'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20030285', u'longitude': u'-84.5470962524414', u'nr_hotels': u'9', u'latitude': u'33.582698822021484'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20030285', u'longitude': u'-84.5470962524414', u'nr_hotels': u'9', u'latitude': u'33.582698822021484'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20030752', u'longitude': u'-84.51940155029297', u'nr_hotels': u'2', u'latitude': u'34.10139846801758'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20030752', u'longitude': u'-84.51940155029297', u'nr_hotels': u'2', u'latitude': u'34.10139846801758'} +error: (1062, "Duplicate entry 'mountain-view-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mountain View', u'countrycode': u'us', u'city_id': u'20031132', u'longitude': u'-155.10800170898438', u'nr_hotels': u'3', u'latitude': u'19.55579948425293'} +error: (1062, "Duplicate entry 'mountain-view-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mountain View', u'countrycode': u'us', u'city_id': u'20031132', u'longitude': u'-155.10800170898438', u'nr_hotels': u'3', u'latitude': u'19.55579948425293'} +error: (1062, "Duplicate entry 'waimea-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waimea', u'countrycode': u'us', u'city_id': u'20031298', u'longitude': u'-159.67100524902344', u'nr_hotels': u'2', u'latitude': u'21.95829963684082'} +error: (1062, "Duplicate entry 'waimea-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waimea', u'countrycode': u'us', u'city_id': u'20031298', u'longitude': u'-159.67100524902344', u'nr_hotels': u'2', u'latitude': u'21.95829963684082'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20031497', u'longitude': u'-116.04100036621094', u'nr_hotels': u'1', u'latitude': u'44.51639938354492'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20031497', u'longitude': u'-116.04100036621094', u'nr_hotels': u'1', u'latitude': u'44.51639938354492'} +error: (1062, "Duplicate entry 'kolno-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kolno', u'countrycode': u'pl', u'city_id': u'-508530', u'longitude': u'21.933300018310547', u'nr_hotels': u'2', u'latitude': u'53.41669845581055'} +error: (1062, "Duplicate entry 'kolno-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kolno', u'countrycode': u'pl', u'city_id': u'-508530', u'longitude': u'21.933300018310547', u'nr_hotels': u'2', u'latitude': u'53.41669845581055'} +error: (1062, "Duplicate entry 'eagle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eagle', u'countrycode': u'us', u'city_id': u'20031651', u'longitude': u'-116.35299682617188', u'nr_hotels': u'1', u'latitude': u'43.69559860229492'} +error: (1062, "Duplicate entry 'eagle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Eagle', u'countrycode': u'us', u'city_id': u'20031651', u'longitude': u'-116.35299682617188', u'nr_hotels': u'1', u'latitude': u'43.69559860229492'} +error: (1062, "Duplicate entry 'hope-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hope', u'countrycode': u'us', u'city_id': u'20031882', u'longitude': u'-116.30599975585938', u'nr_hotels': u'2', u'latitude': u'48.247798919677734'} +error: (1062, "Duplicate entry 'hope-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hope', u'countrycode': u'us', u'city_id': u'20031882', u'longitude': u'-116.30599975585938', u'nr_hotels': u'2', u'latitude': u'48.247798919677734'} +error: (1062, "Duplicate entry 'kluki-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kluki', u'countrycode': u'pl', u'city_id': u'-508128', u'longitude': u'19.233299255371094', u'nr_hotels': u'2', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'kluki-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kluki', u'countrycode': u'pl', u'city_id': u'-508128', u'longitude': u'19.233299255371094', u'nr_hotels': u'2', u'latitude': u'51.349998474121094'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Meridian', u'countrycode': u'us', u'city_id': u'20032071', u'longitude': u'-116.39099884033203', u'nr_hotels': u'10', u'latitude': u'43.61220169067383'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0435\u0440\u0438\u0434\u0438\u0430\u043d', u'countrycode': u'us', u'city_id': u'20032071', u'longitude': u'-116.39099884033203', u'nr_hotels': u'10', u'latitude': u'43.61220169067383'} +error: (1062, "Duplicate entry 'mountain-home-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mountain Home', u'countrycode': u'us', u'city_id': u'20032108', u'longitude': u'-115.69000244140625', u'nr_hotels': u'3', u'latitude': u'43.13309860229492'} +error: (1062, "Duplicate entry 'mountain-home-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mountain Home', u'countrycode': u'us', u'city_id': u'20032108', u'longitude': u'-115.69000244140625', u'nr_hotels': u'3', u'latitude': u'43.13309860229492'} +error: (1062, "Duplicate entry 'sun-valley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sun Valley', u'countrycode': u'us', u'city_id': u'20032412', u'longitude': u'-114.35099792480469', u'nr_hotels': u'7', u'latitude': u'43.697200775146484'} +error: (1062, "Duplicate entry 'sun-valley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sun Valley', u'countrycode': u'us', u'city_id': u'20032412', u'longitude': u'-114.35099792480469', u'nr_hotels': u'7', u'latitude': u'43.697200775146484'} +error: (1062, "Duplicate entry 'antioch-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Antioch', u'countrycode': u'us', u'city_id': u'20032641', u'longitude': u'-88.09559631347656', u'nr_hotels': u'1', u'latitude': u'42.47719955444336'} +error: (1062, "Duplicate entry 'antioch-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Antioch', u'countrycode': u'us', u'city_id': u'20032641', u'longitude': u'-88.09559631347656', u'nr_hotels': u'1', u'latitude': u'42.47719955444336'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20032802', u'longitude': u'-88.91999816894531', u'nr_hotels': u'3', u'latitude': u'37.996700286865234'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20032802', u'longitude': u'-88.91999816894531', u'nr_hotels': u'3', u'latitude': u'37.996700286865234'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20032951', u'longitude': u'-87.85169982910156', u'nr_hotels': u'1', u'latitude': u'41.82389831542969'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20032951', u'longitude': u'-87.85169982910156', u'nr_hotels': u'1', u'latitude': u'41.82389831542969'} +error: (1062, "Duplicate entry 'cairo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cairo', u'countrycode': u'us', u'city_id': u'20033039', u'longitude': u'-89.17639923095703', u'nr_hotels': u'1', u'latitude': u'37.00529861450195'} +error: (1062, "Duplicate entry 'cairo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cairo', u'countrycode': u'us', u'city_id': u'20033039', u'longitude': u'-89.17639923095703', u'nr_hotels': u'1', u'latitude': u'37.00529861450195'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20033068', u'longitude': u'-90.03500366210938', u'nr_hotels': u'1', u'latitude': u'40.558101654052734'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20033068', u'longitude': u'-90.03500366210938', u'nr_hotels': u'1', u'latitude': u'40.558101654052734'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20033232', u'longitude': u'-88.96440124511719', u'nr_hotels': u'1', u'latitude': u'40.15359878540039'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20033232', u'longitude': u'-88.96440124511719', u'nr_hotels': u'1', u'latitude': u'40.15359878540039'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20033378', u'longitude': u'-87.62999725341797', u'nr_hotels': u'8', u'latitude': u'40.1244010925293'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20033378', u'longitude': u'-87.62999725341797', u'nr_hotels': u'8', u'latitude': u'40.1244010925293'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20033398', u'longitude': u'-88.95469665527344', u'nr_hotels': u'5', u'latitude': u'39.840301513671875'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20033398', u'longitude': u'-88.95469665527344', u'nr_hotels': u'5', u'latitude': u'39.840301513671875'} +error: (1062, "Duplicate entry 'dixon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dixon', u'countrycode': u'us', u'city_id': u'20033456', u'longitude': u'-89.47940063476562', u'nr_hotels': u'3', u'latitude': u'41.83890151977539'} +error: (1062, "Duplicate entry 'dixon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dixon', u'countrycode': u'us', u'city_id': u'20033456', u'longitude': u'-89.47940063476562', u'nr_hotels': u'3', u'latitude': u'41.83890151977539'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20033677', u'longitude': u'-88.35970306396484', u'nr_hotels': u'1', u'latitude': u'38.37889862060547'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20033677', u'longitude': u'-88.35970306396484', u'nr_hotels': u'1', u'latitude': u'38.37889862060547'} +error: (1062, "Duplicate entry 'forsyth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Forsyth', u'countrycode': u'us', u'city_id': u'20033767', u'longitude': u'-88.95110321044922', u'nr_hotels': u'5', u'latitude': u'39.932498931884766'} +error: (1062, "Duplicate entry 'forsyth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Forsyth', u'countrycode': u'us', u'city_id': u'20033767', u'longitude': u'-88.95110321044922', u'nr_hotels': u'5', u'latitude': u'39.932498931884766'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20033808', u'longitude': u'-89.62110137939453', u'nr_hotels': u'4', u'latitude': u'42.29669952392578'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20033808', u'longitude': u'-89.62110137939453', u'nr_hotels': u'4', u'latitude': u'42.29669952392578'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20033983', u'longitude': u'-89.41310119628906', u'nr_hotels': u'3', u'latitude': u'38.8922004699707'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20033983', u'longitude': u'-89.41310119628906', u'nr_hotels': u'3', u'latitude': u'38.8922004699707'} +error: (1062, "Duplicate entry 'guilford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Guilford', u'countrycode': u'us', u'city_id': u'20034004', u'longitude': u'-90.30030059814453', u'nr_hotels': u'1', u'latitude': u'42.41749954223633'} +error: (1062, "Duplicate entry 'guilford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Guilford', u'countrycode': u'us', u'city_id': u'20034004', u'longitude': u'-90.30030059814453', u'nr_hotels': u'1', u'latitude': u'42.41749954223633'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20034295', u'longitude': u'-90.22889709472656', u'nr_hotels': u'5', u'latitude': u'39.7338981628418'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20034295', u'longitude': u'-90.22889709472656', u'nr_hotels': u'5', u'latitude': u'39.7338981628418'} +error: (1062, "Duplicate entry 'lake-forest-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lake Forest', u'countrycode': u'us', u'city_id': u'20034465', u'longitude': u'-87.8405990600586', u'nr_hotels': u'1', u'latitude': u'42.25859832763672'} +error: (1062, "Duplicate entry 'lake-forest-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lake Forest', u'countrycode': u'us', u'city_id': u'20034465', u'longitude': u'-87.8405990600586', u'nr_hotels': u'1', u'latitude': u'42.25859832763672'} +error: (1062, "Duplicate entry 'lawrenceville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrenceville', u'countrycode': u'us', u'city_id': u'20034507', u'longitude': u'-87.68170166015625', u'nr_hotels': u'1', u'latitude': u'38.72919845581055'} +error: (1062, "Duplicate entry 'lawrenceville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lawrenceville', u'countrycode': u'us', u'city_id': u'20034507', u'longitude': u'-87.68170166015625', u'nr_hotels': u'1', u'latitude': u'38.72919845581055'} +error: (1062, "Duplicate entry 'lincoln-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lincoln', u'countrycode': u'us', u'city_id': u'20034558', u'longitude': u'-89.36470031738281', u'nr_hotels': u'4', u'latitude': u'40.14830017089844'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'20034558', u'longitude': u'-89.36470031738281', u'nr_hotels': u'4', u'latitude': u'40.14830017089844'} +error: (1062, "Duplicate entry 'litchfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Litchfield', u'countrycode': u'us', u'city_id': u'20034573', u'longitude': u'-89.6541976928711', u'nr_hotels': u'5', u'latitude': u'39.17530059814453'} +error: (1062, "Duplicate entry 'litchfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Litchfield', u'countrycode': u'us', u'city_id': u'20034573', u'longitude': u'-89.6541976928711', u'nr_hotels': u'5', u'latitude': u'39.17530059814453'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20034693', u'longitude': u'-88.93309783935547', u'nr_hotels': u'14', u'latitude': u'37.73059844970703'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20034693', u'longitude': u'-88.93309783935547', u'nr_hotels': u'14', u'latitude': u'37.73059844970703'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20034707', u'longitude': u'-87.693603515625', u'nr_hotels': u'1', u'latitude': u'39.39139938354492'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20034707', u'longitude': u'-87.693603515625', u'nr_hotels': u'1', u'latitude': u'39.39139938354492'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20034881', u'longitude': u'-88.57330322265625', u'nr_hotels': u'1', u'latitude': u'40.027801513671875'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20034881', u'longitude': u'-88.57330322265625', u'nr_hotels': u'1', u'latitude': u'40.027801513671875'} +error: (1062, "Duplicate entry 'montrose-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montrose', u'countrycode': u'us', u'city_id': u'20034882', u'longitude': u'-88.37920379638672', u'nr_hotels': u'1', u'latitude': u'39.16529846191406'} +error: (1062, "Duplicate entry 'montrose-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montrose', u'countrycode': u'us', u'city_id': u'20034882', u'longitude': u'-88.37920379638672', u'nr_hotels': u'1', u'latitude': u'39.16529846191406'} +error: (1062, "Duplicate entry 'morris-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morris', u'countrycode': u'us', u'city_id': u'20034895', u'longitude': u'-88.42109680175781', u'nr_hotels': u'3', u'latitude': u'41.357200622558594'} +error: (1062, "Duplicate entry 'morris-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Morris', u'countrycode': u'us', u'city_id': u'20034895', u'longitude': u'-88.42109680175781', u'nr_hotels': u'3', u'latitude': u'41.357200622558594'} +error: (1062, "Duplicate entry 'nashville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nashville', u'countrycode': u'us', u'city_id': u'20034949', u'longitude': u'-89.38059997558594', u'nr_hotels': u'1', u'latitude': u'38.34360122680664'} +error: (1062, "Duplicate entry 'nashville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nashville', u'countrycode': u'us', u'city_id': u'20034949', u'longitude': u'-89.38059997558594', u'nr_hotels': u'1', u'latitude': u'38.34360122680664'} +error: (1062, "Duplicate entry 'quincy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Quincy', u'countrycode': u'us', u'city_id': u'20035379', u'longitude': u'-91.40969848632812', u'nr_hotels': u'9', u'latitude': u'39.93560028076172'} +error: (1062, "Duplicate entry 'quincy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Quincy', u'countrycode': u'us', u'city_id': u'20035379', u'longitude': u'-91.40969848632812', u'nr_hotels': u'9', u'latitude': u'39.93560028076172'} +error: (1062, "Duplicate entry 'sheffield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sheffield', u'countrycode': u'us', u'city_id': u'20035709', u'longitude': u'-89.73719787597656', u'nr_hotels': u'1', u'latitude': u'41.358299255371094'} +error: (1062, "Duplicate entry 'sheffield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sheffield', u'countrycode': u'us', u'city_id': u'20035709', u'longitude': u'-89.73719787597656', u'nr_hotels': u'1', u'latitude': u'41.358299255371094'} +error: (1062, "Duplicate entry 'stockton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stockton', u'countrycode': u'us', u'city_id': u'20035865', u'longitude': u'-90.00669860839844', u'nr_hotels': u'1', u'latitude': u'42.349700927734375'} +error: (1062, "Duplicate entry 'stockton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stockton', u'countrycode': u'us', u'city_id': u'20035865', u'longitude': u'-90.00669860839844', u'nr_hotels': u'1', u'latitude': u'42.349700927734375'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20036041', u'longitude': u'-89.88310241699219', u'nr_hotels': u'3', u'latitude': u'38.72919845581055'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20036041', u'longitude': u'-89.88310241699219', u'nr_hotels': u'3', u'latitude': u'38.72919845581055'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20036182', u'longitude': u'-89.4072036743164', u'nr_hotels': u'2', u'latitude': u'40.7036018371582'} +error: (1062, "Duplicate entry 'vashington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0430\u0448\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20036182', u'longitude': u'-89.4072036743164', u'nr_hotels': u'2', u'latitude': u'40.7036018371582'} +error: (1062, "Duplicate entry 'white-hall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'White Hall', u'countrycode': u'us', u'city_id': u'20036277', u'longitude': u'-90.4030990600586', u'nr_hotels': u'1', u'latitude': u'39.4369010925293'} +error: (1062, "Duplicate entry 'white-hall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'White Hall', u'countrycode': u'us', u'city_id': u'20036277', u'longitude': u'-90.4030990600586', u'nr_hotels': u'1', u'latitude': u'39.4369010925293'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20036378', u'longitude': u'-88.44860076904297', u'nr_hotels': u'2', u'latitude': u'42.314701080322266'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20036378', u'longitude': u'-88.44860076904297', u'nr_hotels': u'2', u'latitude': u'42.314701080322266'} +error: (1062, "Duplicate entry 'anderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Anderson', u'countrycode': u'us', u'city_id': u'20036478', u'longitude': u'-85.6802978515625', u'nr_hotels': u'10', u'latitude': u'40.10530090332031'} +error: (1062, "Duplicate entry 'anderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Anderson', u'countrycode': u'us', u'city_id': u'20036478', u'longitude': u'-85.6802978515625', u'nr_hotels': u'10', u'latitude': u'40.10530090332031'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20036534', u'longitude': u'-85.05889892578125', u'nr_hotels': u'6', u'latitude': u'41.36690139770508'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20036534', u'longitude': u'-85.05889892578125', u'nr_hotels': u'6', u'latitude': u'41.36690139770508'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20036546', u'longitude': u'-86.39969635009766', u'nr_hotels': u'2', u'latitude': u'39.76279830932617'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20036546', u'longitude': u'-86.39969635009766', u'nr_hotels': u'2', u'latitude': u'39.76279830932617'} +error: (1062, "Duplicate entry 'batesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Batesville', u'countrycode': u'us', u'city_id': u'20036588', u'longitude': u'-85.22219848632812', u'nr_hotels': u'2', u'latitude': u'39.29999923706055'} +error: (1062, "Duplicate entry 'karmel-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u043c\u0435\u043b', u'countrycode': u'us', u'city_id': u'20036878', u'longitude': u'-86.11810302734375', u'nr_hotels': u'13', u'latitude': u'39.97829818725586'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20036971', u'longitude': u'-85.9124984741211', u'nr_hotels': u'1', u'latitude': u'40.03219985961914'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20036971', u'longitude': u'-85.9124984741211', u'nr_hotels': u'1', u'latitude': u'40.03219985961914'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20036972', u'longitude': u'-85.76000213623047', u'nr_hotels': u'6', u'latitude': u'38.29669952392578'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20036972', u'longitude': u'-85.76000213623047', u'nr_hotels': u'6', u'latitude': u'38.29669952392578'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20036988', u'longitude': u'-87.39810180664062', u'nr_hotels': u'1', u'latitude': u'39.656898498535156'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20036988', u'longitude': u'-87.39810180664062', u'nr_hotels': u'1', u'latitude': u'39.656898498535156'} +error: (1062, "Duplicate entry 'cloverdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cloverdale', u'countrycode': u'us', u'city_id': u'20036991', u'longitude': u'-86.79389953613281', u'nr_hotels': u'3', u'latitude': u'39.51470184326172'} +error: (1062, "Duplicate entry 'cloverdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cloverdale', u'countrycode': u'us', u'city_id': u'20036991', u'longitude': u'-86.79389953613281', u'nr_hotels': u'3', u'latitude': u'39.51470184326172'} +error: (1062, "Duplicate entry 'elk-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elk', u'countrycode': u'us', u'city_id': u'20037310', u'longitude': u'-86.42919921875', u'nr_hotels': u'1', u'latitude': u'39.44580078125'} +error: (1062, "Duplicate entry 'elk-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elk', u'countrycode': u'us', u'city_id': u'20037310', u'longitude': u'-86.42919921875', u'nr_hotels': u'1', u'latitude': u'39.44580078125'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20037442', u'longitude': u'-84.92440032958984', u'nr_hotels': u'2', u'latitude': u'38.78419876098633'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20037442', u'longitude': u'-84.92440032958984', u'nr_hotels': u'2', u'latitude': u'38.78419876098633'} +error: (1062, "Duplicate entry 'fowler-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fowler', u'countrycode': u'us', u'city_id': u'20037474', u'longitude': u'-87.32080078125', u'nr_hotels': u'1', u'latitude': u'40.61669921875'} +error: (1062, "Duplicate entry 'fowler-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fowler', u'countrycode': u'us', u'city_id': u'20037474', u'longitude': u'-87.32080078125', u'nr_hotels': u'1', u'latitude': u'40.61669921875'} +error: (1062, "Duplicate entry 'greenfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenfield', u'countrycode': u'us', u'city_id': u'20037625', u'longitude': u'-85.76940155029297', u'nr_hotels': u'6', u'latitude': u'39.78499984741211'} +error: (1062, "Duplicate entry 'greenfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenfield', u'countrycode': u'us', u'city_id': u'20037625', u'longitude': u'-85.76940155029297', u'nr_hotels': u'6', u'latitude': u'39.78499984741211'} +error: (1062, "Duplicate entry 'jasper-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jasper', u'countrycode': u'us', u'city_id': u'20037913', u'longitude': u'-86.93109893798828', u'nr_hotels': u'4', u'latitude': u'38.39139938354492'} +error: (1062, "Duplicate entry 'jasper-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jasper', u'countrycode': u'us', u'city_id': u'20037913', u'longitude': u'-86.93109893798828', u'nr_hotels': u'4', u'latitude': u'38.39139938354492'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20037917', u'longitude': u'-85.73719787597656', u'nr_hotels': u'7', u'latitude': u'38.27750015258789'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20037917', u'longitude': u'-85.73719787597656', u'nr_hotels': u'7', u'latitude': u'38.27750015258789'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lafayette', u'countrycode': u'us', u'city_id': u'20038022', u'longitude': u'-86.87529754638672', u'nr_hotels': u'18', u'latitude': u'40.41669845581055'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lafayette', u'countrycode': u'us', u'city_id': u'20038022', u'longitude': u'-86.87529754638672', u'nr_hotels': u'18', u'latitude': u'40.41669845581055'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20038208', u'longitude': u'-85.37999725341797', u'nr_hotels': u'6', u'latitude': u'38.735801696777344'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20038208', u'longitude': u'-85.37999725341797', u'nr_hotels': u'6', u'latitude': u'38.735801696777344'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20038246', u'longitude': u'-85.6592025756836', u'nr_hotels': u'4', u'latitude': u'40.55830001831055'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20038246', u'longitude': u'-85.6592025756836', u'nr_hotels': u'4', u'latitude': u'40.55830001831055'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20038414', u'longitude': u'-86.76470184326172', u'nr_hotels': u'2', u'latitude': u'40.74530029296875'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20038414', u'longitude': u'-86.76470184326172', u'nr_hotels': u'2', u'latitude': u'40.74530029296875'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20038465', u'longitude': u'-87.8949966430664', u'nr_hotels': u'1', u'latitude': u'37.93220138549805'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20038465', u'longitude': u'-87.8949966430664', u'nr_hotels': u'1', u'latitude': u'37.93220138549805'} +error: (1062, "Duplicate entry 'nashville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nashville', u'countrycode': u'us', u'city_id': u'20038484', u'longitude': u'-86.2510986328125', u'nr_hotels': u'1', u'latitude': u'39.20719909667969'} +error: (1062, "Duplicate entry 'nashville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nashville', u'countrycode': u'us', u'city_id': u'20038484', u'longitude': u'-86.2510986328125', u'nr_hotels': u'1', u'latitude': u'39.20719909667969'} +error: (1062, "Duplicate entry 'new-haven-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Haven', u'countrycode': u'us', u'city_id': u'20038524', u'longitude': u'-85.01439666748047', u'nr_hotels': u'1', u'latitude': u'41.07059860229492'} +error: (1062, "Duplicate entry 'new-haven-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Haven', u'countrycode': u'us', u'city_id': u'20038524', u'longitude': u'-85.01439666748047', u'nr_hotels': u'1', u'latitude': u'41.07059860229492'} +error: (1062, "Duplicate entry 'peru-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Peru', u'countrycode': u'us', u'city_id': u'20038771', u'longitude': u'-86.06890106201172', u'nr_hotels': u'1', u'latitude': u'40.75360107421875'} +error: (1062, "Duplicate entry 'peru-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Peru', u'countrycode': u'us', u'city_id': u'20038771', u'longitude': u'-86.06890106201172', u'nr_hotels': u'1', u'latitude': u'40.75360107421875'} +error: (1062, "Duplicate entry 'plainfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plainfield', u'countrycode': u'us', u'city_id': u'20038814', u'longitude': u'-86.39939880371094', u'nr_hotels': u'13', u'latitude': u'39.704200744628906'} +error: (1062, "Duplicate entry 'plainfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plainfield', u'countrycode': u'us', u'city_id': u'20038814', u'longitude': u'-86.39939880371094', u'nr_hotels': u'13', u'latitude': u'39.704200744628906'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20038839', u'longitude': u'-86.30970001220703', u'nr_hotels': u'1', u'latitude': u'41.34360122680664'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20038839', u'longitude': u'-86.30970001220703', u'nr_hotels': u'1', u'latitude': u'41.34360122680664'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20038859', u'longitude': u'-84.97779846191406', u'nr_hotels': u'2', u'latitude': u'40.43439865112305'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richmond', u'countrycode': u'us', u'city_id': u'20038963', u'longitude': u'-84.89029693603516', u'nr_hotels': u'6', u'latitude': u'39.82889938354492'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0438\u0447\u043c\u043e\u043d\u0434', u'countrycode': u'us', u'city_id': u'20038963', u'longitude': u'-84.89029693603516', u'nr_hotels': u'6', u'latitude': u'39.82889938354492'} +error: (1062, "Duplicate entry 'rushville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rushville', u'countrycode': u'us', u'city_id': u'20039066', u'longitude': u'-85.44640350341797', u'nr_hotels': u'1', u'latitude': u'39.60919952392578'} +error: (1062, "Duplicate entry 'rushville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rushville', u'countrycode': u'us', u'city_id': u'20039066', u'longitude': u'-85.44640350341797', u'nr_hotels': u'1', u'latitude': u'39.60919952392578'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20039103', u'longitude': u'-86.1010971069336', u'nr_hotels': u'1', u'latitude': u'38.60559844970703'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20039103', u'longitude': u'-86.1010971069336', u'nr_hotels': u'1', u'latitude': u'38.60559844970703'} +error: (1062, "Duplicate entry 'southport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Southport', u'countrycode': u'us', u'city_id': u'20039274', u'longitude': u'-86.12779998779297', u'nr_hotels': u'4', u'latitude': u'39.665000915527344'} +error: (1062, "Duplicate entry 'southport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Southport', u'countrycode': u'us', u'city_id': u'20039274', u'longitude': u'-86.12779998779297', u'nr_hotels': u'4', u'latitude': u'39.665000915527344'} +error: (1062, "Duplicate entry 'stevenson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stevenson', u'countrycode': u'us', u'city_id': u'20039336', u'longitude': u'-87.43329620361328', u'nr_hotels': u'0', u'latitude': u'38.016700744628906'} +error: (1062, "Duplicate entry 'stevenson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stevenson', u'countrycode': u'us', u'city_id': u'20039336', u'longitude': u'-87.43329620361328', u'nr_hotels': u'0', u'latitude': u'38.016700744628906'} +error: (1062, "Duplicate entry 'byichina-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u044b\u0447\u0438\u043d\u0430', u'countrycode': u'pl', u'city_id': u'-496355', u'longitude': u'19.316699981689453', u'nr_hotels': u'1', u'latitude': u'50.16669845581055'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20039533', u'longitude': u'-84.80919647216797', u'nr_hotels': u'1', u'latitude': u'40.201900482177734'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20039533', u'longitude': u'-84.80919647216797', u'nr_hotels': u'1', u'latitude': u'40.201900482177734'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20039620', u'longitude': u'-85.42720031738281', u'nr_hotels': u'2', u'latitude': u'40.68280029296875'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20039620', u'longitude': u'-85.42720031738281', u'nr_hotels': u'2', u'latitude': u'40.68280029296875'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20040103', u'longitude': u'-91.11280059814453', u'nr_hotels': u'4', u'latitude': u'40.807498931884766'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20040103', u'longitude': u'-91.11280059814453', u'nr_hotels': u'4', u'latitude': u'40.807498931884766'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20040221', u'longitude': u'-90.1885986328125', u'nr_hotels': u'3', u'latitude': u'41.844398498535156'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20040221', u'longitude': u'-90.1885986328125', u'nr_hotels': u'3', u'latitude': u'41.844398498535156'} +error: (1062, "Duplicate entry 'colfax-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Colfax', u'countrycode': u'us', u'city_id': u'20040239', u'longitude': u'-93.24500274658203', u'nr_hotels': u'2', u'latitude': u'41.677799224853516'} +error: (1062, "Duplicate entry 'colfax-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Colfax', u'countrycode': u'us', u'city_id': u'20040239', u'longitude': u'-93.24500274658203', u'nr_hotels': u'2', u'latitude': u'41.677799224853516'} +error: (1062, "Duplicate entry 'davenport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Davenport', u'countrycode': u'us', u'city_id': u'20040319', u'longitude': u'-90.57749938964844', u'nr_hotels': u'15', u'latitude': u'41.52360153198242'} +error: (1062, "Duplicate entry 'davenport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0430\u0432\u0435\u043d\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'20040319', u'longitude': u'-90.57749938964844', u'nr_hotels': u'15', u'latitude': u'41.52360153198242'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20040812', u'longitude': u'-94.377197265625', u'nr_hotels': u'1', u'latitude': u'42.01530075073242'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20040812', u'longitude': u'-94.377197265625', u'nr_hotels': u'1', u'latitude': u'42.01530075073242'} +error: (1062, "Duplicate entry 'boleslavets-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u043e\u043b\u0435\u0441\u043b\u0430\u0432\u0435\u0446', u'countrycode': u'pl', u'city_id': u'-494466', u'longitude': u'18.200000762939453', u'nr_hotels': u'1', u'latitude': u'51.20000076293945'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20041035', u'longitude': u'-91.4552993774414', u'nr_hotels': u'1', u'latitude': u'42.48419952392578'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20041035', u'longitude': u'-91.4552993774414', u'nr_hotels': u'1', u'latitude': u'42.48419952392578'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20041127', u'longitude': u'-95.14969635009766', u'nr_hotels': u'1', u'latitude': u'43.32469940185547'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20041127', u'longitude': u'-95.14969635009766', u'nr_hotels': u'1', u'latitude': u'43.32469940185547'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20041195', u'longitude': u'-91.41670227050781', u'nr_hotels': u'1', u'latitude': u'41.92190170288086'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20041195', u'longitude': u'-91.41670227050781', u'nr_hotels': u'1', u'latitude': u'41.92190170288086'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20041243', u'longitude': u'-93.04779815673828', u'nr_hotels': u'7', u'latitude': u'41.69969940185547'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20041243', u'longitude': u'-93.04779815673828', u'nr_hotels': u'7', u'latitude': u'41.69969940185547'} +error: (1062, "Duplicate entry 'osceola-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Osceola', u'countrycode': u'us', u'city_id': u'20041323', u'longitude': u'-93.76529693603516', u'nr_hotels': u'5', u'latitude': u'41.03390121459961'} +error: (1062, "Duplicate entry 'osceola-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Osceola', u'countrycode': u'us', u'city_id': u'20041323', u'longitude': u'-93.76529693603516', u'nr_hotels': u'5', u'latitude': u'41.03390121459961'} +error: (1062, "Duplicate entry 'walnut-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Walnut', u'countrycode': u'us', u'city_id': u'20041886', u'longitude': u'-95.2217025756836', u'nr_hotels': u'1', u'latitude': u'41.477500915527344'} +error: (1062, "Duplicate entry 'walnut-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Walnut', u'countrycode': u'us', u'city_id': u'20041886', u'longitude': u'-95.2217025756836', u'nr_hotels': u'1', u'latitude': u'41.477500915527344'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20041897', u'longitude': u'-91.69280242919922', u'nr_hotels': u'1', u'latitude': u'41.299198150634766'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20041897', u'longitude': u'-91.69280242919922', u'nr_hotels': u'1', u'latitude': u'41.299198150634766'} +error: (1062, "Duplicate entry 'waverly-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waverly', u'countrycode': u'us', u'city_id': u'20041914', u'longitude': u'-92.47530364990234', u'nr_hotels': u'1', u'latitude': u'42.725799560546875'} +error: (1062, "Duplicate entry 'waverly-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waverly', u'countrycode': u'us', u'city_id': u'20041914', u'longitude': u'-92.47530364990234', u'nr_hotels': u'1', u'latitude': u'42.725799560546875'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20042347', u'longitude': u'-94.84390258789062', u'nr_hotels': u'1', u'latitude': u'37.1692008972168'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20042347', u'longitude': u'-94.84390258789062', u'nr_hotels': u'1', u'latitude': u'37.1692008972168'} +error: (1062, "Duplicate entry 'edwardsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Edwardsville', u'countrycode': u'us', u'city_id': u'20042463', u'longitude': u'-94.81939697265625', u'nr_hotels': u'1', u'latitude': u'39.061100006103516'} +error: (1062, "Duplicate entry 'edwardsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Edwardsville', u'countrycode': u'us', u'city_id': u'20042463', u'longitude': u'-94.81939697265625', u'nr_hotels': u'1', u'latitude': u'39.061100006103516'} +error: (1062, "Duplicate entry 'el-dorado-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'El Dorado', u'countrycode': u'us', u'city_id': u'20042465', u'longitude': u'-96.86190032958984', u'nr_hotels': u'3', u'latitude': u'37.81719970703125'} +error: (1062, "Duplicate entry 'el-dorado-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'El Dorado', u'countrycode': u'us', u'city_id': u'20042465', u'longitude': u'-96.86190032958984', u'nr_hotels': u'3', u'latitude': u'37.81719970703125'} +error: (1062, "Duplicate entry 'goodland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Goodland', u'countrycode': u'us', u'city_id': u'20042598', u'longitude': u'-101.70999908447266', u'nr_hotels': u'4', u'latitude': u'39.350799560546875'} +error: (1062, "Duplicate entry 'goodland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Goodland', u'countrycode': u'us', u'city_id': u'20042598', u'longitude': u'-101.70999908447266', u'nr_hotels': u'4', u'latitude': u'39.350799560546875'} +error: (1062, "Duplicate entry 'greensburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greensburg', u'countrycode': u'us', u'city_id': u'20042618', u'longitude': u'-99.29219818115234', u'nr_hotels': u'1', u'latitude': u'37.60279846191406'} +error: (1062, "Duplicate entry 'greensburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greensburg', u'countrycode': u'us', u'city_id': u'20042618', u'longitude': u'-99.29219818115234', u'nr_hotels': u'1', u'latitude': u'37.60279846191406'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20042745', u'longitude': u'-95.70809936523438', u'nr_hotels': u'2', u'latitude': u'37.22420120239258'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20042745', u'longitude': u'-95.70809936523438', u'nr_hotels': u'2', u'latitude': u'37.22420120239258'} +error: (1062, "Duplicate entry 'kansas-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kansas City', u'countrycode': u'us', u'city_id': u'20042778', u'longitude': u'-94.6261978149414', u'nr_hotels': u'6', u'latitude': u'39.102699279785156'} +error: (1062, "Duplicate entry 'lansing-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lansing', u'countrycode': u'us', u'city_id': u'20042841', u'longitude': u'-94.9000015258789', u'nr_hotels': u'1', u'latitude': u'39.248600006103516'} +error: (1062, "Duplicate entry 'lansing-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lansing', u'countrycode': u'us', u'city_id': u'20042841', u'longitude': u'-94.9000015258789', u'nr_hotels': u'1', u'latitude': u'39.248600006103516'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20043081', u'longitude': u'-97.3447036743164', u'nr_hotels': u'4', u'latitude': u'38.04669952392578'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20043081', u'longitude': u'-97.3447036743164', u'nr_hotels': u'4', u'latitude': u'38.04669952392578'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20043093', u'longitude': u'-99.89109802246094', u'nr_hotels': u'3', u'latitude': u'39.833900451660156'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20043093', u'longitude': u'-99.89109802246094', u'nr_hotels': u'3', u'latitude': u'39.833900451660156'} +error: (1062, "Duplicate entry 'oakley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakley', u'countrycode': u'us', u'city_id': u'20043104', u'longitude': u'-100.86299896240234', u'nr_hotels': u'4', u'latitude': u'39.13330078125'} +error: (1062, "Duplicate entry 'ottawa-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ottawa', u'countrycode': u'us', u'city_id': u'20043137', u'longitude': u'-95.26750183105469', u'nr_hotels': u'6', u'latitude': u'38.6156005859375'} +error: (1062, "Duplicate entry 'ottawa-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ottawa', u'countrycode': u'us', u'city_id': u'20043137', u'longitude': u'-95.26750183105469', u'nr_hotels': u'6', u'latitude': u'38.6156005859375'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20043192', u'longitude': u'-94.70469665527344', u'nr_hotels': u'5', u'latitude': u'37.41080093383789'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20043192', u'longitude': u'-94.70469665527344', u'nr_hotels': u'5', u'latitude': u'37.41080093383789'} +error: (1062, "Duplicate entry 'zomb-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0417\u043e\u043c\u0431', u'countrycode': u'pl', u'city_id': u'900049123', u'longitude': u'19.94700050354004', u'nr_hotels': u'1', u'latitude': u'49.33700180053711'} +error: (1062, "Duplicate entry 'wellington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wellington', u'countrycode': u'us', u'city_id': u'20043587', u'longitude': u'-97.37139892578125', u'nr_hotels': u'2', u'latitude': u'37.26530075073242'} +error: (1062, "Duplicate entry 'wellington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wellington', u'countrycode': u'us', u'city_id': u'20043587', u'longitude': u'-97.37139892578125', u'nr_hotels': u'2', u'latitude': u'37.26530075073242'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20043932', u'longitude': u'-84.47889709472656', u'nr_hotels': u'1', u'latitude': u'39.10639953613281'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20043932', u'longitude': u'-84.47889709472656', u'nr_hotels': u'1', u'latitude': u'39.10639953613281'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20043951', u'longitude': u'-88.35030364990234', u'nr_hotels': u'1', u'latitude': u'36.857200622558594'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20043951', u'longitude': u'-88.35030364990234', u'nr_hotels': u'1', u'latitude': u'36.857200622558594'} +error: (1062, "Duplicate entry 'zielonki-pl' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Zielonki', u'countrycode': u'pl', u'city_id': u'900051527', u'longitude': u'20.81444549560547', u'nr_hotels': u'1', u'latitude': u'52.25185775756836'} +error: (1062, "Duplicate entry 'zielonki-pl' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Zielonki', u'countrycode': u'pl', u'city_id': u'900051527', u'longitude': u'20.81444549560547', u'nr_hotels': u'1', u'latitude': u'52.25185775756836'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20044316', u'longitude': u'-85.17939758300781', u'nr_hotels': u'3', u'latitude': u'38.68080139160156'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20044316', u'longitude': u'-85.17939758300781', u'nr_hotels': u'3', u'latitude': u'38.68080139160156'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20044494', u'longitude': u'-85.306396484375', u'nr_hotels': u'1', u'latitude': u'37.10279846191406'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20044494', u'longitude': u'-85.306396484375', u'nr_hotels': u'1', u'latitude': u'37.10279846191406'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20044559', u'longitude': u'-84.50859832763672', u'nr_hotels': u'7', u'latitude': u'39.08359909057617'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20044664', u'longitude': u'-84.77220153808594', u'nr_hotels': u'3', u'latitude': u'37.645599365234375'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20044664', u'longitude': u'-84.77220153808594', u'nr_hotels': u'3', u'latitude': u'37.645599365234375'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20045094', u'longitude': u'-84.62670135498047', u'nr_hotels': u'18', u'latitude': u'38.9989013671875'} +error: (1062, "Duplicate entry 'frankfort-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Frankfort', u'countrycode': u'us', u'city_id': u'20045140', u'longitude': u'-84.87329864501953', u'nr_hotels': u'4', u'latitude': u'38.200801849365234'} +error: (1062, "Duplicate entry 'frankfort-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Frankfort', u'countrycode': u'us', u'city_id': u'20045140', u'longitude': u'-84.87329864501953', u'nr_hotels': u'4', u'latitude': u'38.200801849365234'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20045141', u'longitude': u'-86.57720184326172', u'nr_hotels': u'9', u'latitude': u'36.722198486328125'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20045141', u'longitude': u'-86.57720184326172', u'nr_hotels': u'9', u'latitude': u'36.722198486328125'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20045231', u'longitude': u'-84.55889892578125', u'nr_hotels': u'11', u'latitude': u'38.20970153808594'} +error: (1062, "Duplicate entry 'dzhordzhtaun-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u043e\u0440\u0434\u0436\u0442\u0430\u0443\u043d', u'countrycode': u'us', u'city_id': u'20045231', u'longitude': u'-84.55889892578125', u'nr_hotels': u'11', u'latitude': u'38.20970153808594'} +error: (1062, "Duplicate entry 'greenwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenwood', u'countrycode': u'us', u'city_id': u'20045357', u'longitude': u'-86.41999816894531', u'nr_hotels': u'1', u'latitude': u'36.94029998779297'} +error: (1062, "Duplicate entry 'greenwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenwood', u'countrycode': u'us', u'city_id': u'20045357', u'longitude': u'-86.41999816894531', u'nr_hotels': u'1', u'latitude': u'36.94029998779297'} +error: (1062, "Duplicate entry 'harlan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harlan', u'countrycode': u'us', u'city_id': u'20045448', u'longitude': u'-83.3218994140625', u'nr_hotels': u'1', u'latitude': u'36.843101501464844'} +error: (1062, "Duplicate entry 'harlan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harlan', u'countrycode': u'us', u'city_id': u'20045448', u'longitude': u'-83.3218994140625', u'nr_hotels': u'1', u'latitude': u'36.843101501464844'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20045748', u'longitude': u'-83.38359832763672', u'nr_hotels': u'1', u'latitude': u'37.5531005859375'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20045748', u'longitude': u'-83.38359832763672', u'nr_hotels': u'1', u'latitude': u'37.5531005859375'} +error: (1062, "Duplicate entry 'la-grange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Grange', u'countrycode': u'us', u'city_id': u'20045914', u'longitude': u'-85.37889862060547', u'nr_hotels': u'2', u'latitude': u'38.407501220703125'} +error: (1062, "Duplicate entry 'la-grange-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Grange', u'countrycode': u'us', u'city_id': u'20045914', u'longitude': u'-85.37889862060547', u'nr_hotels': u'2', u'latitude': u'38.407501220703125'} +error: (1062, "Duplicate entry 'lawrenceburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrenceburg', u'countrycode': u'us', u'city_id': u'20045959', u'longitude': u'-84.89669799804688', u'nr_hotels': u'1', u'latitude': u'38.037200927734375'} +error: (1062, "Duplicate entry 'lawrenceburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lawrenceburg', u'countrycode': u'us', u'city_id': u'20045959', u'longitude': u'-84.89669799804688', u'nr_hotels': u'1', u'latitude': u'38.037200927734375'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20045969', u'longitude': u'-85.25279998779297', u'nr_hotels': u'1', u'latitude': u'37.569698333740234'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20045969', u'longitude': u'-85.25279998779297', u'nr_hotels': u'1', u'latitude': u'37.569698333740234'} +error: (1062, "Duplicate entry 'louisville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Louisville', u'countrycode': u'us', u'city_id': u'20046120', u'longitude': u'-85.7593994140625', u'nr_hotels': u'37', u'latitude': u'38.25419998168945'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20046312', u'longitude': u'-85.53890228271484', u'nr_hotels': u'2', u'latitude': u'38.24530029296875'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20046312', u'longitude': u'-85.53890228271484', u'nr_hotels': u'2', u'latitude': u'38.24530029296875'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20046378', u'longitude': u'-84.84919738769531', u'nr_hotels': u'2', u'latitude': u'36.8297004699707'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20046378', u'longitude': u'-84.84919738769531', u'nr_hotels': u'2', u'latitude': u'36.8297004699707'} +error: (1062, "Duplicate entry 'mount-sterling-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Sterling', u'countrycode': u'us', u'city_id': u'20046430', u'longitude': u'-83.94329833984375', u'nr_hotels': u'3', u'latitude': u'38.056400299072266'} +error: (1062, "Duplicate entry 'mount-sterling-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Sterling', u'countrycode': u'us', u'city_id': u'20046430', u'longitude': u'-83.94329833984375', u'nr_hotels': u'3', u'latitude': u'38.056400299072266'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20046433', u'longitude': u'-84.3405990600586', u'nr_hotels': u'4', u'latitude': u'37.35279846191406'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20046433', u'longitude': u'-84.3405990600586', u'nr_hotels': u'4', u'latitude': u'37.35279846191406'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20046708', u'longitude': u'-84.25309753417969', u'nr_hotels': u'1', u'latitude': u'38.20970153808594'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20046708', u'longitude': u'-84.25309753417969', u'nr_hotels': u'1', u'latitude': u'38.20970153808594'} +error: (1062, "Duplicate entry 'park-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Park City', u'countrycode': u'us', u'city_id': u'20046710', u'longitude': u'-86.04640197753906', u'nr_hotels': u'1', u'latitude': u'37.09389877319336'} +error: (1062, "Duplicate entry 'park-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Park City', u'countrycode': u'us', u'city_id': u'20046710', u'longitude': u'-86.04640197753906', u'nr_hotels': u'1', u'latitude': u'37.09389877319336'} +error: (1062, "Duplicate entry 'princeton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Princeton', u'countrycode': u'us', u'city_id': u'20046929', u'longitude': u'-87.88189697265625', u'nr_hotels': u'2', u'latitude': u'37.10919952392578'} +error: (1062, "Duplicate entry 'princeton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Princeton', u'countrycode': u'us', u'city_id': u'20046929', u'longitude': u'-87.88189697265625', u'nr_hotels': u'2', u'latitude': u'37.10919952392578'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richmond', u'countrycode': u'us', u'city_id': u'20047041', u'longitude': u'-84.2947006225586', u'nr_hotels': u'12', u'latitude': u'37.747798919677734'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0438\u0447\u043c\u043e\u043d\u0434', u'countrycode': u'us', u'city_id': u'20047041', u'longitude': u'-84.2947006225586', u'nr_hotels': u'12', u'latitude': u'37.747798919677734'} +error: (1062, "Duplicate entry 'rogers-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rogers', u'countrycode': u'us', u'city_id': u'20047105', u'longitude': u'-83.6355972290039', u'nr_hotels': u'1', u'latitude': u'37.743900299072266'} +error: (1062, "Duplicate entry 'rogers-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rogers', u'countrycode': u'us', u'city_id': u'20047105', u'longitude': u'-83.6355972290039', u'nr_hotels': u'1', u'latitude': u'37.743900299072266'} +error: (1062, "Duplicate entry 'russellville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Russellville', u'countrycode': u'us', u'city_id': u'20047162', u'longitude': u'-86.88719940185547', u'nr_hotels': u'1', u'latitude': u'36.845298767089844'} +error: (1062, "Duplicate entry 'russellville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Russellville', u'countrycode': u'us', u'city_id': u'20047162', u'longitude': u'-86.88719940185547', u'nr_hotels': u'1', u'latitude': u'36.845298767089844'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20047302', u'longitude': u'-85.22360229492188', u'nr_hotels': u'5', u'latitude': u'38.21189880371094'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20047302', u'longitude': u'-85.22360229492188', u'nr_hotels': u'5', u'latitude': u'38.21189880371094'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20047437', u'longitude': u'-84.90689849853516', u'nr_hotels': u'1', u'latitude': u'38.67689895629883'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20047437', u'longitude': u'-84.90689849853516', u'nr_hotels': u'1', u'latitude': u'38.67689895629883'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20047459', u'longitude': u'-85.22219848632812', u'nr_hotels': u'2', u'latitude': u'37.685298919677734'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20047459', u'longitude': u'-85.22219848632812', u'nr_hotels': u'2', u'latitude': u'37.685298919677734'} +error: (1062, "Duplicate entry 'wildwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wildwood', u'countrycode': u'us', u'city_id': u'20048000', u'longitude': u'-85.5730972290039', u'nr_hotels': u'4', u'latitude': u'38.2494010925293'} +error: (1062, "Duplicate entry 'williamsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamsburg', u'countrycode': u'us', u'city_id': u'20048009', u'longitude': u'-84.15969848632812', u'nr_hotels': u'3', u'latitude': u'36.74330139160156'} +error: (1062, "Duplicate entry 'williamsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamsburg', u'countrycode': u'us', u'city_id': u'20048009', u'longitude': u'-84.15969848632812', u'nr_hotels': u'3', u'latitude': u'36.74330139160156'} +error: (1062, "Duplicate entry 'abbeville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Abbeville', u'countrycode': u'us', u'city_id': u'20048142', u'longitude': u'-92.13420104980469', u'nr_hotels': u'4', u'latitude': u'29.97439956665039'} +error: (1062, "Duplicate entry 'arcadia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arcadia', u'countrycode': u'us', u'city_id': u'20048229', u'longitude': u'-92.91999816894531', u'nr_hotels': u'1', u'latitude': u'32.54890060424805'} +error: (1062, "Duplicate entry 'arcadia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arcadia', u'countrycode': u'us', u'city_id': u'20048229', u'longitude': u'-92.91999816894531', u'nr_hotels': u'1', u'latitude': u'32.54890060424805'} +error: (1062, "Duplicate entry 'avondale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avondale', u'countrycode': u'us', u'city_id': u'20048277', u'longitude': u'-90.20359802246094', u'nr_hotels': u'2', u'latitude': u'29.912799835205078'} +error: (1062, "Duplicate entry 'avondale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Avondale', u'countrycode': u'us', u'city_id': u'20048277', u'longitude': u'-90.20359802246094', u'nr_hotels': u'2', u'latitude': u'29.912799835205078'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20048861', u'longitude': u'-90.10079956054688', u'nr_hotels': u'13', u'latitude': u'30.475299835205078'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20048861', u'longitude': u'-90.10079956054688', u'nr_hotels': u'13', u'latitude': u'30.475299835205078'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20049231', u'longitude': u'-91.50140380859375', u'nr_hotels': u'0', u'latitude': u'29.795799255371094'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20049231', u'longitude': u'-91.50140380859375', u'nr_hotels': u'0', u'latitude': u'29.795799255371094'} +error: (1062, "Duplicate entry 'hammond-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hammond', u'countrycode': u'us', u'city_id': u'20049454', u'longitude': u'-90.46109771728516', u'nr_hotels': u'9', u'latitude': u'30.504199981689453'} +error: (1062, "Duplicate entry 'hammond-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hammond', u'countrycode': u'us', u'city_id': u'20049454', u'longitude': u'-90.46109771728516', u'nr_hotels': u'9', u'latitude': u'30.504199981689453'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20049476', u'longitude': u'-90.07720184326172', u'nr_hotels': u'3', u'latitude': u'29.90329933166504'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20049476', u'longitude': u'-90.07720184326172', u'nr_hotels': u'3', u'latitude': u'29.90329933166504'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20049500', u'longitude': u'-91.79029846191406', u'nr_hotels': u'1', u'latitude': u'30.313100814819336'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20049500', u'longitude': u'-91.79029846191406', u'nr_hotels': u'1', u'latitude': u'30.313100814819336'} +error: (1062, "Duplicate entry 'jonesboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jonesboro', u'countrycode': u'us', u'city_id': u'20049685', u'longitude': u'-92.7157974243164', u'nr_hotels': u'1', u'latitude': u'32.2411003112793'} +error: (1062, "Duplicate entry 'jonesboro-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jonesboro', u'countrycode': u'us', u'city_id': u'20049685', u'longitude': u'-92.7157974243164', u'nr_hotels': u'1', u'latitude': u'32.2411003112793'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lafayette', u'countrycode': u'us', u'city_id': u'20049769', u'longitude': u'-92.01969909667969', u'nr_hotels': u'38', u'latitude': u'30.223899841308594'} +error: (1062, "Duplicate entry 'vila-nova-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vila Nova', u'countrycode': u'pt', u'city_id': u'-2179584', u'longitude': u'-8.266670227050781', u'nr_hotels': u'1', u'latitude': u'40.28329849243164'} +error: (1062, "Duplicate entry 'vila-nova-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vila Nova', u'countrycode': u'pt', u'city_id': u'-2179584', u'longitude': u'-8.266670227050781', u'nr_hotels': u'1', u'latitude': u'40.28329849243164'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20050158', u'longitude': u'-92.11920166015625', u'nr_hotels': u'9', u'latitude': u'32.50920104980469'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20050158', u'longitude': u'-92.11920166015625', u'nr_hotels': u'9', u'latitude': u'32.50920104980469'} +error: (1062, "Duplicate entry 'oberlin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oberlin', u'countrycode': u'us', u'city_id': u'20050377', u'longitude': u'-92.76249694824219', u'nr_hotels': u'1', u'latitude': u'30.6200008392334'} +error: (1062, "Duplicate entry 'oberlin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oberlin', u'countrycode': u'us', u'city_id': u'20050377', u'longitude': u'-92.76249694824219', u'nr_hotels': u'1', u'latitude': u'30.6200008392334'} +error: (1062, "Duplicate entry 'roseland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roseland', u'countrycode': u'us', u'city_id': u'20050736', u'longitude': u'-90.51170349121094', u'nr_hotels': u'1', u'latitude': u'30.764699935913086'} +error: (1062, "Duplicate entry 'roseland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Roseland', u'countrycode': u'us', u'city_id': u'20050736', u'longitude': u'-90.51170349121094', u'nr_hotels': u'1', u'latitude': u'30.764699935913086'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20050969', u'longitude': u'-90.54859924316406', u'nr_hotels': u'1', u'latitude': u'30.42889976501465'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20050969', u'longitude': u'-90.54859924316406', u'nr_hotels': u'1', u'latitude': u'30.42889976501465'} +error: (1062, "Duplicate entry 'vidalia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vidalia', u'countrycode': u'us', u'city_id': u'20051202', u'longitude': u'-91.42579650878906', u'nr_hotels': u'1', u'latitude': u'31.56529998779297'} +error: (1062, "Duplicate entry 'vidalia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vidalia', u'countrycode': u'us', u'city_id': u'20051202', u'longitude': u'-91.42579650878906', u'nr_hotels': u'1', u'latitude': u'31.56529998779297'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20051230', u'longitude': u'-90.86139678955078', u'nr_hotels': u'1', u'latitude': u'30.48780059814453'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20051230', u'longitude': u'-90.86139678955078', u'nr_hotels': u'1', u'latitude': u'30.48780059814453'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20051455', u'longitude': u'-70.23169708251953', u'nr_hotels': u'5', u'latitude': u'44.097801208496094'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20051455', u'longitude': u'-70.23169708251953', u'nr_hotels': u'5', u'latitude': u'44.097801208496094'} +error: (1062, "Duplicate entry 'augusta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Augusta', u'countrycode': u'us', u'city_id': u'20051457', u'longitude': u'-69.77999877929688', u'nr_hotels': u'7', u'latitude': u'44.31060028076172'} +error: (1062, "Duplicate entry 'augusta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Augusta', u'countrycode': u'us', u'city_id': u'20051457', u'longitude': u'-69.77999877929688', u'nr_hotels': u'7', u'latitude': u'44.31060028076172'} +error: (1062, "Duplicate entry 'bethel-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bethel', u'countrycode': u'us', u'city_id': u'20051519', u'longitude': u'-70.79109954833984', u'nr_hotels': u'5', u'latitude': u'44.40420150756836'} +error: (1062, "Duplicate entry 'bethel-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bethel', u'countrycode': u'us', u'city_id': u'20051519', u'longitude': u'-70.79109954833984', u'nr_hotels': u'5', u'latitude': u'44.40420150756836'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20052034', u'longitude': u'-70.10359954833984', u'nr_hotels': u'10', u'latitude': u'43.85689926147461'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20052034', u'longitude': u'-70.10359954833984', u'nr_hotels': u'10', u'latitude': u'43.85689926147461'} +error: (1062, "Duplicate entry 'lewiston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lewiston', u'countrycode': u'us', u'city_id': u'20052356', u'longitude': u'-70.21530151367188', u'nr_hotels': u'2', u'latitude': u'44.10029983520508'} +error: (1062, "Duplicate entry 'lewiston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lewiston', u'countrycode': u'us', u'city_id': u'20052356', u'longitude': u'-70.21530151367188', u'nr_hotels': u'2', u'latitude': u'44.10029983520508'} +error: (1062, "Duplicate entry 'lincoln-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lincoln', u'countrycode': u'us', u'city_id': u'20052370', u'longitude': u'-68.50559997558594', u'nr_hotels': u'3', u'latitude': u'45.36220169067383'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'20052370', u'longitude': u'-68.50559997558594', u'nr_hotels': u'3', u'latitude': u'45.36220169067383'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20052437', u'longitude': u'-69.86080169677734', u'nr_hotels': u'1', u'latitude': u'44.32440185546875'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20052437', u'longitude': u'-69.86080169677734', u'nr_hotels': u'1', u'latitude': u'44.32440185546875'} +error: (1062, "Duplicate entry 'naples-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Naples', u'countrycode': u'us', u'city_id': u'20052564', u'longitude': u'-70.60970306396484', u'nr_hotels': u'2', u'latitude': u'43.97169876098633'} +error: (1062, "Duplicate entry 'naples-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Naples', u'countrycode': u'us', u'city_id': u'20052564', u'longitude': u'-70.60970306396484', u'nr_hotels': u'2', u'latitude': u'43.97169876098633'} +error: (1062, "Duplicate entry 'northport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Northport', u'countrycode': u'us', u'city_id': u'20052699', u'longitude': u'-68.96189880371094', u'nr_hotels': u'1', u'latitude': u'44.337799072265625'} +error: (1062, "Duplicate entry 'northport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Northport', u'countrycode': u'us', u'city_id': u'20052699', u'longitude': u'-68.96189880371094', u'nr_hotels': u'1', u'latitude': u'44.337799072265625'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20052817', u'longitude': u'-69.38390350341797', u'nr_hotels': u'1', u'latitude': u'44.782501220703125'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20052817', u'longitude': u'-69.38390350341797', u'nr_hotels': u'1', u'latitude': u'44.782501220703125'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20052849', u'longitude': u'-70.25579833984375', u'nr_hotels': u'16', u'latitude': u'43.661399841308594'} +error: (1062, "Duplicate entry 'portlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20052849', u'longitude': u'-70.25579833984375', u'nr_hotels': u'16', u'latitude': u'43.661399841308594'} +error: (1062, "Duplicate entry 'sanford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sanford', u'countrycode': u'us', u'city_id': u'20052972', u'longitude': u'-70.77469635009766', u'nr_hotels': u'2', u'latitude': u'43.43920135498047'} +error: (1062, "Duplicate entry 'sanford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sanford', u'countrycode': u'us', u'city_id': u'20052972', u'longitude': u'-70.77469635009766', u'nr_hotels': u'2', u'latitude': u'43.43920135498047'} +error: (1062, "Duplicate entry 'southport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Southport', u'countrycode': u'us', u'city_id': u'20053150', u'longitude': u'-69.6592025756836', u'nr_hotels': u'1', u'latitude': u'43.84080123901367'} +error: (1062, "Duplicate entry 'youngtown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Youngtown', u'countrycode': u'us', u'city_id': u'20053508', u'longitude': u'-69.09809875488281', u'nr_hotels': u'1', u'latitude': u'44.26860046386719'} +error: (1062, "Duplicate entry 'youngtown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Youngtown', u'countrycode': u'us', u'city_id': u'20053508', u'longitude': u'-69.09809875488281', u'nr_hotels': u'1', u'latitude': u'44.26860046386719'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20055003', u'longitude': u'-76.89859771728516', u'nr_hotels': u'3', u'latitude': u'38.76499938964844'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20055003', u'longitude': u'-76.89859771728516', u'nr_hotels': u'3', u'latitude': u'38.76499938964844'} +error: (1062, "Duplicate entry 'kolledzh-park-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043e\u043b\u043b\u0435\u0434\u0436 \u041f\u0430\u0440\u043a', u'countrycode': u'us', u'city_id': u'20055062', u'longitude': u'-76.93720245361328', u'nr_hotels': u'7', u'latitude': u'38.98059844970703'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20055088', u'longitude': u'-76.86155700683594', u'nr_hotels': u'10', u'latitude': u'39.204811096191406'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20055088', u'longitude': u'-76.86155700683594', u'nr_hotels': u'10', u'latitude': u'39.204811096191406'} +error: (1062, "Duplicate entry 'knoxville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Knoxville', u'countrycode': u'us', u'city_id': u'20057454', u'longitude': u'-77.66439819335938', u'nr_hotels': u'2', u'latitude': u'39.326900482177734'} +error: (1062, "Duplicate entry 'knoxville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Knoxville', u'countrycode': u'us', u'city_id': u'20057454', u'longitude': u'-77.66439819335938', u'nr_hotels': u'2', u'latitude': u'39.326900482177734'} +error: (1062, "Duplicate entry 'largo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Largo', u'countrycode': u'us', u'city_id': u'20057536', u'longitude': u'-76.83059692382812', u'nr_hotels': u'5', u'latitude': u'38.897499084472656'} +error: (1062, "Duplicate entry 'largo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Largo', u'countrycode': u'us', u'city_id': u'20057536', u'longitude': u'-76.83059692382812', u'nr_hotels': u'5', u'latitude': u'38.897499084472656'} +error: (1062, "Duplicate entry 'mchenry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'McHenry', u'countrycode': u'us', u'city_id': u'20058031', u'longitude': u'-79.35310363769531', u'nr_hotels': u'1', u'latitude': u'39.55830001831055'} +error: (1062, "Duplicate entry 'mchenry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'McHenry', u'countrycode': u'us', u'city_id': u'20058031', u'longitude': u'-79.35310363769531', u'nr_hotels': u'1', u'latitude': u'39.55830001831055'} +error: (1062, "Duplicate entry 'morningside-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morningside', u'countrycode': u'us', u'city_id': u'20058258', u'longitude': u'-76.8917007446289', u'nr_hotels': u'1', u'latitude': u'38.83000183105469'} +error: (1062, "Duplicate entry 'morningside-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Morningside', u'countrycode': u'us', u'city_id': u'20058258', u'longitude': u'-76.8917007446289', u'nr_hotels': u'1', u'latitude': u'38.83000183105469'} +error: (1062, "Duplicate entry 'santa-luzia-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Luzia', u'countrycode': u'pt', u'city_id': u'-2175403', u'longitude': u'-8.399999618530273', u'nr_hotels': u'1', u'latitude': u'37.733299255371094'} +error: (1062, "Duplicate entry 'santa-luzia-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Luzia', u'countrycode': u'pt', u'city_id': u'-2175403', u'longitude': u'-8.399999618530273', u'nr_hotels': u'1', u'latitude': u'37.733299255371094'} +error: (1062, "Duplicate entry 'oklend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u043a\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20058640', u'longitude': u'-79.40689849853516', u'nr_hotels': u'1', u'latitude': u'39.407798767089844'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20058793', u'longitude': u'-76.1718978881836', u'nr_hotels': u'2', u'latitude': u'38.6864013671875'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20058793', u'longitude': u'-76.1718978881836', u'nr_hotels': u'2', u'latitude': u'38.6864013671875'} +error: (1062, "Duplicate entry 'riversajd-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0438\u0432\u0435\u0440\u0441\u0430\u0439\u0434', u'countrycode': u'us', u'city_id': u'20059470', u'longitude': u'-76.24169921875', u'nr_hotels': u'3', u'latitude': u'39.47359848022461'} +error: (1062, "Duplicate entry 'rockville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rockville', u'countrycode': u'us', u'city_id': u'20059554', u'longitude': u'-77.1530990600586', u'nr_hotels': u'12', u'latitude': u'39.083900451660156'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20061153', u'longitude': u'-76.99610137939453', u'nr_hotels': u'3', u'latitude': u'39.57529830932617'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20061153', u'longitude': u'-76.99610137939453', u'nr_hotels': u'3', u'latitude': u'39.57529830932617'} +error: (1062, "Duplicate entry 'andover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Andover', u'countrycode': u'us', u'city_id': u'20061593', u'longitude': u'-71.13749694824219', u'nr_hotels': u'8', u'latitude': u'42.65829849243164'} +error: (1062, "Duplicate entry 'andover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Andover', u'countrycode': u'us', u'city_id': u'20061593', u'longitude': u'-71.13749694824219', u'nr_hotels': u'8', u'latitude': u'42.65829849243164'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20061621', u'longitude': u'-71.83609771728516', u'nr_hotels': u'4', u'latitude': u'42.194400787353516'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20061621', u'longitude': u'-71.83609771728516', u'nr_hotels': u'4', u'latitude': u'42.194400787353516'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20061673', u'longitude': u'-71.27670288085938', u'nr_hotels': u'2', u'latitude': u'42.4906005859375'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20061673', u'longitude': u'-71.27670288085938', u'nr_hotels': u'2', u'latitude': u'42.4906005859375'} +error: (1062, "Duplicate entry 'bruklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0440\u0443\u043a\u043b\u0438\u043d', u'countrycode': u'us', u'city_id': u'20061760', u'longitude': u'-71.12169647216797', u'nr_hotels': u'7', u'latitude': u'42.33169937133789'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20061783', u'longitude': u'-71.19609832763672', u'nr_hotels': u'6', u'latitude': u'42.50469970703125'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20061794', u'longitude': u'-71.1061019897461', u'nr_hotels': u'21', u'latitude': u'42.375'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20061874', u'longitude': u'-71.14530181884766', u'nr_hotels': u'1', u'latitude': u'42.15829849243164'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20061874', u'longitude': u'-71.14530181884766', u'nr_hotels': u'1', u'latitude': u'42.15829849243164'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20061893', u'longitude': u'-70.34860229492188', u'nr_hotels': u'0', u'latitude': u'41.64860153198242'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20061893', u'longitude': u'-70.34860229492188', u'nr_hotels': u'0', u'latitude': u'41.64860153198242'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20061952', u'longitude': u'-71.68329620361328', u'nr_hotels': u'1', u'latitude': u'42.41669845581055'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20061952', u'longitude': u'-71.68329620361328', u'nr_hotels': u'1', u'latitude': u'42.41669845581055'} +error: (1062, "Duplicate entry 'concord-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Concord', u'countrycode': u'us', u'city_id': u'20061976', u'longitude': u'-71.34940338134766', u'nr_hotels': u'2', u'latitude': u'42.46030044555664'} +error: (1062, "Duplicate entry 'dedham-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dedham', u'countrycode': u'us', u'city_id': u'20062029', u'longitude': u'-71.16670227050781', u'nr_hotels': u'4', u'latitude': u'42.24169921875'} +error: (1062, "Duplicate entry 'dedham-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dedham', u'countrycode': u'us', u'city_id': u'20062029', u'longitude': u'-71.16670227050781', u'nr_hotels': u'4', u'latitude': u'42.24169921875'} +error: (1062, "Duplicate entry 'deerfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Deerfield', u'countrycode': u'us', u'city_id': u'20062031', u'longitude': u'-72.6061019897461', u'nr_hotels': u'1', u'latitude': u'42.54439926147461'} +error: (1062, "Duplicate entry 'deerfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Deerfield', u'countrycode': u'us', u'city_id': u'20062031', u'longitude': u'-72.6061019897461', u'nr_hotels': u'1', u'latitude': u'42.54439926147461'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20062251', u'longitude': u'-71.39720153808594', u'nr_hotels': u'3', u'latitude': u'42.08330154418945'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20062251', u'longitude': u'-71.39720153808594', u'nr_hotels': u'3', u'latitude': u'42.08330154418945'} +error: (1062, "Duplicate entry 'greenfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenfield', u'countrycode': u'us', u'city_id': u'20062314', u'longitude': u'-72.5999984741211', u'nr_hotels': u'2', u'latitude': u'42.587501525878906'} +error: (1062, "Duplicate entry 'holyoke-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holyoke', u'countrycode': u'us', u'city_id': u'20062404', u'longitude': u'-72.61669921875', u'nr_hotels': u'5', u'latitude': u'42.204200744628906'} +error: (1062, "Duplicate entry 'holyoke-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holyoke', u'countrycode': u'us', u'city_id': u'20062404', u'longitude': u'-72.61669921875', u'nr_hotels': u'5', u'latitude': u'42.204200744628906'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20062422', u'longitude': u'-71.56670379638672', u'nr_hotels': u'1', u'latitude': u'42.391700744628906'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20062422', u'longitude': u'-71.56670379638672', u'nr_hotels': u'1', u'latitude': u'42.391700744628906'} +error: (1062, "Duplicate entry 'lenox-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lenox', u'countrycode': u'us', u'city_id': u'20062506', u'longitude': u'-73.2853012084961', u'nr_hotels': u'16', u'latitude': u'42.35639953613281'} +error: (1062, "Duplicate entry 'leksington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0435\u043a\u0441\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20062512', u'longitude': u'-71.2249984741211', u'nr_hotels': u'5', u'latitude': u'42.447200775146484'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20062576', u'longitude': u'-71.21939849853516', u'nr_hotels': u'2', u'latitude': u'42.03329849243164'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20062576', u'longitude': u'-71.21939849853516', u'nr_hotels': u'2', u'latitude': u'42.03329849243164'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20062653', u'longitude': u'-71.5167007446289', u'nr_hotels': u'6', u'latitude': u'42.13970184326172'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u043b\u0444\u043e\u0440\u0434', u'countrycode': u'us', u'city_id': u'20062653', u'longitude': u'-71.5167007446289', u'nr_hotels': u'6', u'latitude': u'42.13970184326172'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20062758', u'longitude': u'-71.20970153808594', u'nr_hotels': u'3', u'latitude': u'42.33689880371094'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20062758', u'longitude': u'-71.20970153808594', u'nr_hotels': u'3', u'latitude': u'42.33689880371094'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20062878', u'longitude': u'-71.1875', u'nr_hotels': u'1', u'latitude': u'41.96670150756836'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20062878', u'longitude': u'-71.1875', u'nr_hotels': u'1', u'latitude': u'41.96670150756836'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20062925', u'longitude': u'-72.310302734375', u'nr_hotels': u'2', u'latitude': u'42.590301513671875'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20062925', u'longitude': u'-72.310302734375', u'nr_hotels': u'2', u'latitude': u'42.590301513671875'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20062989', u'longitude': u'-73.24579620361328', u'nr_hotels': u'6', u'latitude': u'42.45000076293945'} +error: (1062, "Duplicate entry 'ponta-delgada-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ponta Delgada', u'countrycode': u'pt', u'city_id': u'-2172834', u'longitude': u'-16.991064071655273', u'nr_hotels': u'3', u'latitude': u'32.823760986328125'} +error: (1062, "Duplicate entry 'ponta-delgada-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u043d\u0442\u0430-\u0414\u0435\u043b\u0433\u0430\u0434\u0430', u'countrycode': u'pt', u'city_id': u'-2172834', u'longitude': u'-16.991064071655273', u'nr_hotels': u'3', u'latitude': u'32.823760986328125'} +error: (1062, "Duplicate entry 'plainville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plainville', u'countrycode': u'us', u'city_id': u'20062994', u'longitude': u'-71.33329772949219', u'nr_hotels': u'1', u'latitude': u'42.00419998168945'} +error: (1062, "Duplicate entry 'plainville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plainville', u'countrycode': u'us', u'city_id': u'20062994', u'longitude': u'-71.33329772949219', u'nr_hotels': u'1', u'latitude': u'42.00419998168945'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20063004', u'longitude': u'-70.66780090332031', u'nr_hotels': u'8', u'latitude': u'41.95830154418945'} +error: (1062, "Duplicate entry 'quincy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Quincy', u'countrycode': u'us', u'city_id': u'20063051', u'longitude': u'-71.00279998779297', u'nr_hotels': u'3', u'latitude': u'42.25279998779297'} +error: (1062, "Duplicate entry 'pombal-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pombal', u'countrycode': u'pt', u'city_id': u'-2172801', u'longitude': u'-8.633330345153809', u'nr_hotels': u'5', u'latitude': u'39.91669845581055'} +error: (1062, "Duplicate entry 'pombal-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u043c\u0431\u0430\u043b', u'countrycode': u'pt', u'city_id': u'-2172801', u'longitude': u'-8.633330345153809', u'nr_hotels': u'5', u'latitude': u'39.91669845581055'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20063141', u'longitude': u'-70.89720153808594', u'nr_hotels': u'2', u'latitude': u'42.51940155029297'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043b\u0435\u043c', u'countrycode': u'us', u'city_id': u'20063141', u'longitude': u'-70.89720153808594', u'nr_hotels': u'2', u'latitude': u'42.51940155029297'} +error: (1062, "Duplicate entry 'salisbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salisbury', u'countrycode': u'us', u'city_id': u'20063143', u'longitude': u'-70.86109924316406', u'nr_hotels': u'1', u'latitude': u'42.84170150756836'} +error: (1062, "Duplicate entry 'salisbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salisbury', u'countrycode': u'us', u'city_id': u'20063143', u'longitude': u'-70.86109924316406', u'nr_hotels': u'1', u'latitude': u'42.84170150756836'} +error: (1062, "Duplicate entry 'sandwich-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandwich', u'countrycode': u'us', u'city_id': u'20063152', u'longitude': u'-70.49440002441406', u'nr_hotels': u'6', u'latitude': u'41.7588996887207'} +error: (1062, "Duplicate entry 'sandwich-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandwich', u'countrycode': u'us', u'city_id': u'20063152', u'longitude': u'-70.49440002441406', u'nr_hotels': u'6', u'latitude': u'41.7588996887207'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Somerset', u'countrycode': u'us', u'city_id': u'20063234', u'longitude': u'-71.12920379638672', u'nr_hotels': u'1', u'latitude': u'41.76940155029297'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Somerset', u'countrycode': u'us', u'city_id': u'20063234', u'longitude': u'-71.12920379638672', u'nr_hotels': u'1', u'latitude': u'41.76940155029297'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20063336', u'longitude': u'-72.59030151367188', u'nr_hotels': u'6', u'latitude': u'42.10139846801758'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20063336', u'longitude': u'-72.59030151367188', u'nr_hotels': u'6', u'latitude': u'42.10139846801758'} +error: (1062, "Duplicate entry 'stockbridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stockbridge', u'countrycode': u'us', u'city_id': u'20063357', u'longitude': u'-73.32080078125', u'nr_hotels': u'6', u'latitude': u'42.287498474121094'} +error: (1062, "Duplicate entry 'stockbridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stockbridge', u'countrycode': u'us', u'city_id': u'20063357', u'longitude': u'-73.32080078125', u'nr_hotels': u'6', u'latitude': u'42.287498474121094'} +error: (1062, "Duplicate entry 'paranhos-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paranhos', u'countrycode': u'pt', u'city_id': u'-2171560', u'longitude': u'-7.783329963684082', u'nr_hotels': u'3', u'latitude': u'40.46670150756836'} +error: (1062, "Duplicate entry 'paranhos-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paranhos', u'countrycode': u'pt', u'city_id': u'-2171560', u'longitude': u'-7.783329963684082', u'nr_hotels': u'3', u'latitude': u'40.46670150756836'} +error: (1062, "Duplicate entry 'parada-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Parada', u'countrycode': u'pt', u'city_id': u'-2171469', u'longitude': u'-8.366669654846191', u'nr_hotels': u'1', u'latitude': u'41.16669845581055'} +error: (1062, "Duplicate entry 'parada-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Parada', u'countrycode': u'pt', u'city_id': u'-2171469', u'longitude': u'-8.366669654846191', u'nr_hotels': u'1', u'latitude': u'41.16669845581055'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20063635', u'longitude': u'-71.91110229492188', u'nr_hotels': u'2', u'latitude': u'42.545799255371094'} +error: (1062, "Duplicate entry 'westminster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westminster', u'countrycode': u'us', u'city_id': u'20063635', u'longitude': u'-71.91110229492188', u'nr_hotels': u'2', u'latitude': u'42.545799255371094'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20063679', u'longitude': u'-73.2042007446289', u'nr_hotels': u'13', u'latitude': u'42.71189880371094'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20063679', u'longitude': u'-73.2042007446289', u'nr_hotels': u'13', u'latitude': u'42.71189880371094'} +error: (1062, "Duplicate entry 'albion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albion', u'countrycode': u'us', u'city_id': u'20063759', u'longitude': u'-84.75309753417969', u'nr_hotels': u'1', u'latitude': u'42.243099212646484'} +error: (1062, "Duplicate entry 'albion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Albion', u'countrycode': u'us', u'city_id': u'20063759', u'longitude': u'-84.75309753417969', u'nr_hotels': u'1', u'latitude': u'42.243099212646484'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20063779', u'longitude': u'-84.65969848632812', u'nr_hotels': u'1', u'latitude': u'43.37889862060547'} +error: (1062, "Duplicate entry 'alma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alma', u'countrycode': u'us', u'city_id': u'20063779', u'longitude': u'-84.65969848632812', u'nr_hotels': u'1', u'latitude': u'43.37889862060547'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20063849', u'longitude': u'-84.0697021484375', u'nr_hotels': u'1', u'latitude': u'43.60329818725586'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20063849', u'longitude': u'-84.0697021484375', u'nr_hotels': u'1', u'latitude': u'43.60329818725586'} +error: (1062, "Duplicate entry 'belleville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belleville', u'countrycode': u'us', u'city_id': u'20063950', u'longitude': u'-83.48529815673828', u'nr_hotels': u'4', u'latitude': u'42.2047004699707'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20064060', u'longitude': u'-83.88169860839844', u'nr_hotels': u'2', u'latitude': u'43.35940170288086'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20064060', u'longitude': u'-83.88169860839844', u'nr_hotels': u'2', u'latitude': u'43.35940170288086'} +error: (1062, "Duplicate entry 'brighton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brighton', u'countrycode': u'us', u'city_id': u'20064065', u'longitude': u'-83.7802963256836', u'nr_hotels': u'3', u'latitude': u'42.52939987182617'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20064150', u'longitude': u'-83.4822006225586', u'nr_hotels': u'8', u'latitude': u'42.30860137939453'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20064150', u'longitude': u'-83.4822006225586', u'nr_hotels': u'8', u'latitude': u'42.30860137939453'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20064168', u'longitude': u'-85.49810028076172', u'nr_hotels': u'8', u'latitude': u'42.912200927734375'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20064168', u'longitude': u'-85.49810028076172', u'nr_hotels': u'8', u'latitude': u'42.912200927734375'} +error: (1062, "Duplicate entry 'chelsea-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chelsea', u'countrycode': u'us', u'city_id': u'20064218', u'longitude': u'-84.02059936523438', u'nr_hotels': u'2', u'latitude': u'42.31809997558594'} +error: (1062, "Duplicate entry 'chelsea-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chelsea', u'countrycode': u'us', u'city_id': u'20064218', u'longitude': u'-84.02059936523438', u'nr_hotels': u'2', u'latitude': u'42.31809997558594'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20064264', u'longitude': u'-82.91999816894531', u'nr_hotels': u'1', u'latitude': u'42.58689880371094'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20064264', u'longitude': u'-82.91999816894531', u'nr_hotels': u'1', u'latitude': u'42.58689880371094'} +error: (1062, "Duplicate entry 'dundee-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dundee', u'countrycode': u'us', u'city_id': u'20064457', u'longitude': u'-83.65969848632812', u'nr_hotels': u'2', u'latitude': u'41.95719909667969'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20064683', u'longitude': u'-85.94190216064453', u'nr_hotels': u'1', u'latitude': u'43.467498779296875'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20064683', u'longitude': u'-85.94190216064453', u'nr_hotels': u'1', u'latitude': u'43.467498779296875'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20064882', u'longitude': u'-87.35420227050781', u'nr_hotels': u'2', u'latitude': u'46.49470138549805'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20064882', u'longitude': u'-87.35420227050781', u'nr_hotels': u'2', u'latitude': u'46.49470138549805'} +error: (1062, "Duplicate entry 'howell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Howell', u'countrycode': u'us', u'city_id': u'20064973', u'longitude': u'-83.92939758300781', u'nr_hotels': u'3', u'latitude': u'42.607200622558594'} +error: (1062, "Duplicate entry 'howell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Howell', u'countrycode': u'us', u'city_id': u'20064973', u'longitude': u'-83.92939758300781', u'nr_hotels': u'3', u'latitude': u'42.607200622558594'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20065035', u'longitude': u'-84.40139770507812', u'nr_hotels': u'5', u'latitude': u'42.24580001831055'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20065035', u'longitude': u'-84.40139770507812', u'nr_hotels': u'5', u'latitude': u'42.24580001831055'} +error: (1062, "Duplicate entry 'lansing-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lansing', u'countrycode': u'us', u'city_id': u'20065178', u'longitude': u'-84.55610656738281', u'nr_hotels': u'14', u'latitude': u'42.732322692871094'} +error: (1062, "Duplicate entry 'lansing-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u0441\u0438\u043d\u0433', u'countrycode': u'us', u'city_id': u'20065178', u'longitude': u'-84.55610656738281', u'nr_hotels': u'14', u'latitude': u'42.732322692871094'} +error: (1062, "Duplicate entry 'livonia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Livonia', u'countrycode': u'us', u'city_id': u'20065252', u'longitude': u'-83.35279846191406', u'nr_hotels': u'14', u'latitude': u'42.36830139160156'} +error: (1062, "Duplicate entry 'livonia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Livonia', u'countrycode': u'us', u'city_id': u'20065252', u'longitude': u'-83.35279846191406', u'nr_hotels': u'14', u'latitude': u'42.36830139160156'} +error: (1062, "Duplicate entry 'lowell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lowell', u'countrycode': u'us', u'city_id': u'20065271', u'longitude': u'-85.34190368652344', u'nr_hotels': u'1', u'latitude': u'42.93360137939453'} +error: (1062, "Duplicate entry 'lowell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lowell', u'countrycode': u'us', u'city_id': u'20065271', u'longitude': u'-85.34190368652344', u'nr_hotels': u'1', u'latitude': u'42.93360137939453'} +error: (1062, "Duplicate entry 'marquette-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marquette', u'countrycode': u'us', u'city_id': u'20065332', u'longitude': u'-87.39530181884766', u'nr_hotels': u'5', u'latitude': u'46.54359817504883'} +error: (1062, "Duplicate entry 'marquette-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marquette', u'countrycode': u'us', u'city_id': u'20065332', u'longitude': u'-87.39530181884766', u'nr_hotels': u'5', u'latitude': u'46.54359817504883'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20065334', u'longitude': u'-84.96330261230469', u'nr_hotels': u'4', u'latitude': u'42.27220153808594'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20065334', u'longitude': u'-84.96330261230469', u'nr_hotels': u'4', u'latitude': u'42.27220153808594'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20065340', u'longitude': u'-82.48690032958984', u'nr_hotels': u'1', u'latitude': u'42.912498474121094'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20065340', u'longitude': u'-82.48690032958984', u'nr_hotels': u'1', u'latitude': u'42.912498474121094'} +error: (1062, "Duplicate entry 'maceira-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maceira', u'countrycode': u'pt', u'city_id': u'-2168345', u'longitude': u'-9.333330154418945', u'nr_hotels': u'3', u'latitude': u'39.18330001831055'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20065451', u'longitude': u'-83.39779663085938', u'nr_hotels': u'5', u'latitude': u'41.91640090942383'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20065451', u'longitude': u'-83.39779663085938', u'nr_hotels': u'5', u'latitude': u'41.91640090942383'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20065478', u'longitude': u'-84.76750183105469', u'nr_hotels': u'7', u'latitude': u'43.597801208496094'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20065478', u'longitude': u'-84.76750183105469', u'nr_hotels': u'7', u'latitude': u'43.597801208496094'} +error: (1062, "Duplicate entry 'niles-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Niles', u'countrycode': u'us', u'city_id': u'20065545', u'longitude': u'-86.25420379638672', u'nr_hotels': u'3', u'latitude': u'41.8297004699707'} +error: (1062, "Duplicate entry 'niles-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Niles', u'countrycode': u'us', u'city_id': u'20065545', u'longitude': u'-86.25420379638672', u'nr_hotels': u'3', u'latitude': u'41.8297004699707'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20065779', u'longitude': u'-83.72419738769531', u'nr_hotels': u'1', u'latitude': u'42.21030044555664'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20065779', u'longitude': u'-83.72419738769531', u'nr_hotels': u'1', u'latitude': u'42.21030044555664'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20065792', u'longitude': u'-83.47029876708984', u'nr_hotels': u'3', u'latitude': u'42.37139892578125'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20065792', u'longitude': u'-83.47029876708984', u'nr_hotels': u'3', u'latitude': u'42.37139892578125'} +error: (1062, "Duplicate entry 'pontiac-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pontiac', u'countrycode': u'us', u'city_id': u'20065812', u'longitude': u'-83.29109954833984', u'nr_hotels': u'3', u'latitude': u'42.63890075683594'} +error: (1062, "Duplicate entry 'pontiac-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pontiac', u'countrycode': u'us', u'city_id': u'20065812', u'longitude': u'-83.29109954833984', u'nr_hotels': u'3', u'latitude': u'42.63890075683594'} +error: (1062, "Duplicate entry 'portage-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portage', u'countrycode': u'us', u'city_id': u'20065824', u'longitude': u'-85.58000183105469', u'nr_hotels': u'3', u'latitude': u'42.20109939575195'} +error: (1062, "Duplicate entry 'portage-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Portage', u'countrycode': u'us', u'city_id': u'20065824', u'longitude': u'-85.58000183105469', u'nr_hotels': u'3', u'latitude': u'42.20109939575195'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20065827', u'longitude': u'-84.9030990600586', u'nr_hotels': u'1', u'latitude': u'42.86920166015625'} +error: (1062, "Duplicate entry 'portlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20065827', u'longitude': u'-84.9030990600586', u'nr_hotels': u'1', u'latitude': u'42.86920166015625'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20065922', u'longitude': u'-83.13390350341797', u'nr_hotels': u'1', u'latitude': u'42.680599212646484'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20065922', u'longitude': u'-83.13390350341797', u'nr_hotels': u'1', u'latitude': u'42.680599212646484'} +error: (1062, "Duplicate entry 'roseville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roseville', u'countrycode': u'us', u'city_id': u'20065954', u'longitude': u'-82.93720245361328', u'nr_hotels': u'6', u'latitude': u'42.49720001220703'} +error: (1062, "Duplicate entry 'roseville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Roseville', u'countrycode': u'us', u'city_id': u'20065954', u'longitude': u'-82.93720245361328', u'nr_hotels': u'6', u'latitude': u'42.49720001220703'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20066058', u'longitude': u'-85.63719940185547', u'nr_hotels': u'1', u'latitude': u'42.594200134277344'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20066058', u'longitude': u'-85.63719940185547', u'nr_hotels': u'1', u'latitude': u'42.594200134277344'} +error: (1062, "Duplicate entry 'sterling-heights-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sterling Heights', u'countrycode': u'us', u'city_id': u'20066184', u'longitude': u'-83.0302963256836', u'nr_hotels': u'5', u'latitude': u'42.580299377441406'} +error: (1062, "Duplicate entry 'sterling-heights-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sterling Heights', u'countrycode': u'us', u'city_id': u'20066184', u'longitude': u'-83.0302963256836', u'nr_hotels': u'5', u'latitude': u'42.580299377441406'} +error: (1062, "Duplicate entry 'lagoa-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lagoa', u'countrycode': u'pt', u'city_id': u'-2167479', u'longitude': u'-25.566699981689453', u'nr_hotels': u'1', u'latitude': u'37.733299255371094'} +error: (1062, "Duplicate entry 'lagoa-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lagoa', u'countrycode': u'pt', u'city_id': u'-2167479', u'longitude': u'-25.566699981689453', u'nr_hotels': u'1', u'latitude': u'37.733299255371094'} +error: (1062, "Duplicate entry 'lagoa-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lagoa', u'countrycode': u'pt', u'city_id': u'-2167477', u'longitude': u'-8.449999809265137', u'nr_hotels': u'9', u'latitude': u'37.13330078125'} +error: (1062, "Duplicate entry 'lagoa-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u0433\u043e\u0430', u'countrycode': u'pt', u'city_id': u'-2167477', u'longitude': u'-8.449999809265137', u'nr_hotels': u'9', u'latitude': u'37.13330078125'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20066310', u'longitude': u'-83.1500015258789', u'nr_hotels': u'10', u'latitude': u'42.60559844970703'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20066310', u'longitude': u'-83.1500015258789', u'nr_hotels': u'10', u'latitude': u'42.60559844970703'} +error: (1062, "Duplicate entry 'utica-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Utica', u'countrycode': u'us', u'city_id': u'20066340', u'longitude': u'-83.03359985351562', u'nr_hotels': u'5', u'latitude': u'42.6260986328125'} +error: (1062, "Duplicate entry 'utica-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Utica', u'countrycode': u'us', u'city_id': u'20066340', u'longitude': u'-83.03359985351562', u'nr_hotels': u'5', u'latitude': u'42.6260986328125'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20066407', u'longitude': u'-83.02780151367188', u'nr_hotels': u'14', u'latitude': u'42.477500915527344'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20066407', u'longitude': u'-83.02780151367188', u'nr_hotels': u'14', u'latitude': u'42.477500915527344'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20066411', u'longitude': u'-83.40280151367188', u'nr_hotels': u'1', u'latitude': u'42.70220184326172'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20066411', u'longitude': u'-83.40280151367188', u'nr_hotels': u'1', u'latitude': u'42.70220184326172'} +error: (1062, "Duplicate entry 'albany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albany', u'countrycode': u'us', u'city_id': u'20066589', u'longitude': u'-94.5697021484375', u'nr_hotels': u'1', u'latitude': u'45.630001068115234'} +error: (1062, "Duplicate entry 'albany-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Albany', u'countrycode': u'us', u'city_id': u'20066589', u'longitude': u'-94.5697021484375', u'nr_hotels': u'1', u'latitude': u'45.630001068115234'} +error: (1062, "Duplicate entry 'albertville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albertville', u'countrycode': u'us', u'city_id': u'20066592', u'longitude': u'-93.6541976928711', u'nr_hotels': u'1', u'latitude': u'45.23780059814453'} +error: (1062, "Duplicate entry 'albertville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Albertville', u'countrycode': u'us', u'city_id': u'20066592', u'longitude': u'-93.6541976928711', u'nr_hotels': u'1', u'latitude': u'45.23780059814453'} +error: (1062, "Duplicate entry 'alexandria-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alexandria', u'countrycode': u'us', u'city_id': u'20066599', u'longitude': u'-95.377197265625', u'nr_hotels': u'7', u'latitude': u'45.88529968261719'} +error: (1062, "Duplicate entry 'alexandria-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alexandria', u'countrycode': u'us', u'city_id': u'20066599', u'longitude': u'-95.377197265625', u'nr_hotels': u'7', u'latitude': u'45.88529968261719'} +error: (1062, "Duplicate entry 'apple-valley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Apple Valley', u'countrycode': u'us', u'city_id': u'20066627', u'longitude': u'-93.21749877929688', u'nr_hotels': u'2', u'latitude': u'44.73189926147461'} +error: (1062, "Duplicate entry 'apple-valley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Apple Valley', u'countrycode': u'us', u'city_id': u'20066627', u'longitude': u'-93.21749877929688', u'nr_hotels': u'2', u'latitude': u'44.73189926147461'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20066664', u'longitude': u'-94.45140075683594', u'nr_hotels': u'1', u'latitude': u'45.60919952392578'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20066664', u'longitude': u'-94.45140075683594', u'nr_hotels': u'1', u'latitude': u'45.60919952392578'} +error: (1062, "Duplicate entry 'bloomington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bloomington', u'countrycode': u'us', u'city_id': u'20066783', u'longitude': u'-93.29810333251953', u'nr_hotels': u'36', u'latitude': u'44.84080123901367'} +error: (1062, "Duplicate entry 'blumington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u043b\u0443\u043c\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20066783', u'longitude': u'-93.29810333251953', u'nr_hotels': u'36', u'latitude': u'44.84080123901367'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20066870', u'longitude': u'-93.22419738769531', u'nr_hotels': u'1', u'latitude': u'45.57279968261719'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20066870', u'longitude': u'-93.22419738769531', u'nr_hotels': u'1', u'latitude': u'45.57279968261719'} +error: (1062, "Duplicate entry 'carlton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carlton', u'countrycode': u'us', u'city_id': u'20066884', u'longitude': u'-92.42469787597656', u'nr_hotels': u'1', u'latitude': u'46.66389846801758'} +error: (1062, "Duplicate entry 'carlton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carlton', u'countrycode': u'us', u'city_id': u'20066884', u'longitude': u'-92.42469787597656', u'nr_hotels': u'1', u'latitude': u'46.66389846801758'} +error: (1062, "Duplicate entry 'dexter-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dexter', u'countrycode': u'us', u'city_id': u'20067073', u'longitude': u'-92.70439910888672', u'nr_hotels': u'1', u'latitude': u'43.71889877319336'} +error: (1062, "Duplicate entry 'dexter-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dexter', u'countrycode': u'us', u'city_id': u'20067073', u'longitude': u'-92.70439910888672', u'nr_hotels': u'1', u'latitude': u'43.71889877319336'} +error: (1062, "Duplicate entry 'gaylord-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gaylord', u'countrycode': u'us', u'city_id': u'20067286', u'longitude': u'-94.22029876708984', u'nr_hotels': u'1', u'latitude': u'44.5531005859375'} +error: (1062, "Duplicate entry 'gaylord-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gaylord', u'countrycode': u'us', u'city_id': u'20067286', u'longitude': u'-94.22029876708984', u'nr_hotels': u'1', u'latitude': u'44.5531005859375'} +error: (1062, "Duplicate entry 'glenwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glenwood', u'countrycode': u'us', u'city_id': u'20067313', u'longitude': u'-95.38939666748047', u'nr_hotels': u'1', u'latitude': u'45.650299072265625'} +error: (1062, "Duplicate entry 'glenwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Glenwood', u'countrycode': u'us', u'city_id': u'20067313', u'longitude': u'-95.38939666748047', u'nr_hotels': u'1', u'latitude': u'45.650299072265625'} +error: (1062, "Duplicate entry 'grand-rapids-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grand Rapids', u'countrycode': u'us', u'city_id': u'20067343', u'longitude': u'-93.52999877929688', u'nr_hotels': u'2', u'latitude': u'47.23720169067383'} +error: (1062, "Duplicate entry 'grand-rapids-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grand Rapids', u'countrycode': u'us', u'city_id': u'20067343', u'longitude': u'-93.52999877929688', u'nr_hotels': u'2', u'latitude': u'47.23720169067383'} +error: (1062, "Duplicate entry 'hastings-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hastings', u'countrycode': u'us', u'city_id': u'20067413', u'longitude': u'-92.85220336914062', u'nr_hotels': u'1', u'latitude': u'44.74330139160156'} +error: (1062, "Duplicate entry 'hastings-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hastings', u'countrycode': u'us', u'city_id': u'20067413', u'longitude': u'-92.85220336914062', u'nr_hotels': u'1', u'latitude': u'44.74330139160156'} +error: (1062, "Duplicate entry 'hutchinson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hutchinson', u'countrycode': u'us', u'city_id': u'20067496', u'longitude': u'-94.36940002441406', u'nr_hotels': u'2', u'latitude': u'44.88779830932617'} +error: (1062, "Duplicate entry 'hutchinson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hutchinson', u'countrycode': u'us', u'city_id': u'20067496', u'longitude': u'-94.36940002441406', u'nr_hotels': u'2', u'latitude': u'44.88779830932617'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20067526', u'longitude': u'-94.98829650878906', u'nr_hotels': u'4', u'latitude': u'43.62080001831055'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20067526', u'longitude': u'-94.98829650878906', u'nr_hotels': u'4', u'latitude': u'43.62080001831055'} +error: (1062, "Duplicate entry 'litchfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Litchfield', u'countrycode': u'us', u'city_id': u'20067693', u'longitude': u'-94.52780151367188', u'nr_hotels': u'2', u'latitude': u'45.127201080322266'} +error: (1062, "Duplicate entry 'litchfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Litchfield', u'countrycode': u'us', u'city_id': u'20067693', u'longitude': u'-94.52780151367188', u'nr_hotels': u'2', u'latitude': u'45.127201080322266'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20067788', u'longitude': u'-95.78810119628906', u'nr_hotels': u'2', u'latitude': u'44.4468994140625'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20067788', u'longitude': u'-95.78810119628906', u'nr_hotels': u'2', u'latitude': u'44.4468994140625'} +error: (1062, "Duplicate entry 'melrose-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Melrose', u'countrycode': u'us', u'city_id': u'20067817', u'longitude': u'-94.80719757080078', u'nr_hotels': u'1', u'latitude': u'45.67470169067383'} +error: (1062, "Duplicate entry 'melrose-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Melrose', u'countrycode': u'us', u'city_id': u'20067817', u'longitude': u'-94.80719757080078', u'nr_hotels': u'1', u'latitude': u'45.67470169067383'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20067866', u'longitude': u'-93.79389953613281', u'nr_hotels': u'2', u'latitude': u'45.305599212646484'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20067866', u'longitude': u'-93.79389953613281', u'nr_hotels': u'2', u'latitude': u'45.305599212646484'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20067970', u'longitude': u'-92.9646987915039', u'nr_hotels': u'3', u'latitude': u'44.96310043334961'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20067970', u'longitude': u'-92.9646987915039', u'nr_hotels': u'3', u'latitude': u'44.96310043334961'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20068096', u'longitude': u'-93.4552993774414', u'nr_hotels': u'6', u'latitude': u'45.01060104370117'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20068096', u'longitude': u'-93.4552993774414', u'nr_hotels': u'6', u'latitude': u'45.01060104370117'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20068188', u'longitude': u'-92.4697036743164', u'nr_hotels': u'39', u'latitude': u'44.02170181274414'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u043e\u0447\u0435\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20068188', u'longitude': u'-92.4697036743164', u'nr_hotels': u'39', u'latitude': u'44.02170181274414'} +error: (1062, "Duplicate entry 'rogers-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rogers', u'countrycode': u'us', u'city_id': u'20068193', u'longitude': u'-93.55280303955078', u'nr_hotels': u'1', u'latitude': u'45.188899993896484'} +error: (1062, "Duplicate entry 'rogers-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rogers', u'countrycode': u'us', u'city_id': u'20068193', u'longitude': u'-93.55280303955078', u'nr_hotels': u'1', u'latitude': u'45.188899993896484'} +error: (1062, "Duplicate entry 'roseville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roseville', u'countrycode': u'us', u'city_id': u'20068215', u'longitude': u'-93.15640258789062', u'nr_hotels': u'7', u'latitude': u'45.006099700927734'} +error: (1062, "Duplicate entry 'roseville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Roseville', u'countrycode': u'us', u'city_id': u'20068215', u'longitude': u'-93.15640258789062', u'nr_hotels': u'7', u'latitude': u'45.006099700927734'} +error: (1062, "Duplicate entry 'saint-cloud-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Cloud', u'countrycode': u'us', u'city_id': u'20068258', u'longitude': u'-94.16220092773438', u'nr_hotels': u'12', u'latitude': u'45.56079864501953'} +error: (1062, "Duplicate entry 'saint-cloud-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Cloud', u'countrycode': u'us', u'city_id': u'20068258', u'longitude': u'-94.16220092773438', u'nr_hotels': u'12', u'latitude': u'45.56079864501953'} +error: (1062, "Duplicate entry 'saint-joseph-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Joseph', u'countrycode': u'us', u'city_id': u'20068266', u'longitude': u'-94.31809997558594', u'nr_hotels': u'1', u'latitude': u'45.564998626708984'} +error: (1062, "Duplicate entry 'saint-joseph-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Joseph', u'countrycode': u'us', u'city_id': u'20068266', u'longitude': u'-94.31809997558594', u'nr_hotels': u'1', u'latitude': u'45.564998626708984'} +error: (1062, "Duplicate entry 'saint-peter-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Peter', u'countrycode': u'us', u'city_id': u'20068281', u'longitude': u'-93.95780181884766', u'nr_hotels': u'2', u'latitude': u'44.32360076904297'} +error: (1062, "Duplicate entry 'saint-peter-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Peter', u'countrycode': u'us', u'city_id': u'20068281', u'longitude': u'-93.95780181884766', u'nr_hotels': u'2', u'latitude': u'44.32360076904297'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20068398', u'longitude': u'-92.38890075683594', u'nr_hotels': u'1', u'latitude': u'43.6869010925293'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20068398', u'longitude': u'-92.38890075683594', u'nr_hotels': u'1', u'latitude': u'43.6869010925293'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20068399', u'longitude': u'-94.97560119628906', u'nr_hotels': u'1', u'latitude': u'44.23889923095703'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20068399', u'longitude': u'-94.97560119628906', u'nr_hotels': u'1', u'latitude': u'44.23889923095703'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20068554', u'longitude': u'-94.58689880371094', u'nr_hotels': u'2', u'latitude': u'47.10139846801758'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20068554', u'longitude': u'-94.58689880371094', u'nr_hotels': u'2', u'latitude': u'47.10139846801758'} +error: (1062, "Duplicate entry 'covas-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Covas', u'countrycode': u'pt', u'city_id': u'-2163858', u'longitude': u'-7.933330059051514', u'nr_hotels': u'5', u'latitude': u'40.349998474121094'} +error: (1062, "Duplicate entry 'covas-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Covas', u'countrycode': u'pt', u'city_id': u'-2163858', u'longitude': u'-7.933330059051514', u'nr_hotels': u'5', u'latitude': u'40.349998474121094'} +error: (1062, "Duplicate entry 'woodbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodbury', u'countrycode': u'us', u'city_id': u'20068672', u'longitude': u'-92.95919799804688', u'nr_hotels': u'5', u'latitude': u'44.92390060424805'} +error: (1062, "Duplicate entry 'woodbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodbury', u'countrycode': u'us', u'city_id': u'20068672', u'longitude': u'-92.95919799804688', u'nr_hotels': u'5', u'latitude': u'44.92390060424805'} +error: (1062, "Duplicate entry 'worthington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Worthington', u'countrycode': u'us', u'city_id': u'20068679', u'longitude': u'-95.59609985351562', u'nr_hotels': u'2', u'latitude': u'43.619998931884766'} +error: (1062, "Duplicate entry 'worthington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Worthington', u'countrycode': u'us', u'city_id': u'20068679', u'longitude': u'-95.59609985351562', u'nr_hotels': u'2', u'latitude': u'43.619998931884766'} +error: (1062, "Duplicate entry 'batesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Batesville', u'countrycode': u'us', u'city_id': u'20068828', u'longitude': u'-89.94419860839844', u'nr_hotels': u'4', u'latitude': u'34.3114013671875'} +error: (1062, "Duplicate entry 'batesville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Batesville', u'countrycode': u'us', u'city_id': u'20068828', u'longitude': u'-89.94419860839844', u'nr_hotels': u'4', u'latitude': u'34.3114013671875'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20068993', u'longitude': u'-89.98580169677734', u'nr_hotels': u'2', u'latitude': u'32.273101806640625'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20068993', u'longitude': u'-89.98580169677734', u'nr_hotels': u'2', u'latitude': u'32.273101806640625'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20069084', u'longitude': u'-90.03669738769531', u'nr_hotels': u'5', u'latitude': u'32.61249923706055'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20069084', u'longitude': u'-90.03669738769531', u'nr_hotels': u'5', u'latitude': u'32.61249923706055'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20069200', u'longitude': u'-90.32170104980469', u'nr_hotels': u'7', u'latitude': u'32.341400146484375'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20069200', u'longitude': u'-90.32170104980469', u'nr_hotels': u'7', u'latitude': u'32.341400146484375'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20069226', u'longitude': u'-88.42720031738281', u'nr_hotels': u'10', u'latitude': u'33.495601654052734'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20069226', u'longitude': u'-88.42720031738281', u'nr_hotels': u'10', u'latitude': u'33.495601654052734'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20069618', u'longitude': u'-88.4092025756836', u'nr_hotels': u'4', u'latitude': u'34.27389907836914'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20069618', u'longitude': u'-88.4092025756836', u'nr_hotels': u'4', u'latitude': u'34.27389907836914'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20069710', u'longitude': u'-91.06169891357422', u'nr_hotels': u'1', u'latitude': u'33.40999984741211'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20069710', u'longitude': u'-91.06169891357422', u'nr_hotels': u'1', u'latitude': u'33.40999984741211'} +error: (1062, "Duplicate entry 'greenwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenwood', u'countrycode': u'us', u'city_id': u'20069711', u'longitude': u'-90.17939758300781', u'nr_hotels': u'2', u'latitude': u'33.5161018371582'} +error: (1062, "Duplicate entry 'greenwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenwood', u'countrycode': u'us', u'city_id': u'20069711', u'longitude': u'-90.17939758300781', u'nr_hotels': u'2', u'latitude': u'33.5161018371582'} +error: (1062, "Duplicate entry 'hazlehurst-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hazlehurst', u'countrycode': u'us', u'city_id': u'20069784', u'longitude': u'-90.39579772949219', u'nr_hotels': u'1', u'latitude': u'31.860300064086914'} +error: (1062, "Duplicate entry 'hazlehurst-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hazlehurst', u'countrycode': u'us', u'city_id': u'20069784', u'longitude': u'-90.39579772949219', u'nr_hotels': u'1', u'latitude': u'31.860300064086914'} +error: (1062, "Duplicate entry 'hernando-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hernando', u'countrycode': u'us', u'city_id': u'20069802', u'longitude': u'-89.99359893798828', u'nr_hotels': u'2', u'latitude': u'34.82389831542969'} +error: (1062, "Duplicate entry 'hernando-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hernando', u'countrycode': u'us', u'city_id': u'20069802', u'longitude': u'-89.99359893798828', u'nr_hotels': u'2', u'latitude': u'34.82389831542969'} +error: (1062, "Duplicate entry 'indianola-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Indianola', u'countrycode': u'us', u'city_id': u'20069916', u'longitude': u'-90.65499877929688', u'nr_hotels': u'3', u'latitude': u'33.450801849365234'} +error: (1062, "Duplicate entry 'indianola-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Indianola', u'countrycode': u'us', u'city_id': u'20069916', u'longitude': u'-90.65499877929688', u'nr_hotels': u'3', u'latitude': u'33.450801849365234'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20069936', u'longitude': u'-90.18470001220703', u'nr_hotels': u'25', u'latitude': u'32.29859924316406'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20069936', u'longitude': u'-90.18470001220703', u'nr_hotels': u'25', u'latitude': u'32.29859924316406'} +error: (1062, "Duplicate entry 'laurel-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Laurel', u'countrycode': u'us', u'city_id': u'20070068', u'longitude': u'-89.13059997558594', u'nr_hotels': u'3', u'latitude': u'31.693899154663086'} +error: (1062, "Duplicate entry 'laurel-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Laurel', u'countrycode': u'us', u'city_id': u'20070068', u'longitude': u'-89.13059997558594', u'nr_hotels': u'3', u'latitude': u'31.693899154663086'} +error: (1062, "Duplicate entry 'louisville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Louisville', u'countrycode': u'us', u'city_id': u'20070164', u'longitude': u'-89.05500030517578', u'nr_hotels': u'2', u'latitude': u'33.123600006103516'} +error: (1062, "Duplicate entry 'louisville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Louisville', u'countrycode': u'us', u'city_id': u'20070164', u'longitude': u'-89.05500030517578', u'nr_hotels': u'2', u'latitude': u'33.123600006103516'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20070199', u'longitude': u'-90.11530303955078', u'nr_hotels': u'2', u'latitude': u'32.461700439453125'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20070199', u'longitude': u'-90.11530303955078', u'nr_hotels': u'2', u'latitude': u'32.461700439453125'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Meridian', u'countrycode': u'us', u'city_id': u'20070308', u'longitude': u'-88.70359802246094', u'nr_hotels': u'13', u'latitude': u'32.364200592041016'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0435\u0440\u0438\u0434\u0438\u0430\u043d', u'countrycode': u'us', u'city_id': u'20070308', u'longitude': u'-88.70359802246094', u'nr_hotels': u'13', u'latitude': u'32.364200592041016'} +error: (1062, "Duplicate entry 'new-albany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Albany', u'countrycode': u'us', u'city_id': u'20070441', u'longitude': u'-89.00779724121094', u'nr_hotels': u'4', u'latitude': u'34.49420166015625'} +error: (1062, "Duplicate entry 'new-albany-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Albany', u'countrycode': u'us', u'city_id': u'20070441', u'longitude': u'-89.00779724121094', u'nr_hotels': u'4', u'latitude': u'34.49420166015625'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20070476', u'longitude': u'-89.16329956054688', u'nr_hotels': u'1', u'latitude': u'32.32109832763672'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20070476', u'longitude': u'-89.16329956054688', u'nr_hotels': u'1', u'latitude': u'32.32109832763672'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20070564', u'longitude': u'-89.51920318603516', u'nr_hotels': u'0', u'latitude': u'34.36640167236328'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20070564', u'longitude': u'-89.51920318603516', u'nr_hotels': u'0', u'latitude': u'34.36640167236328'} +error: (1062, "Duplicate entry 'richland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richland', u'countrycode': u'us', u'city_id': u'20070812', u'longitude': u'-90.1583023071289', u'nr_hotels': u'4', u'latitude': u'32.23889923095703'} +error: (1062, "Duplicate entry 'richland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richland', u'countrycode': u'us', u'city_id': u'20070812', u'longitude': u'-90.1583023071289', u'nr_hotels': u'4', u'latitude': u'32.23889923095703'} +error: (1062, "Duplicate entry 'winona-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winona', u'countrycode': u'us', u'city_id': u'20071445', u'longitude': u'-89.72810363769531', u'nr_hotels': u'1', u'latitude': u'33.48189926147461'} +error: (1062, "Duplicate entry 'winona-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Winona', u'countrycode': u'us', u'city_id': u'20071445', u'longitude': u'-89.72810363769531', u'nr_hotels': u'1', u'latitude': u'33.48189926147461'} +error: (1062, "Duplicate entry 'arnold-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arnold', u'countrycode': u'us', u'city_id': u'20071620', u'longitude': u'-90.37750244140625', u'nr_hotels': u'4', u'latitude': u'38.43280029296875'} +error: (1062, "Duplicate entry 'arnold-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arnold', u'countrycode': u'us', u'city_id': u'20071620', u'longitude': u'-90.37750244140625', u'nr_hotels': u'4', u'latitude': u'38.43280029296875'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20071957', u'longitude': u'-90.34919738769531', u'nr_hotels': u'1', u'latitude': u'38.61750030517578'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20071957', u'longitude': u'-90.34919738769531', u'nr_hotels': u'1', u'latitude': u'38.61750030517578'} +error: (1062, "Duplicate entry 'caria-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Caria', u'countrycode': u'pt', u'city_id': u'-2161391', u'longitude': u'-7.36667013168335', u'nr_hotels': u'2', u'latitude': u'40.29999923706055'} +error: (1062, "Duplicate entry 'caria-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Caria', u'countrycode': u'pt', u'city_id': u'-2161391', u'longitude': u'-7.36667013168335', u'nr_hotels': u'2', u'latitude': u'40.29999923706055'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20071983', u'longitude': u'-93.07330322265625', u'nr_hotels': u'1', u'latitude': u'39.784400939941406'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20071983', u'longitude': u'-93.07330322265625', u'nr_hotels': u'1', u'latitude': u'39.784400939941406'} +error: (1062, "Duplicate entry 'california-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'California', u'countrycode': u'us', u'city_id': u'20072094', u'longitude': u'-92.56639862060547', u'nr_hotels': u'1', u'latitude': u'38.627498626708984'} +error: (1062, "Duplicate entry 'california-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'California', u'countrycode': u'us', u'city_id': u'20072094', u'longitude': u'-92.56639862060547', u'nr_hotels': u'1', u'latitude': u'38.627498626708984'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20072110', u'longitude': u'-94.24079895019531', u'nr_hotels': u'5', u'latitude': u'39.740299224853516'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20072110', u'longitude': u'-94.24079895019531', u'nr_hotels': u'5', u'latitude': u'39.740299224853516'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20072123', u'longitude': u'-91.52234649658203', u'nr_hotels': u'1', u'latitude': u'40.13090515136719'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20072123', u'longitude': u'-91.52234649658203', u'nr_hotels': u'1', u'latitude': u'40.13090515136719'} +error: (1062, "Duplicate entry 'chesterfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chesterfield', u'countrycode': u'us', u'city_id': u'20072259', u'longitude': u'-90.57689666748047', u'nr_hotels': u'10', u'latitude': u'38.66310119628906'} +error: (1062, "Duplicate entry 'chesterfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chesterfield', u'countrycode': u'us', u'city_id': u'20072259', u'longitude': u'-90.57689666748047', u'nr_hotels': u'10', u'latitude': u'38.66310119628906'} +error: (1062, "Duplicate entry 'chillicothe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chillicothe', u'countrycode': u'us', u'city_id': u'20072264', u'longitude': u'-93.55220031738281', u'nr_hotels': u'1', u'latitude': u'39.7952995300293'} +error: (1062, "Duplicate entry 'chillicothe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chillicothe', u'countrycode': u'us', u'city_id': u'20072264', u'longitude': u'-93.55220031738281', u'nr_hotels': u'1', u'latitude': u'39.7952995300293'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20072303', u'longitude': u'-90.32360076904297', u'nr_hotels': u'2', u'latitude': u'38.64250183105469'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20072303', u'longitude': u'-90.32360076904297', u'nr_hotels': u'2', u'latitude': u'38.64250183105469'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20072326', u'longitude': u'-93.7780990600586', u'nr_hotels': u'2', u'latitude': u'38.36859893798828'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20072326', u'longitude': u'-93.7780990600586', u'nr_hotels': u'2', u'latitude': u'38.36859893798828'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20072361', u'longitude': u'-92.33390045166016', u'nr_hotels': u'28', u'latitude': u'38.951698303222656'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20072361', u'longitude': u'-92.33390045166016', u'nr_hotels': u'28', u'latitude': u'38.951698303222656'} +error: (1062, "Duplicate entry 'crestwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Crestwood', u'countrycode': u'us', u'city_id': u'20072449', u'longitude': u'-90.38169860839844', u'nr_hotels': u'3', u'latitude': u'38.55690002441406'} +error: (1062, "Duplicate entry 'crestwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Crestwood', u'countrycode': u'us', u'city_id': u'20072449', u'longitude': u'-90.38169860839844', u'nr_hotels': u'3', u'latitude': u'38.55690002441406'} +error: (1062, "Duplicate entry 'dexter-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dexter', u'countrycode': u'us', u'city_id': u'20072603', u'longitude': u'-89.95780181884766', u'nr_hotels': u'2', u'latitude': u'36.795799255371094'} +error: (1062, "Duplicate entry 'dexter-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dexter', u'countrycode': u'us', u'city_id': u'20072603', u'longitude': u'-89.95780181884766', u'nr_hotels': u'2', u'latitude': u'36.795799255371094'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20072880', u'longitude': u'-90.42169952392578', u'nr_hotels': u'5', u'latitude': u'37.780799865722656'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20072880', u'longitude': u'-90.42169952392578', u'nr_hotels': u'5', u'latitude': u'37.780799865722656'} +error: (1062, "Duplicate entry 'fenton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fenton', u'countrycode': u'us', u'city_id': u'20072895', u'longitude': u'-90.43579864501953', u'nr_hotels': u'8', u'latitude': u'38.513099670410156'} +error: (1062, "Duplicate entry 'fenton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fenton', u'countrycode': u'us', u'city_id': u'20072895', u'longitude': u'-90.43579864501953', u'nr_hotels': u'8', u'latitude': u'38.513099670410156'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20073021', u'longitude': u'-91.94779968261719', u'nr_hotels': u'2', u'latitude': u'38.84669876098633'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20073021', u'longitude': u'-91.94779968261719', u'nr_hotels': u'2', u'latitude': u'38.84669876098633'} +error: (1062, "Duplicate entry 'calheta-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Calheta', u'countrycode': u'pt', u'city_id': u'-2160860', u'longitude': u'-17.183300018310547', u'nr_hotels': u'16', u'latitude': u'32.71670150756836'} +error: (1062, "Duplicate entry 'hollister-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hollister', u'countrycode': u'us', u'city_id': u'20073451', u'longitude': u'-93.21530151367188', u'nr_hotels': u'3', u'latitude': u'36.62110137939453'} +error: (1062, "Duplicate entry 'hollister-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hollister', u'countrycode': u'us', u'city_id': u'20073451', u'longitude': u'-93.21530151367188', u'nr_hotels': u'3', u'latitude': u'36.62110137939453'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20073554', u'longitude': u'-94.41529846191406', u'nr_hotels': u'16', u'latitude': u'39.09109878540039'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20073554', u'longitude': u'-94.41529846191406', u'nr_hotels': u'16', u'latitude': u'39.09109878540039'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20073587', u'longitude': u'-89.66609954833984', u'nr_hotels': u'2', u'latitude': u'37.382198333740234'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20073587', u'longitude': u'-89.66609954833984', u'nr_hotels': u'2', u'latitude': u'37.382198333740234'} +error: (1062, "Duplicate entry 'kansas-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kansas City', u'countrycode': u'us', u'city_id': u'20073662', u'longitude': u'-94.58399963378906', u'nr_hotels': u'72', u'latitude': u'39.10340118408203'} +error: (1062, "Duplicate entry 'kansas-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kansas City', u'countrycode': u'us', u'city_id': u'20073662', u'longitude': u'-94.58399963378906', u'nr_hotels': u'72', u'latitude': u'39.10340118408203'} +error: (1062, "Duplicate entry 'kirkwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kirkwood', u'countrycode': u'us', u'city_id': u'20073724', u'longitude': u'-90.40670013427734', u'nr_hotels': u'1', u'latitude': u'38.58330154418945'} +error: (1062, "Duplicate entry 'kirkwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kirkwood', u'countrycode': u'us', u'city_id': u'20073724', u'longitude': u'-90.40670013427734', u'nr_hotels': u'1', u'latitude': u'38.58330154418945'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20073842', u'longitude': u'-92.6635971069336', u'nr_hotels': u'5', u'latitude': u'37.680599212646484'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0435\u0431\u0430\u043d\u043e\u043d', u'countrycode': u'us', u'city_id': u'20073842', u'longitude': u'-92.6635971069336', u'nr_hotels': u'5', u'latitude': u'37.680599212646484'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20073876', u'longitude': u'-93.87969970703125', u'nr_hotels': u'1', u'latitude': u'39.18470001220703'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20073876', u'longitude': u'-93.87969970703125', u'nr_hotels': u'1', u'latitude': u'39.18470001220703'} +error: (1062, "Duplicate entry 'macon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Macon', u'countrycode': u'us', u'city_id': u'20074008', u'longitude': u'-92.47250366210938', u'nr_hotels': u'2', u'latitude': u'39.7421989440918'} +error: (1062, "Duplicate entry 'macon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Macon', u'countrycode': u'us', u'city_id': u'20074008', u'longitude': u'-92.47250366210938', u'nr_hotels': u'2', u'latitude': u'39.7421989440918'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20074063', u'longitude': u'-93.19670104980469', u'nr_hotels': u'1', u'latitude': u'39.12310028076172'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20074063', u'longitude': u'-93.19670104980469', u'nr_hotels': u'1', u'latitude': u'39.12310028076172'} +error: (1062, "Duplicate entry 'maryville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maryville', u'countrycode': u'us', u'city_id': u'20074079', u'longitude': u'-94.87220001220703', u'nr_hotels': u'4', u'latitude': u'40.346099853515625'} +error: (1062, "Duplicate entry 'maryville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Maryville', u'countrycode': u'us', u'city_id': u'20074079', u'longitude': u'-94.87220001220703', u'nr_hotels': u'4', u'latitude': u'40.346099853515625'} +error: (1062, "Duplicate entry 'nevada-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nevada', u'countrycode': u'us', u'city_id': u'20074380', u'longitude': u'-94.35440063476562', u'nr_hotels': u'2', u'latitude': u'37.83919906616211'} +error: (1062, "Duplicate entry 'nevada-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Nevada', u'countrycode': u'us', u'city_id': u'20074380', u'longitude': u'-94.35440063476562', u'nr_hotels': u'2', u'latitude': u'37.83919906616211'} +error: (1062, "Duplicate entry 'new-haven-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Haven', u'countrycode': u'us', u'city_id': u'20074397', u'longitude': u'-91.21890258789062', u'nr_hotels': u'1', u'latitude': u'38.608299255371094'} +error: (1062, "Duplicate entry 'new-haven-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Haven', u'countrycode': u'us', u'city_id': u'20074397', u'longitude': u'-91.21890258789062', u'nr_hotels': u'1', u'latitude': u'38.608299255371094'} +error: (1062, "Duplicate entry 'o-fallon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u"O'Fallon", u'countrycode': u'us', u'city_id': u'20074485', u'longitude': u'-90.69969940185547', u'nr_hotels': u'6', u'latitude': u'38.81060028076172'} +error: (1062, "Duplicate entry 'o-fallon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u"O'Fallon", u'countrycode': u'us', u'city_id': u'20074485', u'longitude': u'-90.69969940185547', u'nr_hotels': u'6', u'latitude': u'38.81060028076172'} +error: (1062, "Duplicate entry 'oak-grove-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oak Grove', u'countrycode': u'us', u'city_id': u'20074488', u'longitude': u'-94.12920379638672', u'nr_hotels': u'2', u'latitude': u'39.005001068115234'} +error: (1062, "Duplicate entry 'oak-grove-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oak Grove', u'countrycode': u'us', u'city_id': u'20074488', u'longitude': u'-94.12920379638672', u'nr_hotels': u'2', u'latitude': u'39.005001068115234'} +error: (1062, "Duplicate entry 'ozark-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ozark', u'countrycode': u'us', u'city_id': u'20074612', u'longitude': u'-93.20580291748047', u'nr_hotels': u'3', u'latitude': u'37.02080154418945'} +error: (1062, "Duplicate entry 'ozark-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ozark', u'countrycode': u'us', u'city_id': u'20074612', u'longitude': u'-93.20580291748047', u'nr_hotels': u'3', u'latitude': u'37.02080154418945'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20074702', u'longitude': u'-91.67500305175781', u'nr_hotels': u'1', u'latitude': u'39.43109893798828'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20074702', u'longitude': u'-91.67500305175781', u'nr_hotels': u'1', u'latitude': u'39.43109893798828'} +error: (1062, "Duplicate entry 'rolla-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rolla', u'countrycode': u'us', u'city_id': u'20075032', u'longitude': u'-91.77110290527344', u'nr_hotels': u'13', u'latitude': u'37.95140075683594'} +error: (1062, "Duplicate entry 'rolla-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u043e\u043b\u043b\u0430', u'countrycode': u'us', u'city_id': u'20075032', u'longitude': u'-91.77110290527344', u'nr_hotels': u'13', u'latitude': u'37.95140075683594'} +error: (1062, "Duplicate entry 'saint-james-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint James', u'countrycode': u'us', u'city_id': u'20075113', u'longitude': u'-91.61419677734375', u'nr_hotels': u'1', u'latitude': u'37.99720001220703'} +error: (1062, "Duplicate entry 'saint-james-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint James', u'countrycode': u'us', u'city_id': u'20075113', u'longitude': u'-91.61419677734375', u'nr_hotels': u'1', u'latitude': u'37.99720001220703'} +error: (1062, "Duplicate entry 'saint-joseph-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Joseph', u'countrycode': u'us', u'city_id': u'20075117', u'longitude': u'-94.82703399658203', u'nr_hotels': u'9', u'latitude': u'39.76243209838867'} +error: (1062, "Duplicate entry 'saint-joseph-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Joseph', u'countrycode': u'us', u'city_id': u'20075117', u'longitude': u'-94.82703399658203', u'nr_hotels': u'9', u'latitude': u'39.76243209838867'} +error: (1062, "Duplicate entry 'seymour-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seymour', u'countrycode': u'us', u'city_id': u'20075225', u'longitude': u'-92.76860046386719', u'nr_hotels': u'1', u'latitude': u'37.146400451660156'} +error: (1062, "Duplicate entry 'seymour-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seymour', u'countrycode': u'us', u'city_id': u'20075225', u'longitude': u'-92.76860046386719', u'nr_hotels': u'1', u'latitude': u'37.146400451660156'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20075377', u'longitude': u'-93.29810333251953', u'nr_hotels': u'44', u'latitude': u'37.215301513671875'} +error: (1062, "Duplicate entry 'springfild-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043f\u0440\u0438\u043d\u0433\u0444\u0438\u043b\u0434', u'countrycode': u'us', u'city_id': u'20075377', u'longitude': u'-93.29810333251953', u'nr_hotels': u'44', u'latitude': u'37.215301513671875'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20075625', u'longitude': u'-90.98059844970703', u'nr_hotels': u'2', u'latitude': u'38.979400634765625'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20075625', u'longitude': u'-90.98059844970703', u'nr_hotels': u'2', u'latitude': u'38.979400634765625'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20075775', u'longitude': u'-91.14140319824219', u'nr_hotels': u'4', u'latitude': u'38.8114013671875'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20075775', u'longitude': u'-91.14140319824219', u'nr_hotels': u'4', u'latitude': u'38.8114013671875'} +error: (1062, "Duplicate entry 'warsaw-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warsaw', u'countrycode': u'us', u'city_id': u'20075776', u'longitude': u'-93.38169860839844', u'nr_hotels': u'1', u'latitude': u'38.243099212646484'} +error: (1062, "Duplicate entry 'warsaw-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warsaw', u'countrycode': u'us', u'city_id': u'20075776', u'longitude': u'-93.38169860839844', u'nr_hotels': u'1', u'latitude': u'38.243099212646484'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20075779', u'longitude': u'-91.01190185546875', u'nr_hotels': u'2', u'latitude': u'38.558101654052734'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20075779', u'longitude': u'-91.01190185546875', u'nr_hotels': u'2', u'latitude': u'38.558101654052734'} +error: (1062, "Duplicate entry 'wildwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wildwood', u'countrycode': u'us', u'city_id': u'20075883', u'longitude': u'-90.66280364990234', u'nr_hotels': u'1', u'latitude': u'38.582801818847656'} +error: (1062, "Duplicate entry 'wildwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wildwood', u'countrycode': u'us', u'city_id': u'20075883', u'longitude': u'-90.66280364990234', u'nr_hotels': u'1', u'latitude': u'38.582801818847656'} +error: (1062, "Duplicate entry 'amieira-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Amieira', u'countrycode': u'pt', u'city_id': u'-2158247', u'longitude': u'-7.566669940948486', u'nr_hotels': u'2', u'latitude': u'38.28329849243164'} +error: (1062, "Duplicate entry 'amieira-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Amieira', u'countrycode': u'pt', u'city_id': u'-2158247', u'longitude': u'-7.566669940948486', u'nr_hotels': u'2', u'latitude': u'38.28329849243164'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20076252', u'longitude': u'-111.69999694824219', u'nr_hotels': u'1', u'latitude': u'47.27109909057617'} +error: (1062, "Duplicate entry 'cascade-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cascade', u'countrycode': u'us', u'city_id': u'20076252', u'longitude': u'-111.69999694824219', u'nr_hotels': u'1', u'latitude': u'47.27109909057617'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20076274', u'longitude': u'-110.96700286865234', u'nr_hotels': u'2', u'latitude': u'48.51060104370117'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20076274', u'longitude': u'-110.96700286865234', u'nr_hotels': u'2', u'latitude': u'48.51060104370117'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20076318', u'longitude': u'-109.2509994506836', u'nr_hotels': u'2', u'latitude': u'45.63669967651367'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20076318', u'longitude': u'-109.2509994506836', u'nr_hotels': u'2', u'latitude': u'45.63669967651367'} +error: (1062, "Duplicate entry 'dillon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dillon', u'countrycode': u'us', u'city_id': u'20076396', u'longitude': u'-112.63700103759766', u'nr_hotels': u'2', u'latitude': u'45.216400146484375'} +error: (1062, "Duplicate entry 'dillon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dillon', u'countrycode': u'us', u'city_id': u'20076396', u'longitude': u'-112.63700103759766', u'nr_hotels': u'2', u'latitude': u'45.216400146484375'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20076568', u'longitude': u'-113.24600219726562', u'nr_hotels': u'1', u'latitude': u'46.19940185546875'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20076568', u'longitude': u'-113.24600219726562', u'nr_hotels': u'1', u'latitude': u'46.19940185546875'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20076636', u'longitude': u'-114.15899658203125', u'nr_hotels': u'3', u'latitude': u'46.24689865112305'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20076636', u'longitude': u'-114.15899658203125', u'nr_hotels': u'3', u'latitude': u'46.24689865112305'} +error: (1062, "Duplicate entry 'lakeview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lakeview', u'countrycode': u'us', u'city_id': u'20076806', u'longitude': u'-111.23999786376953', u'nr_hotels': u'1', u'latitude': u'44.8046989440918'} +error: (1062, "Duplicate entry 'lakeview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lakeview', u'countrycode': u'us', u'city_id': u'20076806', u'longitude': u'-111.23999786376953', u'nr_hotels': u'1', u'latitude': u'44.8046989440918'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20076846', u'longitude': u'-110.55999755859375', u'nr_hotels': u'7', u'latitude': u'45.662498474121094'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20076846', u'longitude': u'-110.55999755859375', u'nr_hotels': u'7', u'latitude': u'45.662498474121094'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20076891', u'longitude': u'-114.66200256347656', u'nr_hotels': u'1', u'latitude': u'48.10559844970703'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20076891', u'longitude': u'-114.66200256347656', u'nr_hotels': u'1', u'latitude': u'48.10559844970703'} +error: (1062, "Duplicate entry 'saint-mary-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Mary', u'countrycode': u'us', u'city_id': u'20077255', u'longitude': u'-113.42900085449219', u'nr_hotels': u'1', u'latitude': u'48.743900299072266'} +error: (1062, "Duplicate entry 'saint-mary-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Mary', u'countrycode': u'us', u'city_id': u'20077255', u'longitude': u'-113.42900085449219', u'nr_hotels': u'1', u'latitude': u'48.743900299072266'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20077294', u'longitude': u'-111.85600280761719', u'nr_hotels': u'3', u'latitude': u'48.50529861450195'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20077294', u'longitude': u'-111.85600280761719', u'nr_hotels': u'3', u'latitude': u'48.50529861450195'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20077711', u'longitude': u'-95.8906021118164', u'nr_hotels': u'9', u'latitude': u'41.13669967651367'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20077711', u'longitude': u'-95.8906021118164', u'nr_hotels': u'9', u'latitude': u'41.13669967651367'} +error: (1062, "Duplicate entry 'central-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Central City', u'countrycode': u'us', u'city_id': u'20077813', u'longitude': u'-98.00140380859375', u'nr_hotels': u'1', u'latitude': u'41.11579895019531'} +error: (1062, "Duplicate entry 'central-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Central City', u'countrycode': u'us', u'city_id': u'20077813', u'longitude': u'-98.00140380859375', u'nr_hotels': u'1', u'latitude': u'41.11579895019531'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20077841', u'longitude': u'-97.36810302734375', u'nr_hotels': u'8', u'latitude': u'41.4296989440918'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20077841', u'longitude': u'-97.36810302734375', u'nr_hotels': u'8', u'latitude': u'41.4296989440918'} +error: (1062, "Duplicate entry 'doniphan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Doniphan', u'countrycode': u'us', u'city_id': u'20077919', u'longitude': u'-98.36920166015625', u'nr_hotels': u'3', u'latitude': u'40.77190017700195'} +error: (1062, "Duplicate entry 'doniphan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Doniphan', u'countrycode': u'us', u'city_id': u'20077919', u'longitude': u'-98.36920166015625', u'nr_hotels': u'3', u'latitude': u'40.77190017700195'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20077996', u'longitude': u'-96.497802734375', u'nr_hotels': u'6', u'latitude': u'41.43330001831055'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20077996', u'longitude': u'-96.497802734375', u'nr_hotels': u'6', u'latitude': u'41.43330001831055'} +error: (1062, "Duplicate entry 'geneva-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Geneva', u'countrycode': u'us', u'city_id': u'20078009', u'longitude': u'-97.59559631347656', u'nr_hotels': u'1', u'latitude': u'40.52690124511719'} +error: (1062, "Duplicate entry 'geneva-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Geneva', u'countrycode': u'us', u'city_id': u'20078009', u'longitude': u'-97.59559631347656', u'nr_hotels': u'1', u'latitude': u'40.52690124511719'} +error: (1062, "Duplicate entry 'gretna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gretna', u'countrycode': u'us', u'city_id': u'20078041', u'longitude': u'-96.2394027709961', u'nr_hotels': u'1', u'latitude': u'41.14080047607422'} +error: (1062, "Duplicate entry 'gretna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gretna', u'countrycode': u'us', u'city_id': u'20078041', u'longitude': u'-96.2394027709961', u'nr_hotels': u'1', u'latitude': u'41.14080047607422'} +error: (1062, "Duplicate entry 'hastings-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hastings', u'countrycode': u'us', u'city_id': u'20078066', u'longitude': u'-98.38809967041016', u'nr_hotels': u'9', u'latitude': u'40.58610153198242'} +error: (1062, "Duplicate entry 'hastings-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hastings', u'countrycode': u'us', u'city_id': u'20078066', u'longitude': u'-98.38809967041016', u'nr_hotels': u'9', u'latitude': u'40.58610153198242'} +error: (1062, "Duplicate entry 'kearney-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kearney', u'countrycode': u'us', u'city_id': u'20078157', u'longitude': u'-99.08110046386719', u'nr_hotels': u'18', u'latitude': u'40.69940185546875'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20078213', u'longitude': u'-99.74109649658203', u'nr_hotels': u'3', u'latitude': u'40.780799865722656'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20078213', u'longitude': u'-99.74109649658203', u'nr_hotels': u'3', u'latitude': u'40.780799865722656'} +error: (1062, "Duplicate entry 'lincoln-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lincoln', u'countrycode': u'us', u'city_id': u'20078217', u'longitude': u'-96.66670227050781', u'nr_hotels': u'49', u'latitude': u'40.79999923706055'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'20078217', u'longitude': u'-96.66670227050781', u'nr_hotels': u'49', u'latitude': u'40.79999923706055'} +error: (1062, "Duplicate entry 'paxton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paxton', u'countrycode': u'us', u'city_id': u'20078440', u'longitude': u'-101.35600280761719', u'nr_hotels': u'1', u'latitude': u'41.12419891357422'} +error: (1062, "Duplicate entry 'paxton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paxton', u'countrycode': u'us', u'city_id': u'20078440', u'longitude': u'-101.35600280761719', u'nr_hotels': u'1', u'latitude': u'41.12419891357422'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20078596', u'longitude': u'-102.97799682617188', u'nr_hotels': u'7', u'latitude': u'41.142799377441406'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20078596', u'longitude': u'-102.97799682617188', u'nr_hotels': u'7', u'latitude': u'41.142799377441406'} +error: (1062, "Duplicate entry 'syracuse-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Syracuse', u'countrycode': u'us', u'city_id': u'20078669', u'longitude': u'-96.18609619140625', u'nr_hotels': u'1', u'latitude': u'40.65719985961914'} +error: (1062, "Duplicate entry 'syracuse-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Syracuse', u'countrycode': u'us', u'city_id': u'20078669', u'longitude': u'-96.18609619140625', u'nr_hotels': u'1', u'latitude': u'40.65719985961914'} +error: (1062, "Duplicate entry 'tecumseh-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tecumseh', u'countrycode': u'us', u'city_id': u'20078677', u'longitude': u'-96.19580078125', u'nr_hotels': u'1', u'latitude': u'40.36669921875'} +error: (1062, "Duplicate entry 'tecumseh-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tecumseh', u'countrycode': u'us', u'city_id': u'20078677', u'longitude': u'-96.19580078125', u'nr_hotels': u'1', u'latitude': u'40.36669921875'} +error: (1062, "Duplicate entry 'west-point-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'West Point', u'countrycode': u'us', u'city_id': u'20078765', u'longitude': u'-96.70829772949219', u'nr_hotels': u'2', u'latitude': u'41.84170150756836'} +error: (1062, "Duplicate entry 'west-point-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'West Point', u'countrycode': u'us', u'city_id': u'20078765', u'longitude': u'-96.70829772949219', u'nr_hotels': u'2', u'latitude': u'41.84170150756836'} +error: (1062, "Duplicate entry 'enterprise-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Enterprise', u'countrycode': u'us', u'city_id': u'20078983', u'longitude': u'-115.24099731445312', u'nr_hotels': u'1', u'latitude': u'36.025299072265625'} +error: (1062, "Duplicate entry 'enterprise-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Enterprise', u'countrycode': u'us', u'city_id': u'20078983', u'longitude': u'-115.24099731445312', u'nr_hotels': u'1', u'latitude': u'36.025299072265625'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20079052', u'longitude': u'-114.9820556640625', u'nr_hotels': u'3', u'latitude': u'36.03910446166992'} +error: (1062, "Duplicate entry 'alvor-pt' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alvor', u'countrycode': u'pt', u'city_id': u'900051062', u'longitude': u'-8.594610214233398', u'nr_hotels': u'47', u'latitude': u'37.12954330444336'} +error: (1062, "Duplicate entry 'alvor-pt' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u0432\u043e\u0440', u'countrycode': u'pt', u'city_id': u'900051062', u'longitude': u'-8.594610214233398', u'nr_hotels': u'47', u'latitude': u'37.12954330444336'} +error: (1062, "Duplicate entry 'minden-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Minden', u'countrycode': u'us', u'city_id': u'20079163', u'longitude': u'-119.76499938964844', u'nr_hotels': u'2', u'latitude': u'38.954200744628906'} +error: (1062, "Duplicate entry 'minden-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Minden', u'countrycode': u'us', u'city_id': u'20079163', u'longitude': u'-119.76499938964844', u'nr_hotels': u'2', u'latitude': u'38.954200744628906'} +error: (1062, "Duplicate entry 'unionville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Unionville', u'countrycode': u'us', u'city_id': u'20079393', u'longitude': u'-118.12000274658203', u'nr_hotels': u'1', u'latitude': u'40.44559860229492'} +error: (1062, "Duplicate entry 'unionville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Unionville', u'countrycode': u'us', u'city_id': u'20079393', u'longitude': u'-118.12000274658203', u'nr_hotels': u'1', u'latitude': u'40.44559860229492'} +error: (1062, "Duplicate entry 'wells-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wells', u'countrycode': u'us', u'city_id': u'20079421', u'longitude': u'-114.96399688720703', u'nr_hotels': u'2', u'latitude': u'41.111698150634766'} +error: (1062, "Duplicate entry 'wells-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wells', u'countrycode': u'us', u'city_id': u'20079421', u'longitude': u'-114.96399688720703', u'nr_hotels': u'2', u'latitude': u'41.111698150634766'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20079458', u'longitude': u'-71.631103515625', u'nr_hotels': u'3', u'latitude': u'43.6953010559082'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20079458', u'longitude': u'-71.631103515625', u'nr_hotels': u'3', u'latitude': u'43.6953010559082'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20079482', u'longitude': u'-71.51640319824219', u'nr_hotels': u'2', u'latitude': u'42.9463996887207'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20079482', u'longitude': u'-71.51640319824219', u'nr_hotels': u'2', u'latitude': u'42.9463996887207'} +error: (1062, "Duplicate entry 'claremont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Claremont', u'countrycode': u'us', u'city_id': u'20079576', u'longitude': u'-72.34719848632812', u'nr_hotels': u'2', u'latitude': u'43.37670135498047'} +error: (1062, "Duplicate entry 'claremont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Claremont', u'countrycode': u'us', u'city_id': u'20079576', u'longitude': u'-72.34719848632812', u'nr_hotels': u'2', u'latitude': u'43.37670135498047'} +error: (1062, "Duplicate entry 'concord-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Concord', u'countrycode': u'us', u'city_id': u'20079593', u'longitude': u'-71.53810119628906', u'nr_hotels': u'7', u'latitude': u'43.208099365234375'} +error: (1062, "Duplicate entry 'concord-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Concord', u'countrycode': u'us', u'city_id': u'20079593', u'longitude': u'-71.53810119628906', u'nr_hotels': u'7', u'latitude': u'43.208099365234375'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20079649', u'longitude': u'-70.87419891357422', u'nr_hotels': u'5', u'latitude': u'43.19779968261719'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20079649', u'longitude': u'-70.87419891357422', u'nr_hotels': u'5', u'latitude': u'43.19779968261719'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20079858', u'longitude': u'-71.181396484375', u'nr_hotels': u'12', u'latitude': u'44.14419937133789'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20079858', u'longitude': u'-71.181396484375', u'nr_hotels': u'12', u'latitude': u'44.14419937133789'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20079864', u'longitude': u'-71.4749984741211', u'nr_hotels': u'2', u'latitude': u'44.41889953613281'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20079864', u'longitude': u'-71.4749984741211', u'nr_hotels': u'2', u'latitude': u'44.41889953613281'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20079891', u'longitude': u'-71.5697021484375', u'nr_hotels': u'1', u'latitude': u'44.48889923095703'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20079900', u'longitude': u'-72.252197265625', u'nr_hotels': u'1', u'latitude': u'43.6422004699707'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20079900', u'longitude': u'-72.252197265625', u'nr_hotels': u'1', u'latitude': u'43.6422004699707'} +error: (1062, "Duplicate entry 'lincoln-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lincoln', u'countrycode': u'us', u'city_id': u'20079907', u'longitude': u'-71.67060089111328', u'nr_hotels': u'16', u'latitude': u'44.04560089111328'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'20079907', u'longitude': u'-71.67060089111328', u'nr_hotels': u'16', u'latitude': u'44.04560089111328'} +error: (1062, "Duplicate entry 'littleton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Littleton', u'countrycode': u'us', u'city_id': u'20079913', u'longitude': u'-71.77059936523438', u'nr_hotels': u'2', u'latitude': u'44.30609893798828'} +error: (1062, "Duplicate entry 'littleton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Littleton', u'countrycode': u'us', u'city_id': u'20079913', u'longitude': u'-71.77059936523438', u'nr_hotels': u'2', u'latitude': u'44.30609893798828'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20079942', u'longitude': u'-71.4552993774414', u'nr_hotels': u'13', u'latitude': u'42.995601654052734'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20079942', u'longitude': u'-71.4552993774414', u'nr_hotels': u'13', u'latitude': u'42.995601654052734'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20079999', u'longitude': u'-70.7166976928711', u'nr_hotels': u'1', u'latitude': u'43.072200775146484'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20079999', u'longitude': u'-70.7166976928711', u'nr_hotels': u'1', u'latitude': u'43.072200775146484'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20080111', u'longitude': u'-71.39189910888672', u'nr_hotels': u'2', u'latitude': u'45.05110168457031'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20080111', u'longitude': u'-71.39189910888672', u'nr_hotels': u'2', u'latitude': u'45.05110168457031'} +error: (1062, "Duplicate entry 'plainfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plainfield', u'countrycode': u'us', u'city_id': u'20080115', u'longitude': u'-72.35669708251953', u'nr_hotels': u'0', u'latitude': u'43.53419876098633'} +error: (1062, "Duplicate entry 'plainfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plainfield', u'countrycode': u'us', u'city_id': u'20080115', u'longitude': u'-72.35669708251953', u'nr_hotels': u'0', u'latitude': u'43.53419876098633'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20080117', u'longitude': u'-71.6885986328125', u'nr_hotels': u'4', u'latitude': u'43.756900787353516'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20080117', u'longitude': u'-71.6885986328125', u'nr_hotels': u'4', u'latitude': u'43.756900787353516'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20080152', u'longitude': u'-70.9760971069336', u'nr_hotels': u'2', u'latitude': u'43.30440139770508'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20080152', u'longitude': u'-70.9760971069336', u'nr_hotels': u'2', u'latitude': u'43.30440139770508'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20080174', u'longitude': u'-71.20140075683594', u'nr_hotels': u'4', u'latitude': u'42.788299560546875'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0430\u043b\u0435\u043c', u'countrycode': u'us', u'city_id': u'20080174', u'longitude': u'-71.20140075683594', u'nr_hotels': u'4', u'latitude': u'42.788299560546875'} +error: (1062, "Duplicate entry 'thornton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thornton', u'countrycode': u'us', u'city_id': u'20080298', u'longitude': u'-71.67639923095703', u'nr_hotels': u'2', u'latitude': u'43.892799377441406'} +error: (1062, "Duplicate entry 'thornton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Thornton', u'countrycode': u'us', u'city_id': u'20080298', u'longitude': u'-71.67639923095703', u'nr_hotels': u'2', u'latitude': u'43.892799377441406'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20080309', u'longitude': u'-72.18170166015625', u'nr_hotels': u'1', u'latitude': u'42.82389831542969'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20080309', u'longitude': u'-72.18170166015625', u'nr_hotels': u'1', u'latitude': u'42.82389831542969'} +error: (1062, "Duplicate entry 'wakefield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wakefield', u'countrycode': u'us', u'city_id': u'20080322', u'longitude': u'-71.03060150146484', u'nr_hotels': u'0', u'latitude': u'43.56809997558594'} +error: (1062, "Duplicate entry 'wakefield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wakefield', u'countrycode': u'us', u'city_id': u'20080322', u'longitude': u'-71.03060150146484', u'nr_hotels': u'0', u'latitude': u'43.56809997558594'} +error: (1062, "Duplicate entry 'vama-ro' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vama', u'countrycode': u'ro', u'city_id': u'-1174276', u'longitude': u'25.683300018310547', u'nr_hotels': u'9', u'latitude': u'47.56669998168945'} +error: (1062, "Duplicate entry 'vama-ro' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0430\u043c\u0430', u'countrycode': u'ro', u'city_id': u'-1174276', u'longitude': u'25.683300018310547', u'nr_hotels': u'9', u'latitude': u'47.56669998168945'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20080421', u'longitude': u'-71.68560028076172', u'nr_hotels': u'1', u'latitude': u'43.977500915527344'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20080421', u'longitude': u'-71.68560028076172', u'nr_hotels': u'1', u'latitude': u'43.977500915527344'} +error: (1062, "Duplicate entry 'andover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Andover', u'countrycode': u'us', u'city_id': u'20080469', u'longitude': u'-74.74250030517578', u'nr_hotels': u'1', u'latitude': u'40.985801696777344'} +error: (1062, "Duplicate entry 'andover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Andover', u'countrycode': u'us', u'city_id': u'20080469', u'longitude': u'-74.74250030517578', u'nr_hotels': u'1', u'latitude': u'40.985801696777344'} +error: (1062, "Duplicate entry 'avalon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avalon', u'countrycode': u'us', u'city_id': u'20080503', u'longitude': u'-74.71810150146484', u'nr_hotels': u'1', u'latitude': u'39.10110092163086'} +error: (1062, "Duplicate entry 'avalon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0432\u0430\u043b\u043e\u043d', u'countrycode': u'us', u'city_id': u'20080503', u'longitude': u'-74.71810150146484', u'nr_hotels': u'1', u'latitude': u'39.10110092163086'} +error: (1062, "Duplicate entry 'valea-lupului-ro' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Valea Lupului', u'countrycode': u'ro', u'city_id': u'-1173846', u'longitude': u'26.33329963684082', u'nr_hotels': u'1', u'latitude': u'45.36669921875'} +error: (1062, "Duplicate entry 'valea-lupului-ro' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Valea Lupului', u'countrycode': u'ro', u'city_id': u'-1173846', u'longitude': u'26.33329963684082', u'nr_hotels': u'1', u'latitude': u'45.36669921875'} +error: (1062, "Duplicate entry 'belleville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belleville', u'countrycode': u'us', u'city_id': u'20080581', u'longitude': u'-74.15059661865234', u'nr_hotels': u'1', u'latitude': u'40.79359817504883'} +error: (1062, "Duplicate entry 'belleville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belleville', u'countrycode': u'us', u'city_id': u'20080581', u'longitude': u'-74.15059661865234', u'nr_hotels': u'1', u'latitude': u'40.79359817504883'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20080716', u'longitude': u'-74.86530303955078', u'nr_hotels': u'1', u'latitude': u'40.07109832763672'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20080716', u'longitude': u'-74.86530303955078', u'nr_hotels': u'1', u'latitude': u'40.07109832763672'} +error: (1062, "Duplicate entry 'clifton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clifton', u'countrycode': u'us', u'city_id': u'20080854', u'longitude': u'-74.16419982910156', u'nr_hotels': u'2', u'latitude': u'40.858299255371094'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20080856', u'longitude': u'-74.9103012084961', u'nr_hotels': u'2', u'latitude': u'40.63669967651367'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20080856', u'longitude': u'-74.9103012084961', u'nr_hotels': u'2', u'latitude': u'40.63669967651367'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20080997', u'longitude': u'-74.5625', u'nr_hotels': u'1', u'latitude': u'40.8838996887207'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20080997', u'longitude': u'-74.5625', u'nr_hotels': u'1', u'latitude': u'40.8838996887207'} +error: (1062, "Duplicate entry 'edgewater-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Edgewater', u'countrycode': u'us', u'city_id': u'20081048', u'longitude': u'-73.9760971069336', u'nr_hotels': u'2', u'latitude': u'40.826900482177734'} +error: (1062, "Duplicate entry 'englewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Englewood', u'countrycode': u'us', u'city_id': u'20081078', u'longitude': u'-73.97309875488281', u'nr_hotels': u'1', u'latitude': u'40.892799377441406'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20081108', u'longitude': u'-74.306396484375', u'nr_hotels': u'4', u'latitude': u'40.88359832763672'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20081108', u'longitude': u'-74.306396484375', u'nr_hotels': u'4', u'latitude': u'40.88359832763672'} +error: (1062, "Duplicate entry 'harrison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harrison', u'countrycode': u'us', u'city_id': u'20081370', u'longitude': u'-74.15670013427734', u'nr_hotels': u'1', u'latitude': u'40.74639892578125'} +error: (1062, "Duplicate entry 'harrison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0430\u0440\u0440\u0438\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20081370', u'longitude': u'-74.15670013427734', u'nr_hotels': u'1', u'latitude': u'40.74639892578125'} +error: (1062, "Duplicate entry 'irvington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Irvington', u'countrycode': u'us', u'city_id': u'20081488', u'longitude': u'-74.23529815673828', u'nr_hotels': u'1', u'latitude': u'40.732200622558594'} +error: (1062, "Duplicate entry 'irvington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0418\u0440\u0432\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20081488', u'longitude': u'-74.23529815673828', u'nr_hotels': u'1', u'latitude': u'40.732200622558594'} +error: (1062, "Duplicate entry 'lawrence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrence', u'countrycode': u'us', u'city_id': u'20081600', u'longitude': u'-74.68000030517578', u'nr_hotels': u'1', u'latitude': u'40.27389907836914'} +error: (1062, "Duplicate entry 'lawrence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lawrence', u'countrycode': u'us', u'city_id': u'20081600', u'longitude': u'-74.68000030517578', u'nr_hotels': u'1', u'latitude': u'40.27389907836914'} +error: (1062, "Duplicate entry 'lawrenceville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrenceville', u'countrycode': u'us', u'city_id': u'20081603', u'longitude': u'-74.7300033569336', u'nr_hotels': u'2', u'latitude': u'40.29719924926758'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20081606', u'longitude': u'-74.8364028930664', u'nr_hotels': u'1', u'latitude': u'40.641700744628906'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20081606', u'longitude': u'-74.8364028930664', u'nr_hotels': u'1', u'latitude': u'40.641700744628906'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20081650', u'longitude': u'-74.31529998779297', u'nr_hotels': u'1', u'latitude': u'40.795799255371094'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u0432\u0438\u043d\u0433\u0441\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20081650', u'longitude': u'-74.31529998779297', u'nr_hotels': u'1', u'latitude': u'40.795799255371094'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20081806', u'longitude': u'-74.11750030517578', u'nr_hotels': u'1', u'latitude': u'40.39419937133789'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20081806', u'longitude': u'-74.11750030517578', u'nr_hotels': u'1', u'latitude': u'40.39419937133789'} +error: (1062, "Duplicate entry 'newark-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newark', u'countrycode': u'us', u'city_id': u'20081957', u'longitude': u'-74.17279815673828', u'nr_hotels': u'15', u'latitude': u'40.735599517822266'} +error: (1062, "Duplicate entry 'n-yuark-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u0430\u0440\u043a', u'countrycode': u'us', u'city_id': u'20081957', u'longitude': u'-74.17279815673828', u'nr_hotels': u'15', u'latitude': u'40.735599517822266'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20081967', u'longitude': u'-74.75309753417969', u'nr_hotels': u'3', u'latitude': u'41.058101654052734'} +error: (1062, "Duplicate entry 'newton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newton', u'countrycode': u'us', u'city_id': u'20081967', u'longitude': u'-74.75309753417969', u'nr_hotels': u'3', u'latitude': u'41.058101654052734'} +error: (1062, "Duplicate entry 'oushen-siti-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0443\u0448\u0435\u043d-\u0421\u0438\u0442\u0438', u'countrycode': u'us', u'city_id': u'20082042', u'longitude': u'-74.57499694824219', u'nr_hotels': u'5', u'latitude': u'39.27750015258789'} +error: (1062, "Duplicate entry 'phillipsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Phillipsburg', u'countrycode': u'us', u'city_id': u'20082158', u'longitude': u'-75.19059753417969', u'nr_hotels': u'1', u'latitude': u'40.693599700927734'} +error: (1062, "Duplicate entry 'phillipsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Phillipsburg', u'countrycode': u'us', u'city_id': u'20082158', u'longitude': u'-75.19059753417969', u'nr_hotels': u'1', u'latitude': u'40.693599700927734'} +error: (1062, "Duplicate entry 'princeton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Princeton', u'countrycode': u'us', u'city_id': u'20082259', u'longitude': u'-74.6594009399414', u'nr_hotels': u'12', u'latitude': u'40.34859848022461'} +error: (1062, "Duplicate entry 'ramsey-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ramsey', u'countrycode': u'us', u'city_id': u'20082286', u'longitude': u'-74.14140319824219', u'nr_hotels': u'3', u'latitude': u'41.05720138549805'} +error: (1062, "Duplicate entry 'ramsey-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ramsey', u'countrycode': u'us', u'city_id': u'20082286', u'longitude': u'-74.14140319824219', u'nr_hotels': u'3', u'latitude': u'41.05720138549805'} +error: (1062, "Duplicate entry 'ridgefield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ridgefield', u'countrycode': u'us', u'city_id': u'20082324', u'longitude': u'-74.00920104980469', u'nr_hotels': u'1', u'latitude': u'40.83420181274414'} +error: (1062, "Duplicate entry 'rutherford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rutherford', u'countrycode': u'us', u'city_id': u'20082398', u'longitude': u'-74.1072006225586', u'nr_hotels': u'2', u'latitude': u'40.82640075683594'} +error: (1062, "Duplicate entry 'rutherford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rutherford', u'countrycode': u'us', u'city_id': u'20082398', u'longitude': u'-74.1072006225586', u'nr_hotels': u'2', u'latitude': u'40.82640075683594'} +error: (1062, "Duplicate entry 'smithville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smithville', u'countrycode': u'us', u'city_id': u'20082509', u'longitude': u'-74.4574966430664', u'nr_hotels': u'1', u'latitude': u'39.493900299072266'} +error: (1062, "Duplicate entry 'smithville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smithville', u'countrycode': u'us', u'city_id': u'20082509', u'longitude': u'-74.4574966430664', u'nr_hotels': u'1', u'latitude': u'39.493900299072266'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Somerset', u'countrycode': u'us', u'city_id': u'20082520', u'longitude': u'-74.48889923095703', u'nr_hotels': u'13', u'latitude': u'40.497501373291016'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043e\u043c\u0435\u0440\u0441\u0435\u0442', u'countrycode': u'us', u'city_id': u'20082520', u'longitude': u'-74.48889923095703', u'nr_hotels': u'13', u'latitude': u'40.497501373291016'} +error: (1062, "Duplicate entry 'trenton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trenton', u'countrycode': u'us', u'city_id': u'20082688', u'longitude': u'-74.74330139160156', u'nr_hotels': u'1', u'latitude': u'40.21689987182617'} +error: (1062, "Duplicate entry 'trenton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trenton', u'countrycode': u'us', u'city_id': u'20082688', u'longitude': u'-74.74330139160156', u'nr_hotels': u'1', u'latitude': u'40.21689987182617'} +error: (1062, "Duplicate entry 'vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vernon', u'countrycode': u'us', u'city_id': u'20082748', u'longitude': u'-74.48359680175781', u'nr_hotels': u'2', u'latitude': u'41.198299407958984'} +error: (1062, "Duplicate entry 'vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vernon', u'countrycode': u'us', u'city_id': u'20082748', u'longitude': u'-74.48359680175781', u'nr_hotels': u'2', u'latitude': u'41.198299407958984'} +error: (1062, "Duplicate entry 'wayne-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wayne', u'countrycode': u'us', u'city_id': u'20082807', u'longitude': u'-74.27690124511719', u'nr_hotels': u'4', u'latitude': u'40.92530059814453'} +error: (1062, "Duplicate entry 'wildwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wildwood', u'countrycode': u'us', u'city_id': u'20082895', u'longitude': u'-74.81529998779297', u'nr_hotels': u'31', u'latitude': u'38.99169921875'} +error: (1062, "Duplicate entry 'uajldvud-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0423\u0430\u0439\u043b\u0434\u0432\u0443\u0434', u'countrycode': u'us', u'city_id': u'20082895', u'longitude': u'-74.81529998779297', u'nr_hotels': u'31', u'latitude': u'38.99169921875'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20082903', u'longitude': u'-74.99559783935547', u'nr_hotels': u'3', u'latitude': u'39.686100006103516'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20082903', u'longitude': u'-74.99559783935547', u'nr_hotels': u'3', u'latitude': u'39.686100006103516'} +error: (1062, "Duplicate entry 'windsor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windsor', u'countrycode': u'us', u'city_id': u'20082915', u'longitude': u'-74.58170318603516', u'nr_hotels': u'1', u'latitude': u'40.2421989440918'} +error: (1062, "Duplicate entry 'vindzor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u043d\u0434\u0437\u043e\u0440', u'countrycode': u'us', u'city_id': u'20082915', u'longitude': u'-74.58170318603516', u'nr_hotels': u'1', u'latitude': u'40.2421989440918'} +error: (1062, "Duplicate entry 'artesia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Artesia', u'countrycode': u'us', u'city_id': u'20083063', u'longitude': u'-104.40299987792969', u'nr_hotels': u'1', u'latitude': u'32.842201232910156'} +error: (1062, "Duplicate entry 'artesia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Artesia', u'countrycode': u'us', u'city_id': u'20083063', u'longitude': u'-104.40299987792969', u'nr_hotels': u'1', u'latitude': u'32.842201232910156'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20083269', u'longitude': u'-103.18399810791016', u'nr_hotels': u'3', u'latitude': u'36.451698303222656'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20083269', u'longitude': u'-103.18399810791016', u'nr_hotels': u'3', u'latitude': u'36.451698303222656'} +error: (1062, "Duplicate entry 'clovis-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clovis', u'countrycode': u'us', u'city_id': u'20083275', u'longitude': u'-103.20500183105469', u'nr_hotels': u'6', u'latitude': u'34.404701232910156'} +error: (1062, "Duplicate entry 'clovis-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clovis', u'countrycode': u'us', u'city_id': u'20083275', u'longitude': u'-103.20500183105469', u'nr_hotels': u'6', u'latitude': u'34.404701232910156'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20083464', u'longitude': u'-108.21800231933594', u'nr_hotels': u'20', u'latitude': u'36.72809982299805'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20083464', u'longitude': u'-108.21800231933594', u'nr_hotels': u'20', u'latitude': u'36.72809982299805'} +error: (1062, "Duplicate entry 'las-vegas-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Las Vegas', u'countrycode': u'us', u'city_id': u'20083750', u'longitude': u'-105.2229995727539', u'nr_hotels': u'6', u'latitude': u'35.59389877319336'} +error: (1062, "Duplicate entry 'las-vegas-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u0441-\u0412\u0435\u0433\u0430\u0441', u'countrycode': u'us', u'city_id': u'20083750', u'longitude': u'-105.2229995727539', u'nr_hotels': u'6', u'latitude': u'35.59389877319336'} +error: (1062, "Duplicate entry 'los-alamos-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Los Alamos', u'countrycode': u'us', u'city_id': u'20083786', u'longitude': u'-106.30599975585938', u'nr_hotels': u'4', u'latitude': u'35.888099670410156'} +error: (1062, "Duplicate entry 'los-alamos-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Los Alamos', u'countrycode': u'us', u'city_id': u'20083786', u'longitude': u'-106.30599975585938', u'nr_hotels': u'4', u'latitude': u'35.888099670410156'} +error: (1062, "Duplicate entry 'santa-rosa-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santa Rosa', u'countrycode': u'us', u'city_id': u'20084311', u'longitude': u'-104.68199920654297', u'nr_hotels': u'8', u'latitude': u'34.9385986328125'} +error: (1062, "Duplicate entry 'santa-rosa-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santa Rosa', u'countrycode': u'us', u'city_id': u'20084311', u'longitude': u'-104.68199920654297', u'nr_hotels': u'8', u'latitude': u'34.9385986328125'} +error: (1062, "Duplicate entry 'williamsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamsburg', u'countrycode': u'us', u'city_id': u'20084576', u'longitude': u'-107.29299926757812', u'nr_hotels': u'1', u'latitude': u'33.1161003112793'} +error: (1062, "Duplicate entry 'williamsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamsburg', u'countrycode': u'us', u'city_id': u'20084576', u'longitude': u'-107.29299926757812', u'nr_hotels': u'1', u'latitude': u'33.1161003112793'} +error: (1062, "Duplicate entry 'albany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albany', u'countrycode': u'us', u'city_id': u'20084630', u'longitude': u'-73.75669860839844', u'nr_hotels': u'34', u'latitude': u'42.65250015258789'} +error: (1062, "Duplicate entry 'amherst-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Amherst', u'countrycode': u'us', u'city_id': u'20084687', u'longitude': u'-78.80000305175781', u'nr_hotels': u'16', u'latitude': u'42.97829818725586'} +error: (1062, "Duplicate entry 'amherst-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043c\u0445\u0435\u0440\u0441\u0442', u'countrycode': u'us', u'city_id': u'20084687', u'longitude': u'-78.80000305175781', u'nr_hotels': u'16', u'latitude': u'42.97829818725586'} +error: (1062, "Duplicate entry 'attica-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Attica', u'countrycode': u'us', u'city_id': u'20084773', u'longitude': u'-78.28060150146484', u'nr_hotels': u'1', u'latitude': u'42.864200592041016'} +error: (1062, "Duplicate entry 'attica-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Attica', u'countrycode': u'us', u'city_id': u'20084773', u'longitude': u'-78.28060150146484', u'nr_hotels': u'1', u'latitude': u'42.864200592041016'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20084781', u'longitude': u'-76.56639862060547', u'nr_hotels': u'5', u'latitude': u'42.93170166015625'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0443\u0431\u0443\u0440\u043d', u'countrycode': u'us', u'city_id': u'20084781', u'longitude': u'-76.56639862060547', u'nr_hotels': u'5', u'latitude': u'42.93170166015625'} +error: (1062, "Duplicate entry 'bath-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bath', u'countrycode': u'us', u'city_id': u'20084883', u'longitude': u'-77.31809997558594', u'nr_hotels': u'4', u'latitude': u'42.33689880371094'} +error: (1062, "Duplicate entry 'bath-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bath', u'countrycode': u'us', u'city_id': u'20084883', u'longitude': u'-77.31809997558594', u'nr_hotels': u'4', u'latitude': u'42.33689880371094'} +error: (1062, "Duplicate entry 'belfast-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belfast', u'countrycode': u'us', u'city_id': u'20084947', u'longitude': u'-78.11170196533203', u'nr_hotels': u'1', u'latitude': u'42.34280014038086'} +error: (1062, "Duplicate entry 'belfast-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belfast', u'countrycode': u'us', u'city_id': u'20084947', u'longitude': u'-78.11170196533203', u'nr_hotels': u'1', u'latitude': u'42.34280014038086'} +error: (1062, "Duplicate entry 'bruklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0440\u0443\u043a\u043b\u0438\u043d', u'countrycode': u'us', u'city_id': u'20085207', u'longitude': u'-73.94999694824219', u'nr_hotels': u'67', u'latitude': u'40.650001525878906'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20085354', u'longitude': u'-75.16940307617188', u'nr_hotels': u'2', u'latitude': u'44.59560012817383'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20085354', u'longitude': u'-75.16940307617188', u'nr_hotels': u'2', u'latitude': u'44.59560012817383'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20085507', u'longitude': u'-74.27169799804688', u'nr_hotels': u'1', u'latitude': u'41.36249923706055'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20085507', u'longitude': u'-74.27169799804688', u'nr_hotels': u'1', u'latitude': u'41.36249923706055'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20085584', u'longitude': u'-75.37889862060547', u'nr_hotels': u'1', u'latitude': u'43.048301696777344'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20085584', u'longitude': u'-75.37889862060547', u'nr_hotels': u'1', u'latitude': u'43.048301696777344'} +error: (1062, "Duplicate entry 'corning-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Corning', u'countrycode': u'us', u'city_id': u'20085726', u'longitude': u'-77.05500030517578', u'nr_hotels': u'5', u'latitude': u'42.142799377441406'} +error: (1062, "Duplicate entry 'corning-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Corning', u'countrycode': u'us', u'city_id': u'20085726', u'longitude': u'-77.05500030517578', u'nr_hotels': u'5', u'latitude': u'42.142799377441406'} +error: (1062, "Duplicate entry 'cuba-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cuba', u'countrycode': u'us', u'city_id': u'20085816', u'longitude': u'-78.27559661865234', u'nr_hotels': u'1', u'latitude': u'42.217498779296875'} +error: (1062, "Duplicate entry 'cuba-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cuba', u'countrycode': u'us', u'city_id': u'20085816', u'longitude': u'-78.27559661865234', u'nr_hotels': u'1', u'latitude': u'42.217498779296875'} +error: (1062, "Duplicate entry 'farmingdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farmingdale', u'countrycode': u'us', u'city_id': u'20086353', u'longitude': u'-73.44580078125', u'nr_hotels': u'2', u'latitude': u'40.73249816894531'} +error: (1062, "Duplicate entry 'farmingdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farmingdale', u'countrycode': u'us', u'city_id': u'20086353', u'longitude': u'-73.44580078125', u'nr_hotels': u'2', u'latitude': u'40.73249816894531'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20086356', u'longitude': u'-77.35576629638672', u'nr_hotels': u'4', u'latitude': u'42.981040954589844'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20086356', u'longitude': u'-77.35576629638672', u'nr_hotels': u'4', u'latitude': u'42.981040954589844'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20086362', u'longitude': u'-76.00469970703125', u'nr_hotels': u'1', u'latitude': u'43.029701232910156'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20086362', u'longitude': u'-76.00469970703125', u'nr_hotels': u'1', u'latitude': u'43.029701232910156'} +error: (1062, "Duplicate entry 'ferndale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ferndale', u'countrycode': u'us', u'city_id': u'20086372', u'longitude': u'-74.73889923095703', u'nr_hotels': u'1', u'latitude': u'41.77389907836914'} +error: (1062, "Duplicate entry 'ferndale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ferndale', u'countrycode': u'us', u'city_id': u'20086372', u'longitude': u'-74.73889923095703', u'nr_hotels': u'1', u'latitude': u'41.77389907836914'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20086549', u'longitude': u'-73.58360290527344', u'nr_hotels': u'2', u'latitude': u'40.657501220703125'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20086610', u'longitude': u'-73.63469696044922', u'nr_hotels': u'5', u'latitude': u'40.72669982910156'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20086610', u'longitude': u'-73.63469696044922', u'nr_hotels': u'5', u'latitude': u'40.72669982910156'} +error: (1062, "Duplicate entry 'gardiner-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gardiner', u'countrycode': u'us', u'city_id': u'20086615', u'longitude': u'-74.15080261230469', u'nr_hotels': u'1', u'latitude': u'41.6796989440918'} +error: (1062, "Duplicate entry 'gardiner-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gardiner', u'countrycode': u'us', u'city_id': u'20086615', u'longitude': u'-74.15080261230469', u'nr_hotels': u'1', u'latitude': u'41.6796989440918'} +error: (1062, "Duplicate entry 'geneseo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Geneseo', u'countrycode': u'us', u'city_id': u'20086641', u'longitude': u'-77.81719970703125', u'nr_hotels': u'2', u'latitude': u'42.795799255371094'} +error: (1062, "Duplicate entry 'geneseo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Geneseo', u'countrycode': u'us', u'city_id': u'20086641', u'longitude': u'-77.81719970703125', u'nr_hotels': u'2', u'latitude': u'42.795799255371094'} +error: (1062, "Duplicate entry 'geneva-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Geneva', u'countrycode': u'us', u'city_id': u'20086642', u'longitude': u'-76.97810363769531', u'nr_hotels': u'6', u'latitude': u'42.868900299072266'} +error: (1062, "Duplicate entry 'geneva-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Geneva', u'countrycode': u'us', u'city_id': u'20086642', u'longitude': u'-76.97810363769531', u'nr_hotels': u'6', u'latitude': u'42.868900299072266'} +error: (1062, "Duplicate entry 'goshen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Goshen', u'countrycode': u'us', u'city_id': u'20086743', u'longitude': u'-74.32469940185547', u'nr_hotels': u'1', u'latitude': u'41.40190124511719'} +error: (1062, "Duplicate entry 'goshen-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Goshen', u'countrycode': u'us', u'city_id': u'20086743', u'longitude': u'-74.32469940185547', u'nr_hotels': u'1', u'latitude': u'41.40190124511719'} +error: (1062, "Duplicate entry 'hawthorne-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hawthorne', u'countrycode': u'us', u'city_id': u'20087026', u'longitude': u'-73.79640197753906', u'nr_hotels': u'0', u'latitude': u'41.107200622558594'} +error: (1062, "Duplicate entry 'hawthorne-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hawthorne', u'countrycode': u'us', u'city_id': u'20087026', u'longitude': u'-73.79640197753906', u'nr_hotels': u'0', u'latitude': u'41.107200622558594'} +error: (1062, "Duplicate entry 'highland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Highland', u'countrycode': u'us', u'city_id': u'20087094', u'longitude': u'-73.96060180664062', u'nr_hotels': u'2', u'latitude': u'41.72079849243164'} +error: (1062, "Duplicate entry 'highland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Highland', u'countrycode': u'us', u'city_id': u'20087094', u'longitude': u'-73.96060180664062', u'nr_hotels': u'2', u'latitude': u'41.72079849243164'} +error: (1062, "Duplicate entry 'cristian-ro' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cristian', u'countrycode': u'ro', u'city_id': u'-1157299', u'longitude': u'25.469999313354492', u'nr_hotels': u'3', u'latitude': u'45.619998931884766'} +error: (1062, "Duplicate entry 'cristian-ro' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cristian', u'countrycode': u'ro', u'city_id': u'-1157299', u'longitude': u'25.469999313354492', u'nr_hotels': u'3', u'latitude': u'45.619998931884766'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20087207', u'longitude': u'-73.79139709472656', u'nr_hotels': u'2', u'latitude': u'42.25279998779297'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20087207', u'longitude': u'-73.79139709472656', u'nr_hotels': u'2', u'latitude': u'42.25279998779297'} +error: (1062, "Duplicate entry 'huntington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huntington', u'countrycode': u'us', u'city_id': u'20087228', u'longitude': u'-73.42610168457031', u'nr_hotels': u'2', u'latitude': u'40.868099212646484'} +error: (1062, "Duplicate entry 'huntington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huntington', u'countrycode': u'us', u'city_id': u'20087228', u'longitude': u'-73.42610168457031', u'nr_hotels': u'2', u'latitude': u'40.868099212646484'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20087324', u'longitude': u'-79.23560333251953', u'nr_hotels': u'5', u'latitude': u'42.096900939941406'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20087324', u'longitude': u'-79.23560333251953', u'nr_hotels': u'5', u'latitude': u'42.096900939941406'} +error: (1062, "Duplicate entry 'lake-placid-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lake Placid', u'countrycode': u'us', u'city_id': u'20087541', u'longitude': u'-73.98030090332031', u'nr_hotels': u'21', u'latitude': u'44.27939987182617'} +error: (1062, "Duplicate entry 'lawrence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrence', u'countrycode': u'us', u'city_id': u'20087602', u'longitude': u'-73.7300033569336', u'nr_hotels': u'1', u'latitude': u'40.6156005859375'} +error: (1062, "Duplicate entry 'lawrence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lawrence', u'countrycode': u'us', u'city_id': u'20087602', u'longitude': u'-73.7300033569336', u'nr_hotels': u'1', u'latitude': u'40.6156005859375'} +error: (1062, "Duplicate entry 'lewiston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lewiston', u'countrycode': u'us', u'city_id': u'20087647', u'longitude': u'-79.03610229492188', u'nr_hotels': u'1', u'latitude': u'43.17250061035156'} +error: (1062, "Duplicate entry 'lewiston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lewiston', u'countrycode': u'us', u'city_id': u'20087647', u'longitude': u'-79.03610229492188', u'nr_hotels': u'1', u'latitude': u'43.17250061035156'} +error: (1062, "Duplicate entry 'long-beach-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Long Beach', u'countrycode': u'us', u'city_id': u'20087743', u'longitude': u'-73.6583023071289', u'nr_hotels': u'1', u'latitude': u'40.58829879760742'} +error: (1062, "Duplicate entry 'long-beach-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Long Beach', u'countrycode': u'us', u'city_id': u'20087743', u'longitude': u'-73.6583023071289', u'nr_hotels': u'1', u'latitude': u'40.58829879760742'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20087849', u'longitude': u'-77.23059844970703', u'nr_hotels': u'1', u'latitude': u'42.96969985961914'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20087849', u'longitude': u'-77.23059844970703', u'nr_hotels': u'1', u'latitude': u'42.96969985961914'} +error: (1062, "Duplicate entry 'medford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Medford', u'countrycode': u'us', u'city_id': u'20087994', u'longitude': u'-73.00060272216797', u'nr_hotels': u'2', u'latitude': u'40.817501068115234'} +error: (1062, "Duplicate entry 'medford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Medford', u'countrycode': u'us', u'city_id': u'20087994', u'longitude': u'-73.00060272216797', u'nr_hotels': u'2', u'latitude': u'40.817501068115234'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20088045', u'longitude': u'-74.42330169677734', u'nr_hotels': u'4', u'latitude': u'41.44580078125'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20088045', u'longitude': u'-74.42330169677734', u'nr_hotels': u'4', u'latitude': u'41.44580078125'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20088057', u'longitude': u'-74.94560241699219', u'nr_hotels': u'1', u'latitude': u'42.590599060058594'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20088057', u'longitude': u'-74.94560241699219', u'nr_hotels': u'1', u'latitude': u'42.590599060058594'} +error: (1062, "Duplicate entry 'milton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milton', u'countrycode': u'us', u'city_id': u'20088088', u'longitude': u'-73.9574966430664', u'nr_hotels': u'1', u'latitude': u'41.659698486328125'} +error: (1062, "Duplicate entry 'milton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milton', u'countrycode': u'us', u'city_id': u'20088088', u'longitude': u'-73.9574966430664', u'nr_hotels': u'1', u'latitude': u'41.659698486328125'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20088121', u'longitude': u'-74.18720245361328', u'nr_hotels': u'0', u'latitude': u'41.33060073852539'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20088121', u'longitude': u'-74.18720245361328', u'nr_hotels': u'0', u'latitude': u'41.33060073852539'} +error: (1062, "Duplicate entry 'montgomery-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montgomery', u'countrycode': u'us', u'city_id': u'20088132', u'longitude': u'-74.23719787597656', u'nr_hotels': u'1', u'latitude': u'41.52750015258789'} +error: (1062, "Duplicate entry 'montgomery-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montgomery', u'countrycode': u'us', u'city_id': u'20088132', u'longitude': u'-74.23719787597656', u'nr_hotels': u'1', u'latitude': u'41.52750015258789'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20088133', u'longitude': u'-74.689697265625', u'nr_hotels': u'3', u'latitude': u'41.655601501464844'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20088133', u'longitude': u'-74.689697265625', u'nr_hotels': u'3', u'latitude': u'41.655601501464844'} +error: (1062, "Duplicate entry 'norwich-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norwich', u'countrycode': u'us', u'city_id': u'20088539', u'longitude': u'-75.5239028930664', u'nr_hotels': u'1', u'latitude': u'42.53110122680664'} +error: (1062, "Duplicate entry 'norwich-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norwich', u'countrycode': u'us', u'city_id': u'20088539', u'longitude': u'-75.5239028930664', u'nr_hotels': u'1', u'latitude': u'42.53110122680664'} +error: (1062, "Duplicate entry 'bucium-ro' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bucium', u'countrycode': u'ro', u'city_id': u'-1153879', u'longitude': u'25.08329963684082', u'nr_hotels': u'1', u'latitude': u'45.733299255371094'} +error: (1062, "Duplicate entry 'bucium-ro' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bucium', u'countrycode': u'ro', u'city_id': u'-1153879', u'longitude': u'25.08329963684082', u'nr_hotels': u'1', u'latitude': u'45.733299255371094'} +error: (1062, "Duplicate entry 'orange-lake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orange Lake', u'countrycode': u'us', u'city_id': u'20088637', u'longitude': u'-74.09860229492188', u'nr_hotels': u'1', u'latitude': u'41.53969955444336'} +error: (1062, "Duplicate entry 'orange-lake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orange Lake', u'countrycode': u'us', u'city_id': u'20088637', u'longitude': u'-74.09860229492188', u'nr_hotels': u'1', u'latitude': u'41.53969955444336'} +error: (1062, "Duplicate entry 'oswego-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oswego', u'countrycode': u'us', u'city_id': u'20088665', u'longitude': u'-76.51080322265625', u'nr_hotels': u'5', u'latitude': u'43.455299377441406'} +error: (1062, "Duplicate entry 'oswego-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oswego', u'countrycode': u'us', u'city_id': u'20088665', u'longitude': u'-76.51080322265625', u'nr_hotels': u'5', u'latitude': u'43.455299377441406'} +error: (1062, "Duplicate entry 'pearl-river-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pearl River', u'countrycode': u'us', u'city_id': u'20088784', u'longitude': u'-74.02220153808594', u'nr_hotels': u'1', u'latitude': u'41.05889892578125'} +error: (1062, "Duplicate entry 'pearl-river-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pearl River', u'countrycode': u'us', u'city_id': u'20088784', u'longitude': u'-74.02220153808594', u'nr_hotels': u'1', u'latitude': u'41.05889892578125'} +error: (1062, "Duplicate entry 'bradu-ro' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bradu', u'countrycode': u'ro', u'city_id': u'-1153525', u'longitude': u'24.33329963684082', u'nr_hotels': u'2', u'latitude': u'45.71670150756836'} +error: (1062, "Duplicate entry 'bradu-ro' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bradu', u'countrycode': u'ro', u'city_id': u'-1153525', u'longitude': u'24.33329963684082', u'nr_hotels': u'2', u'latitude': u'45.71670150756836'} +error: (1062, "Duplicate entry 'phillipsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Phillipsburg', u'countrycode': u'us', u'city_id': u'20088845', u'longitude': u'-74.35970306396484', u'nr_hotels': u'1', u'latitude': u'41.437801361083984'} +error: (1062, "Duplicate entry 'phillipsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Phillipsburg', u'countrycode': u'us', u'city_id': u'20088845', u'longitude': u'-74.35970306396484', u'nr_hotels': u'1', u'latitude': u'41.437801361083984'} +error: (1062, "Duplicate entry 'plainview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plainview', u'countrycode': u'us', u'city_id': u'20088911', u'longitude': u'-73.4677963256836', u'nr_hotels': u'5', u'latitude': u'40.77640151977539'} +error: (1062, "Duplicate entry 'plainview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plainview', u'countrycode': u'us', u'city_id': u'20088911', u'longitude': u'-73.4677963256836', u'nr_hotels': u'5', u'latitude': u'40.77640151977539'} +error: (1062, "Duplicate entry 'ridgeland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ridgeland', u'countrycode': u'us', u'city_id': u'20089199', u'longitude': u'-77.61060333251953', u'nr_hotels': u'2', u'latitude': u'43.09080123901367'} +error: (1062, "Duplicate entry 'ridgeland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ridgeland', u'countrycode': u'us', u'city_id': u'20089199', u'longitude': u'-77.61060333251953', u'nr_hotels': u'2', u'latitude': u'43.09080123901367'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rochester', u'countrycode': u'us', u'city_id': u'20089239', u'longitude': u'-77.61579895019531', u'nr_hotels': u'34', u'latitude': u'43.154701232910156'} +error: (1062, "Duplicate entry 'rochester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u043e\u0447\u0435\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20089239', u'longitude': u'-77.61579895019531', u'nr_hotels': u'34', u'latitude': u'43.154701232910156'} +error: (1062, "Duplicate entry 'rosedale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rosedale', u'countrycode': u'us', u'city_id': u'20089296', u'longitude': u'-73.73580169677734', u'nr_hotels': u'0', u'latitude': u'40.66189956665039'} +error: (1062, "Duplicate entry 'rosedale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rosedale', u'countrycode': u'us', u'city_id': u'20089296', u'longitude': u'-73.73580169677734', u'nr_hotels': u'0', u'latitude': u'40.66189956665039'} +error: (1062, "Duplicate entry 'rye-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rye', u'countrycode': u'us', u'city_id': u'20089347', u'longitude': u'-73.68419647216797', u'nr_hotels': u'1', u'latitude': u'40.98059844970703'} +error: (1062, "Duplicate entry 'rye-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rye', u'countrycode': u'us', u'city_id': u'20089347', u'longitude': u'-73.68419647216797', u'nr_hotels': u'1', u'latitude': u'40.98059844970703'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20089589', u'longitude': u'-75.39189910888672', u'nr_hotels': u'0', u'latitude': u'42.314701080322266'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20089589', u'longitude': u'-75.39189910888672', u'nr_hotels': u'0', u'latitude': u'42.314701080322266'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20089841', u'longitude': u'-74.04419708251953', u'nr_hotels': u'2', u'latitude': u'41.11309814453125'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20089841', u'longitude': u'-74.04419708251953', u'nr_hotels': u'2', u'latitude': u'41.11309814453125'} +error: (1062, "Duplicate entry 'stamford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stamford', u'countrycode': u'us', u'city_id': u'20089866', u'longitude': u'-74.61470031738281', u'nr_hotels': u'2', u'latitude': u'42.40719985961914'} +error: (1062, "Duplicate entry 'stamford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stamford', u'countrycode': u'us', u'city_id': u'20089866', u'longitude': u'-74.61470031738281', u'nr_hotels': u'2', u'latitude': u'42.40719985961914'} +error: (1062, "Duplicate entry 'syracuse-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Syracuse', u'countrycode': u'us', u'city_id': u'20090020', u'longitude': u'-76.14779663085938', u'nr_hotels': u'16', u'latitude': u'43.048099517822266'} +error: (1062, "Duplicate entry 'tarrytown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tarrytown', u'countrycode': u'us', u'city_id': u'20090034', u'longitude': u'-73.85919952392578', u'nr_hotels': u'7', u'latitude': u'41.07609939575195'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20090155', u'longitude': u'-73.69219970703125', u'nr_hotels': u'3', u'latitude': u'42.72829818725586'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20090155', u'longitude': u'-73.69219970703125', u'nr_hotels': u'3', u'latitude': u'42.72829818725586'} +error: (1062, "Duplicate entry 'tully-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tully', u'countrycode': u'us', u'city_id': u'20090167', u'longitude': u'-76.10970306396484', u'nr_hotels': u'1', u'latitude': u'42.798099517822266'} +error: (1062, "Duplicate entry 'tully-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tully', u'countrycode': u'us', u'city_id': u'20090167', u'longitude': u'-76.10970306396484', u'nr_hotels': u'1', u'latitude': u'42.798099517822266'} +error: (1062, "Duplicate entry 'utica-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Utica', u'countrycode': u'us', u'city_id': u'20090246', u'longitude': u'-75.23310089111328', u'nr_hotels': u'11', u'latitude': u'43.100799560546875'} +error: (1062, "Duplicate entry 'victor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Victor', u'countrycode': u'us', u'city_id': u'20090305', u'longitude': u'-77.4092025756836', u'nr_hotels': u'7', u'latitude': u'42.98249816894531'} +error: (1062, "Duplicate entry 'victor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Victor', u'countrycode': u'us', u'city_id': u'20090305', u'longitude': u'-77.4092025756836', u'nr_hotels': u'7', u'latitude': u'42.98249816894531'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20090350', u'longitude': u'-76.44969940185547', u'nr_hotels': u'1', u'latitude': u'43.486698150634766'} +error: (1062, "Duplicate entry 'walker-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Walker', u'countrycode': u'us', u'city_id': u'20090350', u'longitude': u'-76.44969940185547', u'nr_hotels': u'1', u'latitude': u'43.486698150634766'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20090373', u'longitude': u'-74.4999008178711', u'nr_hotels': u'1', u'latitude': u'40.631099700927734'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20090373', u'longitude': u'-74.4999008178711', u'nr_hotels': u'1', u'latitude': u'40.631099700927734'} +error: (1062, "Duplicate entry 'warrensburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warrensburg', u'countrycode': u'us', u'city_id': u'20090376', u'longitude': u'-73.77670288085938', u'nr_hotels': u'3', u'latitude': u'43.496700286865234'} +error: (1062, "Duplicate entry 'warrensburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warrensburg', u'countrycode': u'us', u'city_id': u'20090376', u'longitude': u'-73.77670288085938', u'nr_hotels': u'3', u'latitude': u'43.496700286865234'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20090390', u'longitude': u'-73.68170166015625', u'nr_hotels': u'1', u'latitude': u'42.79249954223633'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20090390', u'longitude': u'-73.68170166015625', u'nr_hotels': u'1', u'latitude': u'42.79249954223633'} +error: (1062, "Duplicate entry 'waterloo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterloo', u'countrycode': u'us', u'city_id': u'20090391', u'longitude': u'-76.86309814453125', u'nr_hotels': u'1', u'latitude': u'42.904701232910156'} +error: (1062, "Duplicate entry 'waterloo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waterloo', u'countrycode': u'us', u'city_id': u'20090391', u'longitude': u'-76.86309814453125', u'nr_hotels': u'1', u'latitude': u'42.904701232910156'} +error: (1062, "Duplicate entry 'watertown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Watertown', u'countrycode': u'us', u'city_id': u'20090397', u'longitude': u'-75.91110229492188', u'nr_hotels': u'13', u'latitude': u'43.974700927734375'} +error: (1062, "Duplicate entry 'west-point-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'West Point', u'countrycode': u'us', u'city_id': u'20090572', u'longitude': u'-73.9563980102539', u'nr_hotels': u'2', u'latitude': u'41.39139938354492'} +error: (1062, "Duplicate entry 'west-point-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'West Point', u'countrycode': u'us', u'city_id': u'20090572', u'longitude': u'-73.9563980102539', u'nr_hotels': u'2', u'latitude': u'41.39139938354492'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20090614', u'longitude': u'-79.57830047607422', u'nr_hotels': u'2', u'latitude': u'42.322200775146484'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20090614', u'longitude': u'-79.57830047607422', u'nr_hotels': u'2', u'latitude': u'42.322200775146484'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20090720', u'longitude': u'-73.81580352783203', u'nr_hotels': u'2', u'latitude': u'44.388301849365234'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20090720', u'longitude': u'-73.81580352783203', u'nr_hotels': u'2', u'latitude': u'44.388301849365234'} +error: (1062, "Duplicate entry 'woodbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodbury', u'countrycode': u'us', u'city_id': u'20090756', u'longitude': u'-73.46810150146484', u'nr_hotels': u'3', u'latitude': u'40.825599670410156'} +error: (1062, "Duplicate entry 'woodbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodbury', u'countrycode': u'us', u'city_id': u'20090756', u'longitude': u'-73.46810150146484', u'nr_hotels': u'3', u'latitude': u'40.825599670410156'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20090786', u'longitude': u'-74.11859893798828', u'nr_hotels': u'4', u'latitude': u'42.04079818725586'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20090786', u'longitude': u'-74.11859893798828', u'nr_hotels': u'4', u'latitude': u'42.04079818725586'} +error: (1062, "Duplicate entry 'aberdeen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aberdeen', u'countrycode': u'us', u'city_id': u'20090849', u'longitude': u'-79.42970275878906', u'nr_hotels': u'2', u'latitude': u'35.13140106201172'} +error: (1062, "Duplicate entry 'aberdeen-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aberdeen', u'countrycode': u'us', u'city_id': u'20090849', u'longitude': u'-79.42970275878906', u'nr_hotels': u'2', u'latitude': u'35.13140106201172'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20090955', u'longitude': u'-80.83360290527344', u'nr_hotels': u'1', u'latitude': u'36.22719955444336'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20090955', u'longitude': u'-80.83360290527344', u'nr_hotels': u'1', u'latitude': u'36.22719955444336'} +error: (1062, "Duplicate entry 'belmont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belmont', u'countrycode': u'us', u'city_id': u'20091152', u'longitude': u'-81.0374984741211', u'nr_hotels': u'3', u'latitude': u'35.242801666259766'} +error: (1062, "Duplicate entry 'belmont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belmont', u'countrycode': u'us', u'city_id': u'20091152', u'longitude': u'-81.0374984741211', u'nr_hotels': u'3', u'latitude': u'35.242801666259766'} +error: (1062, "Duplicate entry 'boone-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Boone', u'countrycode': u'us', u'city_id': u'20091289', u'longitude': u'-81.67469787597656', u'nr_hotels': u'12', u'latitude': u'36.21670150756836'} +error: (1062, "Duplicate entry 'boone-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Boone', u'countrycode': u'us', u'city_id': u'20091289', u'longitude': u'-81.67469787597656', u'nr_hotels': u'12', u'latitude': u'36.21670150756836'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20091427', u'longitude': u'-79.43810272216797', u'nr_hotels': u'9', u'latitude': u'36.09560012817383'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20091427', u'longitude': u'-79.43810272216797', u'nr_hotels': u'9', u'latitude': u'36.09560012817383'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20091510', u'longitude': u'-82.8375015258789', u'nr_hotels': u'2', u'latitude': u'35.532798767089844'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20091510', u'longitude': u'-82.8375015258789', u'nr_hotels': u'2', u'latitude': u'35.532798767089844'} +error: (1062, "Duplicate entry 'sharlott-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0428\u0430\u0440\u043b\u043e\u0442\u0442', u'countrycode': u'us', u'city_id': u'20091627', u'longitude': u'-80.84310150146484', u'nr_hotels': u'114', u'latitude': u'35.22710037231445'} +error: (1062, "Duplicate entry 'cherokee-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cherokee', u'countrycode': u'us', u'city_id': u'20091633', u'longitude': u'-83.31500244140625', u'nr_hotels': u'10', u'latitude': u'35.47420120239258'} +error: (1062, "Duplicate entry 'cherokee-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cherokee', u'countrycode': u'us', u'city_id': u'20091633', u'longitude': u'-83.31500244140625', u'nr_hotels': u'10', u'latitude': u'35.47420120239258'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20091680', u'longitude': u'-78.45670318603516', u'nr_hotels': u'2', u'latitude': u'35.65060043334961'} +error: (1062, "Duplicate entry 'clayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clayton', u'countrycode': u'us', u'city_id': u'20091680', u'longitude': u'-78.45670318603516', u'nr_hotels': u'2', u'latitude': u'35.65060043334961'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20091699', u'longitude': u'-78.32360076904297', u'nr_hotels': u'2', u'latitude': u'34.997798919677734'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20091699', u'longitude': u'-78.32360076904297', u'nr_hotels': u'2', u'latitude': u'34.997798919677734'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20091754', u'longitude': u'-82.19719696044922', u'nr_hotels': u'1', u'latitude': u'35.25310134887695'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20091754', u'longitude': u'-82.19719696044922', u'nr_hotels': u'1', u'latitude': u'35.25310134887695'} +error: (1062, "Duplicate entry 'concord-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Concord', u'countrycode': u'us', u'city_id': u'20091765', u'longitude': u'-80.57969665527344', u'nr_hotels': u'16', u'latitude': u'35.408599853515625'} +error: (1062, "Duplicate entry 'konkord-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043e\u043d\u043a\u043e\u0440\u0434', u'countrycode': u'us', u'city_id': u'20091765', u'longitude': u'-80.57969665527344', u'nr_hotels': u'16', u'latitude': u'35.408599853515625'} +error: (1062, "Duplicate entry 'durham-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Durham', u'countrycode': u'us', u'city_id': u'20092053', u'longitude': u'-78.8989028930664', u'nr_hotels': u'36', u'latitude': u'35.993900299072266'} +error: (1062, "Duplicate entry 'durham-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Durham', u'countrycode': u'us', u'city_id': u'20092053', u'longitude': u'-78.8989028930664', u'nr_hotels': u'36', u'latitude': u'35.993900299072266'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20092290', u'longitude': u'-78.87860107421875', u'nr_hotels': u'32', u'latitude': u'35.0525016784668'} +error: (1062, "Duplicate entry 'forest-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Forest City', u'countrycode': u'us', u'city_id': u'20092367', u'longitude': u'-81.86530303955078', u'nr_hotels': u'3', u'latitude': u'35.333900451660156'} +error: (1062, "Duplicate entry 'forest-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Forest City', u'countrycode': u'us', u'city_id': u'20092367', u'longitude': u'-81.86530303955078', u'nr_hotels': u'3', u'latitude': u'35.333900451660156'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20092419', u'longitude': u'-83.38169860839844', u'nr_hotels': u'3', u'latitude': u'35.18220138549805'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20092419', u'longitude': u'-83.38169860839844', u'nr_hotels': u'3', u'latitude': u'35.18220138549805'} +error: (1062, "Duplicate entry 'greensboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greensboro', u'countrycode': u'us', u'city_id': u'20092632', u'longitude': u'-79.79219818115234', u'nr_hotels': u'50', u'latitude': u'36.0724983215332'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20092634', u'longitude': u'-77.36669921875', u'nr_hotels': u'19', u'latitude': u'35.61249923706055'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20092634', u'longitude': u'-77.36669921875', u'nr_hotels': u'19', u'latitude': u'35.61249923706055'} +error: (1062, "Duplicate entry 'guilford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Guilford', u'countrycode': u'us', u'city_id': u'20092665', u'longitude': u'-79.89830017089844', u'nr_hotels': u'2', u'latitude': u'36.076698303222656'} +error: (1062, "Duplicate entry 'guilford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Guilford', u'countrycode': u'us', u'city_id': u'20092665', u'longitude': u'-79.89830017089844', u'nr_hotels': u'2', u'latitude': u'36.076698303222656'} +error: (1062, "Duplicate entry 'hebron-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hebron', u'countrycode': u'us', u'city_id': u'20092801', u'longitude': u'-80.87920379638672', u'nr_hotels': u'0', u'latitude': u'35.12969970703125'} +error: (1062, "Duplicate entry 'hebron-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hebron', u'countrycode': u'us', u'city_id': u'20092801', u'longitude': u'-80.87920379638672', u'nr_hotels': u'0', u'latitude': u'35.12969970703125'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20092813', u'longitude': u'-78.39939880371094', u'nr_hotels': u'8', u'latitude': u'36.32939910888672'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20092813', u'longitude': u'-78.39939880371094', u'nr_hotels': u'8', u'latitude': u'36.32939910888672'} +error: (1062, "Duplicate entry 'hillsborough-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hillsborough', u'countrycode': u'us', u'city_id': u'20092889', u'longitude': u'-79.0999984741211', u'nr_hotels': u'2', u'latitude': u'36.07529830932617'} +error: (1062, "Duplicate entry 'hillsborough-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hillsborough', u'countrycode': u'us', u'city_id': u'20092889', u'longitude': u'-79.0999984741211', u'nr_hotels': u'2', u'latitude': u'36.07529830932617'} +error: (1062, "Duplicate entry 'holly-springs-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holly Springs', u'countrycode': u'us', u'city_id': u'20092939', u'longitude': u'-78.83390045166016', u'nr_hotels': u'1', u'latitude': u'35.651100158691406'} +error: (1062, "Duplicate entry 'holly-springs-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holly Springs', u'countrycode': u'us', u'city_id': u'20092939', u'longitude': u'-78.83390045166016', u'nr_hotels': u'1', u'latitude': u'35.651100158691406'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20093075', u'longitude': u'-77.43060302734375', u'nr_hotels': u'20', u'latitude': u'34.75389862060547'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20093075', u'longitude': u'-77.43060302734375', u'nr_hotels': u'20', u'latitude': u'34.75389862060547'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20093089', u'longitude': u'-81.47360229492188', u'nr_hotels': u'1', u'latitude': u'36.4202995300293'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20093089', u'longitude': u'-81.47360229492188', u'nr_hotels': u'1', u'latitude': u'36.4202995300293'} +error: (1062, "Duplicate entry 'jonesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jonesville', u'countrycode': u'us', u'city_id': u'20093130', u'longitude': u'-80.8447036743164', u'nr_hotels': u'3', u'latitude': u'36.239200592041016'} +error: (1062, "Duplicate entry 'jonesville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jonesville', u'countrycode': u'us', u'city_id': u'20093130', u'longitude': u'-80.8447036743164', u'nr_hotels': u'3', u'latitude': u'36.239200592041016'} +error: (1062, "Duplicate entry 'leesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Leesville', u'countrycode': u'us', u'city_id': u'20093326', u'longitude': u'-78.72640228271484', u'nr_hotels': u'2', u'latitude': u'35.906898498535156'} +error: (1062, "Duplicate entry 'leesville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Leesville', u'countrycode': u'us', u'city_id': u'20093326', u'longitude': u'-78.72640228271484', u'nr_hotels': u'2', u'latitude': u'35.906898498535156'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20093352', u'longitude': u'-80.25360107421875', u'nr_hotels': u'5', u'latitude': u'35.82389831542969'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20093352', u'longitude': u'-80.25360107421875', u'nr_hotels': u'5', u'latitude': u'35.82389831542969'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20093484', u'longitude': u'-79.95970153808594', u'nr_hotels': u'1', u'latitude': u'36.38529968261719'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20093484', u'longitude': u'-79.95970153808594', u'nr_hotels': u'1', u'latitude': u'36.38529968261719'} +error: (1062, "Duplicate entry 'millbrook-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Millbrook', u'countrycode': u'us', u'city_id': u'20093675', u'longitude': u'-78.60559844970703', u'nr_hotels': u'1', u'latitude': u'35.850799560546875'} +error: (1062, "Duplicate entry 'millbrook-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Millbrook', u'countrycode': u'us', u'city_id': u'20093675', u'longitude': u'-78.60559844970703', u'nr_hotels': u'1', u'latitude': u'35.850799560546875'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20093715', u'longitude': u'-80.54969787597656', u'nr_hotels': u'7', u'latitude': u'34.98529815673828'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20093715', u'longitude': u'-80.54969787597656', u'nr_hotels': u'7', u'latitude': u'34.98529815673828'} +error: (1062, "Duplicate entry 'mount-airy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Airy', u'countrycode': u'us', u'city_id': u'20093761', u'longitude': u'-80.60749816894531', u'nr_hotels': u'5', u'latitude': u'36.49919891357422'} +error: (1062, "Duplicate entry 'mount-airy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Airy', u'countrycode': u'us', u'city_id': u'20093761', u'longitude': u'-80.60749816894531', u'nr_hotels': u'5', u'latitude': u'36.49919891357422'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20094122', u'longitude': u'-78.59110260009766', u'nr_hotels': u'2', u'latitude': u'36.31060028076172'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20094122', u'longitude': u'-78.59110260009766', u'nr_hotels': u'2', u'latitude': u'36.31060028076172'} +error: (1062, "Duplicate entry 'pinehurst-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pinehurst', u'countrycode': u'us', u'city_id': u'20094280', u'longitude': u'-79.4697036743164', u'nr_hotels': u'3', u'latitude': u'35.1953010559082'} +error: (1062, "Duplicate entry 'pinehurst-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pinehurst', u'countrycode': u'us', u'city_id': u'20094280', u'longitude': u'-79.4697036743164', u'nr_hotels': u'3', u'latitude': u'35.1953010559082'} +error: (1062, "Duplicate entry 'pineville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pineville', u'countrycode': u'us', u'city_id': u'20094290', u'longitude': u'-80.89250183105469', u'nr_hotels': u'13', u'latitude': u'35.083099365234375'} +error: (1062, "Duplicate entry 'pineville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pineville', u'countrycode': u'us', u'city_id': u'20094290', u'longitude': u'-80.89250183105469', u'nr_hotels': u'13', u'latitude': u'35.083099365234375'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20094360', u'longitude': u'-76.7489013671875', u'nr_hotels': u'1', u'latitude': u'35.86669921875'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20094360', u'longitude': u'-76.7489013671875', u'nr_hotels': u'1', u'latitude': u'35.86669921875'} +error: (1062, "Duplicate entry 'salisbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salisbury', u'countrycode': u'us', u'city_id': u'20094750', u'longitude': u'-80.47440338134766', u'nr_hotels': u'7', u'latitude': u'35.670799255371094'} +error: (1062, "Duplicate entry 'salisbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salisbury', u'countrycode': u'us', u'city_id': u'20094750', u'longitude': u'-80.47440338134766', u'nr_hotels': u'7', u'latitude': u'35.670799255371094'} +error: (1062, "Duplicate entry 'sanford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sanford', u'countrycode': u'us', u'city_id': u'20094785', u'longitude': u'-79.18060302734375', u'nr_hotels': u'5', u'latitude': u'35.479698181152344'} +error: (1062, "Duplicate entry 'sanford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sanford', u'countrycode': u'us', u'city_id': u'20094785', u'longitude': u'-79.18060302734375', u'nr_hotels': u'5', u'latitude': u'35.479698181152344'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20094846', u'longitude': u'-78.28469848632812', u'nr_hotels': u'3', u'latitude': u'35.536399841308594'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20094846', u'longitude': u'-78.28469848632812', u'nr_hotels': u'3', u'latitude': u'35.536399841308594'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20094896', u'longitude': u'-81.53579711914062', u'nr_hotels': u'7', u'latitude': u'35.292198181152344'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20094896', u'longitude': u'-81.53579711914062', u'nr_hotels': u'7', u'latitude': u'35.292198181152344'} +error: (1062, "Duplicate entry 'southport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Southport', u'countrycode': u'us', u'city_id': u'20095061', u'longitude': u'-78.02059936523438', u'nr_hotels': u'3', u'latitude': u'33.9213981628418'} +error: (1062, "Duplicate entry 'southport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Southport', u'countrycode': u'us', u'city_id': u'20095061', u'longitude': u'-78.02059936523438', u'nr_hotels': u'3', u'latitude': u'33.9213981628418'} +error: (1062, "Duplicate entry 'spring-lake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spring Lake', u'countrycode': u'us', u'city_id': u'20095095', u'longitude': u'-78.97309875488281', u'nr_hotels': u'4', u'latitude': u'35.16780090332031'} +error: (1062, "Duplicate entry 'spring-lake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spring Lake', u'countrycode': u'us', u'city_id': u'20095095', u'longitude': u'-78.97309875488281', u'nr_hotels': u'4', u'latitude': u'35.16780090332031'} +error: (1062, "Duplicate entry 'sterling-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sterling', u'countrycode': u'us', u'city_id': u'20095142', u'longitude': u'-80.88670349121094', u'nr_hotels': u'1', u'latitude': u'35.10810089111328'} +error: (1062, "Duplicate entry 'sterling-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sterling', u'countrycode': u'us', u'city_id': u'20095142', u'longitude': u'-80.88670349121094', u'nr_hotels': u'1', u'latitude': u'35.10810089111328'} +error: (1062, "Duplicate entry 'sulphur-springs-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sulphur Springs', u'countrycode': u'us', u'city_id': u'20095202', u'longitude': u'-82.62249755859375', u'nr_hotels': u'0', u'latitude': u'35.5703010559082'} +error: (1062, "Duplicate entry 'sulphur-springs-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sulphur Springs', u'countrycode': u'us', u'city_id': u'20095202', u'longitude': u'-82.62249755859375', u'nr_hotels': u'0', u'latitude': u'35.5703010559082'} +error: (1062, "Duplicate entry 'thomasville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Thomasville', u'countrycode': u'us', u'city_id': u'20095312', u'longitude': u'-80.08219909667969', u'nr_hotels': u'4', u'latitude': u'35.88249969482422'} +error: (1062, "Duplicate entry 'thomasville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Thomasville', u'countrycode': u'us', u'city_id': u'20095312', u'longitude': u'-80.08219909667969', u'nr_hotels': u'4', u'latitude': u'35.88249969482422'} +error: (1062, "Duplicate entry 'warsaw-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warsaw', u'countrycode': u'us', u'city_id': u'20095555', u'longitude': u'-78.09140014648438', u'nr_hotels': u'1', u'latitude': u'34.99919891357422'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20095558', u'longitude': u'-77.05249786376953', u'nr_hotels': u'4', u'latitude': u'35.5463981628418'} +error: (1062, "Duplicate entry 'vashington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0430\u0448\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20095558', u'longitude': u'-77.05249786376953', u'nr_hotels': u'4', u'latitude': u'35.5463981628418'} +error: (1062, "Duplicate entry 'banja-rs' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Banja', u'countrycode': u'rs', u'city_id': u'9037957', u'longitude': u'20.486400604248047', u'nr_hotels': u'1', u'latitude': u'43.95220184326172'} +error: (1062, "Duplicate entry 'banja-rs' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Banja', u'countrycode': u'rs', u'city_id': u'9037957', u'longitude': u'20.486400604248047', u'nr_hotels': u'1', u'latitude': u'43.95220184326172'} +error: (1062, "Duplicate entry 'whittier-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Whittier', u'countrycode': u'us', u'city_id': u'20095703', u'longitude': u'-83.36029815673828', u'nr_hotels': u'1', u'latitude': u'35.435001373291016'} +error: (1062, "Duplicate entry 'whittier-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Whittier', u'countrycode': u'us', u'city_id': u'20095703', u'longitude': u'-83.36029815673828', u'nr_hotels': u'1', u'latitude': u'35.435001373291016'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20095750', u'longitude': u'-77.94499969482422', u'nr_hotels': u'36', u'latitude': u'34.22560119628906'} +error: (1062, "Duplicate entry 'uilmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0423\u0438\u043b\u043c\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20095750', u'longitude': u'-77.94499969482422', u'nr_hotels': u'36', u'latitude': u'34.22560119628906'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20096186', u'longitude': u'-97.4103012084961', u'nr_hotels': u'1', u'latitude': u'48.412200927734375'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20096186', u'longitude': u'-97.4103012084961', u'nr_hotels': u'1', u'latitude': u'48.412200927734375'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20096228', u'longitude': u'-99.93499755859375', u'nr_hotels': u'1', u'latitude': u'47.76969909667969'} +error: (1062, "Duplicate entry 'harvey-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harvey', u'countrycode': u'us', u'city_id': u'20096228', u'longitude': u'-99.93499755859375', u'nr_hotels': u'1', u'latitude': u'47.76969909667969'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20096269', u'longitude': u'-98.70809936523438', u'nr_hotels': u'9', u'latitude': u'46.91059875488281'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20096269', u'longitude': u'-98.70809936523438', u'nr_hotels': u'9', u'latitude': u'46.91059875488281'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20096620', u'longitude': u'-101.38099670410156', u'nr_hotels': u'1', u'latitude': u'47.32109832763672'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20096620', u'longitude': u'-101.38099670410156', u'nr_hotels': u'1', u'latitude': u'47.32109832763672'} +error: (1062, "Duplicate entry 'alliance-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alliance', u'countrycode': u'us', u'city_id': u'20096789', u'longitude': u'-81.1061019897461', u'nr_hotels': u'1', u'latitude': u'40.91529846191406'} +error: (1062, "Duplicate entry 'alliance-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alliance', u'countrycode': u'us', u'city_id': u'20096789', u'longitude': u'-81.1061019897461', u'nr_hotels': u'1', u'latitude': u'40.91529846191406'} +error: (1062, "Duplicate entry 'amherst-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Amherst', u'countrycode': u'us', u'city_id': u'20096809', u'longitude': u'-82.22250366210938', u'nr_hotels': u'1', u'latitude': u'41.39780044555664'} +error: (1062, "Duplicate entry 'amherst-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Amherst', u'countrycode': u'us', u'city_id': u'20096809', u'longitude': u'-82.22250366210938', u'nr_hotels': u'1', u'latitude': u'41.39780044555664'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20096880', u'longitude': u'-82.31829833984375', u'nr_hotels': u'2', u'latitude': u'40.86859893798828'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20096880', u'longitude': u'-82.31829833984375', u'nr_hotels': u'2', u'latitude': u'40.86859893798828'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20096889', u'longitude': u'-82.10140228271484', u'nr_hotels': u'5', u'latitude': u'39.329200744628906'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20096889', u'longitude': u'-82.10140228271484', u'nr_hotels': u'5', u'latitude': u'39.329200744628906'} +error: (1062, "Duplicate entry 'aurora-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aurora', u'countrycode': u'us', u'city_id': u'20096910', u'longitude': u'-81.34559631347656', u'nr_hotels': u'1', u'latitude': u'41.317501068115234'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20096923', u'longitude': u'-82.03559875488281', u'nr_hotels': u'1', u'latitude': u'41.451698303222656'} +error: (1062, "Duplicate entry 'avon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Avon', u'countrycode': u'us', u'city_id': u'20096923', u'longitude': u'-82.03559875488281', u'nr_hotels': u'1', u'latitude': u'41.451698303222656'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20097054', u'longitude': u'-82.8416976928711', u'nr_hotels': u'1', u'latitude': u'41.27360153198242'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20097054', u'longitude': u'-82.8416976928711', u'nr_hotels': u'1', u'latitude': u'41.27360153198242'} +error: (1062, "Duplicate entry 'berlin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berlin', u'countrycode': u'us', u'city_id': u'20097081', u'longitude': u'-81.79440307617188', u'nr_hotels': u'4', u'latitude': u'40.561100006103516'} +error: (1062, "Duplicate entry 'berlin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berlin', u'countrycode': u'us', u'city_id': u'20097081', u'longitude': u'-81.79440307617188', u'nr_hotels': u'4', u'latitude': u'40.561100006103516'} +error: (1062, "Duplicate entry 'bluffton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bluffton', u'countrycode': u'us', u'city_id': u'20097178', u'longitude': u'-83.88890075683594', u'nr_hotels': u'2', u'latitude': u'40.895301818847656'} +error: (1062, "Duplicate entry 'bluffton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bluffton', u'countrycode': u'us', u'city_id': u'20097178', u'longitude': u'-83.88890075683594', u'nr_hotels': u'2', u'latitude': u'40.895301818847656'} +error: (1062, "Duplicate entry 'bogart-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bogart', u'countrycode': u'us', u'city_id': u'20097183', u'longitude': u'-82.6511001586914', u'nr_hotels': u'1', u'latitude': u'41.39580154418945'} +error: (1062, "Duplicate entry 'bogart-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bogart', u'countrycode': u'us', u'city_id': u'20097183', u'longitude': u'-82.6511001586914', u'nr_hotels': u'1', u'latitude': u'41.39580154418945'} +error: (1062, "Duplicate entry 'bowling-green-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bowling Green', u'countrycode': u'us', u'city_id': u'20097213', u'longitude': u'-83.65139770507812', u'nr_hotels': u'2', u'latitude': u'41.374698638916016'} +error: (1062, "Duplicate entry 'bowling-green-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bowling Green', u'countrycode': u'us', u'city_id': u'20097213', u'longitude': u'-83.65139770507812', u'nr_hotels': u'2', u'latitude': u'41.374698638916016'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20097247', u'longitude': u'-81.375', u'nr_hotels': u'1', u'latitude': u'41.64780044555664'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20097247', u'longitude': u'-81.375', u'nr_hotels': u'1', u'latitude': u'41.64780044555664'} +error: (1062, "Duplicate entry 'brooklyn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brooklyn', u'countrycode': u'us', u'city_id': u'20097300', u'longitude': u'-81.73560333251953', u'nr_hotels': u'1', u'latitude': u'41.439701080322266'} +error: (1062, "Duplicate entry 'brooklyn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brooklyn', u'countrycode': u'us', u'city_id': u'20097300', u'longitude': u'-81.73560333251953', u'nr_hotels': u'1', u'latitude': u'41.439701080322266'} +error: (1062, "Duplicate entry 'brookville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookville', u'countrycode': u'us', u'city_id': u'20097307', u'longitude': u'-84.4113998413086', u'nr_hotels': u'1', u'latitude': u'39.836700439453125'} +error: (1062, "Duplicate entry 'brookville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brookville', u'countrycode': u'us', u'city_id': u'20097307', u'longitude': u'-84.4113998413086', u'nr_hotels': u'1', u'latitude': u'39.836700439453125'} +error: (1062, "Duplicate entry 'brunswick-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brunswick', u'countrycode': u'us', u'city_id': u'20097328', u'longitude': u'-81.84190368652344', u'nr_hotels': u'1', u'latitude': u'41.23809814453125'} +error: (1062, "Duplicate entry 'brunswick-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brunswick', u'countrycode': u'us', u'city_id': u'20097328', u'longitude': u'-81.84190368652344', u'nr_hotels': u'1', u'latitude': u'41.23809814453125'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20097369', u'longitude': u'-82.53579711914062', u'nr_hotels': u'1', u'latitude': u'38.40719985961914'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20097369', u'longitude': u'-82.53579711914062', u'nr_hotels': u'1', u'latitude': u'38.40719985961914'} +error: (1062, "Duplicate entry 'caldwell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Caldwell', u'countrycode': u'us', u'city_id': u'20097404', u'longitude': u'-81.5167007446289', u'nr_hotels': u'1', u'latitude': u'39.747798919677734'} +error: (1062, "Duplicate entry 'caldwell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Caldwell', u'countrycode': u'us', u'city_id': u'20097404', u'longitude': u'-81.5167007446289', u'nr_hotels': u'1', u'latitude': u'39.747798919677734'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20097411', u'longitude': u'-81.5886001586914', u'nr_hotels': u'1', u'latitude': u'40.03110122680664'} +error: (1062, "Duplicate entry 'kembridzh-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0435\u043c\u0431\u0440\u0438\u0434\u0436', u'countrycode': u'us', u'city_id': u'20097411', u'longitude': u'-81.5886001586914', u'nr_hotels': u'1', u'latitude': u'40.03110122680664'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20097442', u'longitude': u'-81.3737564086914', u'nr_hotels': u'13', u'latitude': u'40.81281280517578'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20097442', u'longitude': u'-81.3737564086914', u'nr_hotels': u'13', u'latitude': u'40.81281280517578'} +error: (1062, "Duplicate entry 'cedar-grove-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cedar Grove', u'countrycode': u'us', u'city_id': u'20097494', u'longitude': u'-82.53970336914062', u'nr_hotels': u'1', u'latitude': u'39.437801361083984'} +error: (1062, "Duplicate entry 'cedar-grove-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cedar Grove', u'countrycode': u'us', u'city_id': u'20097494', u'longitude': u'-82.53970336914062', u'nr_hotels': u'1', u'latitude': u'39.437801361083984'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20097522', u'longitude': u'-84.1594009399414', u'nr_hotels': u'7', u'latitude': u'39.628299713134766'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20097522', u'longitude': u'-84.1594009399414', u'nr_hotels': u'7', u'latitude': u'39.628299713134766'} +error: (1062, "Duplicate entry 'chillicothe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chillicothe', u'countrycode': u'us', u'city_id': u'20097579', u'longitude': u'-82.98249816894531', u'nr_hotels': u'4', u'latitude': u'39.333099365234375'} +error: (1062, "Duplicate entry 'chillicothe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chillicothe', u'countrycode': u'us', u'city_id': u'20097579', u'longitude': u'-82.98249816894531', u'nr_hotels': u'4', u'latitude': u'39.333099365234375'} +error: (1062, "Duplicate entry 'cleveland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cleveland', u'countrycode': u'us', u'city_id': u'20097630', u'longitude': u'-81.69560241699219', u'nr_hotels': u'20', u'latitude': u'41.4994010925293'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20097699', u'longitude': u'-82.9989013671875', u'nr_hotels': u'51', u'latitude': u'39.96110153198242'} +error: (1062, "Duplicate entry 'kolumbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043e\u043b\u0443\u043c\u0431\u0443\u0441', u'countrycode': u'us', u'city_id': u'20097699', u'longitude': u'-82.9989013671875', u'nr_hotels': u'51', u'latitude': u'39.96110153198242'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20097855', u'longitude': u'-82.26029968261719', u'nr_hotels': u'1', u'latitude': u'40.4474983215332'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20097855', u'longitude': u'-82.26029968261719', u'nr_hotels': u'1', u'latitude': u'40.4474983215332'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20097961', u'longitude': u'-81.47419738769531', u'nr_hotels': u'3', u'latitude': u'40.520599365234375'} +error: (1062, "Duplicate entry 'dover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dover', u'countrycode': u'us', u'city_id': u'20097961', u'longitude': u'-81.47419738769531', u'nr_hotels': u'3', u'latitude': u'40.520599365234375'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20097977', u'longitude': u'-83.11419677734375', u'nr_hotels': u'19', u'latitude': u'40.09920120239258'} +error: (1062, "Duplicate entry 'englewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Englewood', u'countrycode': u'us', u'city_id': u'20098178', u'longitude': u'-84.30220031738281', u'nr_hotels': u'6', u'latitude': u'39.877498626708984'} +error: (1062, "Duplicate entry 'englewood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Englewood', u'countrycode': u'us', u'city_id': u'20098178', u'longitude': u'-84.30220031738281', u'nr_hotels': u'6', u'latitude': u'39.877498626708984'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20098227', u'longitude': u'-84.56060028076172', u'nr_hotels': u'3', u'latitude': u'39.34579849243164'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20098227', u'longitude': u'-84.56060028076172', u'nr_hotels': u'3', u'latitude': u'39.34579849243164'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20098396', u'longitude': u'-84.30419921875', u'nr_hotels': u'2', u'latitude': u'39.55889892578125'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20098396', u'longitude': u'-84.30419921875', u'nr_hotels': u'2', u'latitude': u'39.55889892578125'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20098419', u'longitude': u'-83.12190246582031', u'nr_hotels': u'6', u'latitude': u'41.35029983520508'} +error: (1062, "Duplicate entry 'fremont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fremont', u'countrycode': u'us', u'city_id': u'20098419', u'longitude': u'-83.12190246582031', u'nr_hotels': u'6', u'latitude': u'41.35029983520508'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20098644', u'longitude': u'-84.63310241699219', u'nr_hotels': u'3', u'latitude': u'40.10279846191406'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20098644', u'longitude': u'-84.63310241699219', u'nr_hotels': u'3', u'latitude': u'40.10279846191406'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20098697', u'longitude': u'-84.5614013671875', u'nr_hotels': u'1', u'latitude': u'39.39939880371094'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20098697', u'longitude': u'-84.5614013671875', u'nr_hotels': u'1', u'latitude': u'39.39939880371094'} +error: (1062, "Duplicate entry 'harrison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harrison', u'countrycode': u'us', u'city_id': u'20098754', u'longitude': u'-84.81999969482422', u'nr_hotels': u'1', u'latitude': u'39.26190185546875'} +error: (1062, "Duplicate entry 'harrison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harrison', u'countrycode': u'us', u'city_id': u'20098754', u'longitude': u'-84.81999969482422', u'nr_hotels': u'1', u'latitude': u'39.26190185546875'} +error: (1062, "Duplicate entry 'hebron-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hebron', u'countrycode': u'us', u'city_id': u'20098803', u'longitude': u'-82.49140167236328', u'nr_hotels': u'3', u'latitude': u'39.961700439453125'} +error: (1062, "Duplicate entry 'hebron-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hebron', u'countrycode': u'us', u'city_id': u'20098803', u'longitude': u'-82.49140167236328', u'nr_hotels': u'3', u'latitude': u'39.961700439453125'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20098877', u'longitude': u'-83.61170196533203', u'nr_hotels': u'3', u'latitude': u'39.20220184326172'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20098877', u'longitude': u'-83.61170196533203', u'nr_hotels': u'3', u'latitude': u'39.20220184326172'} +error: (1062, "Duplicate entry 'holland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Holland', u'countrycode': u'us', u'city_id': u'20098905', u'longitude': u'-83.71170043945312', u'nr_hotels': u'6', u'latitude': u'41.621700286865234'} +error: (1062, "Duplicate entry 'holland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Holland', u'countrycode': u'us', u'city_id': u'20098905', u'longitude': u'-83.71170043945312', u'nr_hotels': u'6', u'latitude': u'41.621700286865234'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20098959', u'longitude': u'-81.44080352783203', u'nr_hotels': u'2', u'latitude': u'41.2400016784668'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20098959', u'longitude': u'-81.44080352783203', u'nr_hotels': u'2', u'latitude': u'41.2400016784668'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20098999', u'longitude': u'-81.63809967041016', u'nr_hotels': u'10', u'latitude': u'41.36859893798828'} +error: (1062, "Duplicate entry 'independence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Independence', u'countrycode': u'us', u'city_id': u'20098999', u'longitude': u'-81.63809967041016', u'nr_hotels': u'10', u'latitude': u'41.36859893798828'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20099061', u'longitude': u'-83.56390380859375', u'nr_hotels': u'2', u'latitude': u'39.65359878540039'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20099061', u'longitude': u'-83.56390380859375', u'nr_hotels': u'2', u'latitude': u'39.65359878540039'} +error: (1062, "Duplicate entry 'kent-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kent', u'countrycode': u'us', u'city_id': u'20099137', u'longitude': u'-81.35810089111328', u'nr_hotels': u'5', u'latitude': u'41.15359878540039'} +error: (1062, "Duplicate entry 'kent-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kent', u'countrycode': u'us', u'city_id': u'20099137', u'longitude': u'-81.35810089111328', u'nr_hotels': u'5', u'latitude': u'41.15359878540039'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lafayette', u'countrycode': u'us', u'city_id': u'20099223', u'longitude': u'-83.40670013427734', u'nr_hotels': u'1', u'latitude': u'39.9375'} +error: (1062, "Duplicate entry 'lafayette-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lafayette', u'countrycode': u'us', u'city_id': u'20099223', u'longitude': u'-83.40670013427734', u'nr_hotels': u'1', u'latitude': u'39.9375'} +error: (1062, "Duplicate entry 'lakewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lakewood', u'countrycode': u'us', u'city_id': u'20099262', u'longitude': u'-81.79830169677734', u'nr_hotels': u'3', u'latitude': u'41.48189926147461'} +error: (1062, "Duplicate entry 'lakewood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lakewood', u'countrycode': u'us', u'city_id': u'20099262', u'longitude': u'-81.79830169677734', u'nr_hotels': u'3', u'latitude': u'41.48189926147461'} +error: (1062, "Duplicate entry 'lancaster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lancaster', u'countrycode': u'us', u'city_id': u'20099265', u'longitude': u'-82.59940338134766', u'nr_hotels': u'3', u'latitude': u'39.713600158691406'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20099265', u'longitude': u'-82.59940338134766', u'nr_hotels': u'3', u'latitude': u'39.713600158691406'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20099304', u'longitude': u'-84.2031021118164', u'nr_hotels': u'3', u'latitude': u'39.435298919677734'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20099304', u'longitude': u'-84.2031021118164', u'nr_hotels': u'3', u'latitude': u'39.435298919677734'} +error: (1062, "Duplicate entry 'london-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'London', u'countrycode': u'us', u'city_id': u'20099431', u'longitude': u'-83.44830322265625', u'nr_hotels': u'1', u'latitude': u'39.88639831542969'} +error: (1062, "Duplicate entry 'london-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u043e\u043d\u0434\u043e\u043d', u'countrycode': u'us', u'city_id': u'20099431', u'longitude': u'-83.44830322265625', u'nr_hotels': u'1', u'latitude': u'39.88639831542969'} +error: (1062, "Duplicate entry 'loveland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Loveland', u'countrycode': u'us', u'city_id': u'20099453', u'longitude': u'-84.26390075683594', u'nr_hotels': u'2', u'latitude': u'39.26890182495117'} +error: (1062, "Duplicate entry 'loveland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Loveland', u'countrycode': u'us', u'city_id': u'20099453', u'longitude': u'-84.26390075683594', u'nr_hotels': u'2', u'latitude': u'39.26890182495117'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20099534', u'longitude': u'-82.5156021118164', u'nr_hotels': u'9', u'latitude': u'40.75830078125'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20099534', u'longitude': u'-82.5156021118164', u'nr_hotels': u'9', u'latitude': u'40.75830078125'} +error: (1062, "Duplicate entry 'marblehead-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marblehead', u'countrycode': u'us', u'city_id': u'20099556', u'longitude': u'-82.73560333251953', u'nr_hotels': u'2', u'latitude': u'41.54029846191406'} +error: (1062, "Duplicate entry 'marblehead-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marblehead', u'countrycode': u'us', u'city_id': u'20099556', u'longitude': u'-82.73560333251953', u'nr_hotels': u'2', u'latitude': u'41.54029846191406'} +error: (1062, "Duplicate entry 'marietta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marietta', u'countrycode': u'us', u'city_id': u'20099561', u'longitude': u'-81.45500183105469', u'nr_hotels': u'6', u'latitude': u'39.41529846191406'} +error: (1062, "Duplicate entry 'marietta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marietta', u'countrycode': u'us', u'city_id': u'20099561', u'longitude': u'-81.45500183105469', u'nr_hotels': u'6', u'latitude': u'39.41529846191406'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20099563', u'longitude': u'-83.12860107421875', u'nr_hotels': u'4', u'latitude': u'40.588600158691406'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20099563', u'longitude': u'-83.12860107421875', u'nr_hotels': u'4', u'latitude': u'40.588600158691406'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20099584', u'longitude': u'-83.36720275878906', u'nr_hotels': u'4', u'latitude': u'40.23640060424805'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20099584', u'longitude': u'-83.36720275878906', u'nr_hotels': u'4', u'latitude': u'40.23640060424805'} +error: (1062, "Duplicate entry 'mayfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mayfield', u'countrycode': u'us', u'city_id': u'20099600', u'longitude': u'-81.43939971923828', u'nr_hotels': u'1', u'latitude': u'41.55189895629883'} +error: (1062, "Duplicate entry 'mayfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mayfield', u'countrycode': u'us', u'city_id': u'20099600', u'longitude': u'-81.43939971923828', u'nr_hotels': u'1', u'latitude': u'41.55189895629883'} +error: (1062, "Duplicate entry 'medina-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Medina', u'countrycode': u'us', u'city_id': u'20099661', u'longitude': u'-81.86389923095703', u'nr_hotels': u'5', u'latitude': u'41.138301849365234'} +error: (1062, "Duplicate entry 'medina-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Medina', u'countrycode': u'us', u'city_id': u'20099661', u'longitude': u'-81.86389923095703', u'nr_hotels': u'5', u'latitude': u'41.138301849365234'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20099716', u'longitude': u'-84.39830017089844', u'nr_hotels': u'5', u'latitude': u'39.51499938964844'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20099716', u'longitude': u'-84.39830017089844', u'nr_hotels': u'5', u'latitude': u'39.51499938964844'} +error: (1062, "Duplicate entry 'milan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milan', u'countrycode': u'us', u'city_id': u'20099729', u'longitude': u'-82.60559844970703', u'nr_hotels': u'3', u'latitude': u'41.29750061035156'} +error: (1062, "Duplicate entry 'milan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milan', u'countrycode': u'us', u'city_id': u'20099729', u'longitude': u'-82.60559844970703', u'nr_hotels': u'3', u'latitude': u'41.29750061035156'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20099732', u'longitude': u'-84.29440307617188', u'nr_hotels': u'2', u'latitude': u'39.17530059814453'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20099732', u'longitude': u'-84.29440307617188', u'nr_hotels': u'2', u'latitude': u'39.17530059814453'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20099804', u'longitude': u'-84.36219787597656', u'nr_hotels': u'2', u'latitude': u'39.44029998779297'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20099804', u'longitude': u'-84.36219787597656', u'nr_hotels': u'2', u'latitude': u'39.44029998779297'} +error: (1062, "Duplicate entry 'montrose-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montrose', u'countrycode': u'us', u'city_id': u'20099822', u'longitude': u'-81.63749694824219', u'nr_hotels': u'4', u'latitude': u'41.13560104370117'} +error: (1062, "Duplicate entry 'montrose-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montrose', u'countrycode': u'us', u'city_id': u'20099822', u'longitude': u'-81.63749694824219', u'nr_hotels': u'4', u'latitude': u'41.13560104370117'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20099914', u'longitude': u'-82.48580169677734', u'nr_hotels': u'1', u'latitude': u'40.3932991027832'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20099914', u'longitude': u'-82.48580169677734', u'nr_hotels': u'1', u'latitude': u'40.3932991027832'} +error: (1062, "Duplicate entry 'new-albany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Albany', u'countrycode': u'us', u'city_id': u'20099977', u'longitude': u'-82.80889892578125', u'nr_hotels': u'1', u'latitude': u'40.08110046386719'} +error: (1062, "Duplicate entry 'new-albany-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Albany', u'countrycode': u'us', u'city_id': u'20099977', u'longitude': u'-82.80889892578125', u'nr_hotels': u'1', u'latitude': u'40.08110046386719'} +error: (1062, "Duplicate entry 'newark-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newark', u'countrycode': u'us', u'city_id': u'20100074', u'longitude': u'-82.40139770507812', u'nr_hotels': u'1', u'latitude': u'40.058101654052734'} +error: (1062, "Duplicate entry 'n-yuark-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u0430\u0440\u043a', u'countrycode': u'us', u'city_id': u'20100074', u'longitude': u'-82.40139770507812', u'nr_hotels': u'1', u'latitude': u'40.058101654052734'} +error: (1062, "Duplicate entry 'niles-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Niles', u'countrycode': u'us', u'city_id': u'20100096', u'longitude': u'-80.7656021118164', u'nr_hotels': u'1', u'latitude': u'41.18280029296875'} +error: (1062, "Duplicate entry 'niles-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Niles', u'countrycode': u'us', u'city_id': u'20100096', u'longitude': u'-80.7656021118164', u'nr_hotels': u'1', u'latitude': u'41.18280029296875'} +error: (1062, "Duplicate entry 'northwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Northwood', u'countrycode': u'us', u'city_id': u'20100176', u'longitude': u'-83.46890258789062', u'nr_hotels': u'2', u'latitude': u'41.607200622558594'} +error: (1062, "Duplicate entry 'northwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Northwood', u'countrycode': u'us', u'city_id': u'20100176', u'longitude': u'-83.46890258789062', u'nr_hotels': u'2', u'latitude': u'41.607200622558594'} +error: (1062, "Duplicate entry 'norwalk-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norwalk', u'countrycode': u'us', u'city_id': u'20100182', u'longitude': u'-82.61579895019531', u'nr_hotels': u'3', u'latitude': u'41.24250030517578'} +error: (1062, "Duplicate entry 'norwalk-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norwalk', u'countrycode': u'us', u'city_id': u'20100182', u'longitude': u'-82.61579895019531', u'nr_hotels': u'3', u'latitude': u'41.24250030517578'} +error: (1062, "Duplicate entry 'oakwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakwood', u'countrycode': u'us', u'city_id': u'20100224', u'longitude': u'-81.50810241699219', u'nr_hotels': u'1', u'latitude': u'41.365299224853516'} +error: (1062, "Duplicate entry 'oakwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oakwood', u'countrycode': u'us', u'city_id': u'20100224', u'longitude': u'-81.50810241699219', u'nr_hotels': u'1', u'latitude': u'41.365299224853516'} +error: (1062, "Duplicate entry 'oberlin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oberlin', u'countrycode': u'us', u'city_id': u'20100226', u'longitude': u'-82.21749877929688', u'nr_hotels': u'1', u'latitude': u'41.29389953613281'} +error: (1062, "Duplicate entry 'oberlin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oberlin', u'countrycode': u'us', u'city_id': u'20100226', u'longitude': u'-82.21749877929688', u'nr_hotels': u'1', u'latitude': u'41.29389953613281'} +error: (1062, "Duplicate entry 'olive-branch-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Olive Branch', u'countrycode': u'us', u'city_id': u'20100254', u'longitude': u'-84.22530364990234', u'nr_hotels': u'1', u'latitude': u'39.083900451660156'} +error: (1062, "Duplicate entry 'olive-branch-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Olive Branch', u'countrycode': u'us', u'city_id': u'20100254', u'longitude': u'-84.22530364990234', u'nr_hotels': u'1', u'latitude': u'39.083900451660156'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20100273', u'longitude': u'-81.48079681396484', u'nr_hotels': u'2', u'latitude': u'41.44969940185547'} +error: (1062, "Duplicate entry 'orindzh-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0440\u0438\u043d\u0434\u0436', u'countrycode': u'us', u'city_id': u'20100273', u'longitude': u'-81.48079681396484', u'nr_hotels': u'2', u'latitude': u'41.44969940185547'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20100317', u'longitude': u'-84.74530029296875', u'nr_hotels': u'4', u'latitude': u'39.506900787353516'} +error: (1062, "Duplicate entry 'oxford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oxford', u'countrycode': u'us', u'city_id': u'20100317', u'longitude': u'-84.74530029296875', u'nr_hotels': u'4', u'latitude': u'39.506900787353516'} +error: (1062, "Duplicate entry 'ust-ye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u"Ust'ye", u'countrycode': u'ru', u'city_id': u'-3027330', u'longitude': u'36.75', u'nr_hotels': u'1', u'latitude': u'56.79999923706055'} +error: (1062, "Duplicate entry 'richfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richfield', u'countrycode': u'us', u'city_id': u'20100700', u'longitude': u'-81.63829803466797', u'nr_hotels': u'4', u'latitude': u'41.23970031738281'} +error: (1062, "Duplicate entry 'richfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richfield', u'countrycode': u'us', u'city_id': u'20100700', u'longitude': u'-81.63829803466797', u'nr_hotels': u'4', u'latitude': u'41.23970031738281'} +error: (1062, "Duplicate entry 'saint-marys-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Marys', u'countrycode': u'us', u'city_id': u'20100889', u'longitude': u'-84.38939666748047', u'nr_hotels': u'1', u'latitude': u'40.542198181152344'} +error: (1062, "Duplicate entry 'saint-marys-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Marys', u'countrycode': u'us', u'city_id': u'20100889', u'longitude': u'-84.38939666748047', u'nr_hotels': u'1', u'latitude': u'40.542198181152344'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20101037', u'longitude': u'-82.66190338134766', u'nr_hotels': u'1', u'latitude': u'40.88140106201172'} +error: (1062, "Duplicate entry 'shelby-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelby', u'countrycode': u'us', u'city_id': u'20101037', u'longitude': u'-82.66190338134766', u'nr_hotels': u'1', u'latitude': u'40.88140106201172'} +error: (1062, "Duplicate entry 'shiloh-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shiloh', u'countrycode': u'us', u'city_id': u'20101054', u'longitude': u'-84.22859954833984', u'nr_hotels': u'1', u'latitude': u'39.818599700927734'} +error: (1062, "Duplicate entry 'shiloh-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shiloh', u'countrycode': u'us', u'city_id': u'20101054', u'longitude': u'-84.22859954833984', u'nr_hotels': u'1', u'latitude': u'39.818599700927734'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20101069', u'longitude': u'-84.15560150146484', u'nr_hotels': u'2', u'latitude': u'40.28419876098633'} +error: (1062, "Duplicate entry 'sidney-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sidney', u'countrycode': u'us', u'city_id': u'20101069', u'longitude': u'-84.15560150146484', u'nr_hotels': u'2', u'latitude': u'40.28419876098633'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20101216', u'longitude': u'-84.00779724121094', u'nr_hotels': u'1', u'latitude': u'39.6088981628418'} +error: (1062, "Duplicate entry 'spring-valley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spring Valley', u'countrycode': u'us', u'city_id': u'20101216', u'longitude': u'-84.00779724121094', u'nr_hotels': u'1', u'latitude': u'39.6088981628418'} +error: (1062, "Duplicate entry 'springdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springdale', u'countrycode': u'us', u'city_id': u'20101222', u'longitude': u'-84.48529815673828', u'nr_hotels': u'9', u'latitude': u'39.28689956665039'} +error: (1062, "Duplicate entry 'springdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springdale', u'countrycode': u'us', u'city_id': u'20101222', u'longitude': u'-84.48529815673828', u'nr_hotels': u'9', u'latitude': u'39.28689956665039'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20101224', u'longitude': u'-83.80889892578125', u'nr_hotels': u'10', u'latitude': u'39.924198150634766'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20101224', u'longitude': u'-83.80889892578125', u'nr_hotels': u'10', u'latitude': u'39.924198150634766'} +error: (1062, "Duplicate entry 'troitsk-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troitsk', u'countrycode': u'ru', u'city_id': u'-3020677', u'longitude': u'61.52389907836914', u'nr_hotels': u'1', u'latitude': u'54.10499954223633'} +error: (1062, "Duplicate entry 'troitsk-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0422\u0440\u043e\u0438\u0446\u043a', u'countrycode': u'ru', u'city_id': u'-3020677', u'longitude': u'61.52389907836914', u'nr_hotels': u'1', u'latitude': u'54.10499954223633'} +error: (1062, "Duplicate entry 'sylvania-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sylvania', u'countrycode': u'us', u'city_id': u'20101378', u'longitude': u'-83.71309661865234', u'nr_hotels': u'2', u'latitude': u'41.71889877319336'} +error: (1062, "Duplicate entry 'sylvania-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sylvania', u'countrycode': u'us', u'city_id': u'20101378', u'longitude': u'-83.71309661865234', u'nr_hotels': u'2', u'latitude': u'41.71889877319336'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20101495', u'longitude': u'-84.20330047607422', u'nr_hotels': u'6', u'latitude': u'40.039398193359375'} +error: (1062, "Duplicate entry 'troy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Troy', u'countrycode': u'us', u'city_id': u'20101495', u'longitude': u'-84.20330047607422', u'nr_hotels': u'6', u'latitude': u'40.039398193359375'} +error: (1062, "Duplicate entry 'vandalia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vandalia', u'countrycode': u'us', u'city_id': u'20101592', u'longitude': u'-84.19889831542969', u'nr_hotels': u'2', u'latitude': u'39.89059829711914'} +error: (1062, "Duplicate entry 'vandalia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vandalia', u'countrycode': u'us', u'city_id': u'20101592', u'longitude': u'-84.19889831542969', u'nr_hotels': u'2', u'latitude': u'39.89059829711914'} +error: (1062, "Duplicate entry 'wadsworth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wadsworth', u'countrycode': u'us', u'city_id': u'20101638', u'longitude': u'-81.7300033569336', u'nr_hotels': u'2', u'latitude': u'41.02560043334961'} +error: (1062, "Duplicate entry 'wadsworth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wadsworth', u'countrycode': u'us', u'city_id': u'20101638', u'longitude': u'-81.7300033569336', u'nr_hotels': u'2', u'latitude': u'41.02560043334961'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20101674', u'longitude': u'-80.818603515625', u'nr_hotels': u'4', u'latitude': u'41.23749923706055'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20101674', u'longitude': u'-80.818603515625', u'nr_hotels': u'4', u'latitude': u'41.23749923706055'} +error: (1062, "Duplicate entry 'westchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westchester', u'countrycode': u'us', u'city_id': u'20101815', u'longitude': u'-84.4083023071289', u'nr_hotels': u'6', u'latitude': u'39.330299377441406'} +error: (1062, "Duplicate entry 'westchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westchester', u'countrycode': u'us', u'city_id': u'20101815', u'longitude': u'-84.4083023071289', u'nr_hotels': u'6', u'latitude': u'39.330299377441406'} +error: (1062, "Duplicate entry 'westlake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westlake', u'countrycode': u'us', u'city_id': u'20101824', u'longitude': u'-81.91809844970703', u'nr_hotels': u'8', u'latitude': u'41.455299377441406'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20101923', u'longitude': u'-83.82859802246094', u'nr_hotels': u'3', u'latitude': u'39.4453010559082'} +error: (1062, "Duplicate entry 'uilmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0423\u0438\u043b\u043c\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20101923', u'longitude': u'-83.82859802246094', u'nr_hotels': u'3', u'latitude': u'39.4453010559082'} +error: (1062, "Duplicate entry 'worthington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Worthington', u'countrycode': u'us', u'city_id': u'20101989', u'longitude': u'-83.01809692382812', u'nr_hotels': u'22', u'latitude': u'40.093101501464844'} +error: (1062, "Duplicate entry 'worthington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Worthington', u'countrycode': u'us', u'city_id': u'20101989', u'longitude': u'-83.01809692382812', u'nr_hotels': u'22', u'latitude': u'40.093101501464844'} +error: (1062, "Duplicate entry 'afton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Afton', u'countrycode': u'us', u'city_id': u'20102055', u'longitude': u'-94.96279907226562', u'nr_hotels': u'1', u'latitude': u'36.693599700927734'} +error: (1062, "Duplicate entry 'afton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Afton', u'countrycode': u'us', u'city_id': u'20102055', u'longitude': u'-94.96279907226562', u'nr_hotels': u'1', u'latitude': u'36.693599700927734'} +error: (1062, "Duplicate entry 'bethany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bethany', u'countrycode': u'us', u'city_id': u'20102173', u'longitude': u'-97.63189697265625', u'nr_hotels': u'3', u'latitude': u'35.51860046386719'} +error: (1062, "Duplicate entry 'bethany-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bethany', u'countrycode': u'us', u'city_id': u'20102173', u'longitude': u'-97.63189697265625', u'nr_hotels': u'3', u'latitude': u'35.51860046386719'} +error: (1062, "Duplicate entry 'broken-bow-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Broken Bow', u'countrycode': u'us', u'city_id': u'20102249', u'longitude': u'-94.73889923095703', u'nr_hotels': u'2', u'latitude': u'34.02920150756836'} +error: (1062, "Duplicate entry 'broken-bow-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Broken Bow', u'countrycode': u'us', u'city_id': u'20102249', u'longitude': u'-94.73889923095703', u'nr_hotels': u'2', u'latitude': u'34.02920150756836'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20102407', u'longitude': u'-98.96690368652344', u'nr_hotels': u'3', u'latitude': u'35.51559829711914'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20102407', u'longitude': u'-98.96690368652344', u'nr_hotels': u'3', u'latitude': u'35.51559829711914'} +error: (1062, "Duplicate entry 'dale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dale', u'countrycode': u'us', u'city_id': u'20102496', u'longitude': u'-97.0447006225586', u'nr_hotels': u'1', u'latitude': u'35.38999938964844'} +error: (1062, "Duplicate entry 'dale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dale', u'countrycode': u'us', u'city_id': u'20102496', u'longitude': u'-97.0447006225586', u'nr_hotels': u'1', u'latitude': u'35.38999938964844'} +error: (1062, "Duplicate entry 'frederick-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Frederick', u'countrycode': u'us', u'city_id': u'20102700', u'longitude': u'-99.01809692382812', u'nr_hotels': u'1', u'latitude': u'34.39189910888672'} +error: (1062, "Duplicate entry 'frederick-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Frederick', u'countrycode': u'us', u'city_id': u'20102700', u'longitude': u'-99.01809692382812', u'nr_hotels': u'1', u'latitude': u'34.39189910888672'} +error: (1062, "Duplicate entry 'sosnovka-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sosnovka', u'countrycode': u'ru', u'city_id': u'-3008085', u'longitude': u'58.291099548339844', u'nr_hotels': u'0', u'latitude': u'53.8588981628418'} +error: (1062, "Duplicate entry 'sosnovka-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sosnovka', u'countrycode': u'ru', u'city_id': u'-3008085', u'longitude': u'58.291099548339844', u'nr_hotels': u'0', u'latitude': u'53.8588981628418'} +error: (1062, "Duplicate entry 'sosnovka-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sosnovka', u'countrycode': u'ru', u'city_id': u'-3008081', u'longitude': u'87.1500015258789', u'nr_hotels': u'2', u'latitude': u'53.66669845581055'} +error: (1062, "Duplicate entry 'sosnovka-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043e\u0441\u043d\u043e\u0432\u043a\u0430', u'countrycode': u'ru', u'city_id': u'-3008081', u'longitude': u'87.1500015258789', u'nr_hotels': u'2', u'latitude': u'53.66669845581055'} +error: (1062, "Duplicate entry 'locust-grove-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Locust Grove', u'countrycode': u'us', u'city_id': u'20103073', u'longitude': u'-95.1675033569336', u'nr_hotels': u'1', u'latitude': u'36.20000076293945'} +error: (1062, "Duplicate entry 'locust-grove-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Locust Grove', u'countrycode': u'us', u'city_id': u'20103073', u'longitude': u'-95.1675033569336', u'nr_hotels': u'1', u'latitude': u'36.20000076293945'} +error: (1062, "Duplicate entry 'miami-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Miami', u'countrycode': u'us', u'city_id': u'20103177', u'longitude': u'-94.877197265625', u'nr_hotels': u'6', u'latitude': u'36.8744010925293'} +error: (1062, "Duplicate entry 'majami-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u0439\u0430\u043c\u0438', u'countrycode': u'us', u'city_id': u'20103177', u'longitude': u'-94.877197265625', u'nr_hotels': u'6', u'latitude': u'36.8744010925293'} +error: (1062, "Duplicate entry 'shuya-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shuya', u'countrycode': u'ru', u'city_id': u'-3003991', u'longitude': u'41.36220169067383', u'nr_hotels': u'1', u'latitude': u'56.851898193359375'} +error: (1062, "Duplicate entry 'shuya-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0428\u0443\u044f', u'countrycode': u'ru', u'city_id': u'-3003991', u'longitude': u'41.36220169067383', u'nr_hotels': u'1', u'latitude': u'56.851898193359375'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20103401', u'longitude': u'-97.28780364990234', u'nr_hotels': u'1', u'latitude': u'36.289398193359375'} +error: (1062, "Duplicate entry 'perry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Perry', u'countrycode': u'us', u'city_id': u'20103401', u'longitude': u'-97.28780364990234', u'nr_hotels': u'1', u'latitude': u'36.289398193359375'} +error: (1062, "Duplicate entry 'savanna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Savanna', u'countrycode': u'us', u'city_id': u'20103584', u'longitude': u'-95.84359741210938', u'nr_hotels': u'2', u'latitude': u'34.82889938354492'} +error: (1062, "Duplicate entry 'savanna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Savanna', u'countrycode': u'us', u'city_id': u'20103584', u'longitude': u'-95.84359741210938', u'nr_hotels': u'2', u'latitude': u'34.82889938354492'} +error: (1062, "Duplicate entry 'seminole-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seminole', u'countrycode': u'us', u'city_id': u'20103598', u'longitude': u'-96.67030334472656', u'nr_hotels': u'1', u'latitude': u'35.22439956665039'} +error: (1062, "Duplicate entry 'seminole-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seminole', u'countrycode': u'us', u'city_id': u'20103598', u'longitude': u'-96.67030334472656', u'nr_hotels': u'1', u'latitude': u'35.22439956665039'} +error: (1062, "Duplicate entry 'shawnee-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shawnee', u'countrycode': u'us', u'city_id': u'20103613', u'longitude': u'-96.92500305175781', u'nr_hotels': u'6', u'latitude': u'35.32720184326172'} +error: (1062, "Duplicate entry 'shawnee-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shawnee', u'countrycode': u'us', u'city_id': u'20103613', u'longitude': u'-96.92500305175781', u'nr_hotels': u'6', u'latitude': u'35.32720184326172'} +error: (1062, "Duplicate entry 'stillwater-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stillwater', u'countrycode': u'us', u'city_id': u'20103688', u'longitude': u'-97.05809783935547', u'nr_hotels': u'9', u'latitude': u'36.1156005859375'} +error: (1062, "Duplicate entry 'stillwater-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stillwater', u'countrycode': u'us', u'city_id': u'20103688', u'longitude': u'-97.05809783935547', u'nr_hotels': u'9', u'latitude': u'36.1156005859375'} +error: (1062, "Duplicate entry 'sulphur-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sulphur', u'countrycode': u'us', u'city_id': u'20103710', u'longitude': u'-96.96810150146484', u'nr_hotels': u'1', u'latitude': u'34.5078010559082'} +error: (1062, "Duplicate entry 'sulphur-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sulphur', u'countrycode': u'us', u'city_id': u'20103710', u'longitude': u'-96.96810150146484', u'nr_hotels': u'1', u'latitude': u'34.5078010559082'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20103812', u'longitude': u'-95.8644027709961', u'nr_hotels': u'2', u'latitude': u'36.07360076904297'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20103812', u'longitude': u'-95.8644027709961', u'nr_hotels': u'2', u'latitude': u'36.07360076904297'} +error: (1062, "Duplicate entry 'albany-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Albany', u'countrycode': u'us', u'city_id': u'20103979', u'longitude': u'-123.1050033569336', u'nr_hotels': u'8', u'latitude': u'44.63669967651367'} +error: (1062, "Duplicate entry 'albany-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Albany', u'countrycode': u'us', u'city_id': u'20103979', u'longitude': u'-123.1050033569336', u'nr_hotels': u'8', u'latitude': u'44.63669967651367'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20104009', u'longitude': u'-120.19999694824219', u'nr_hotels': u'1', u'latitude': u'45.71689987182617'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20104009', u'longitude': u'-120.19999694824219', u'nr_hotels': u'1', u'latitude': u'45.71689987182617'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20104012', u'longitude': u'-122.70800018310547', u'nr_hotels': u'15', u'latitude': u'42.194698333740234'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20104012', u'longitude': u'-122.70800018310547', u'nr_hotels': u'15', u'latitude': u'42.194698333740234'} +error: (1062, "Duplicate entry 'boardman-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Boardman', u'countrycode': u'us', u'city_id': u'20104082', u'longitude': u'-119.6989974975586', u'nr_hotels': u'1', u'latitude': u'45.84000015258789'} +error: (1062, "Duplicate entry 'boardman-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Boardman', u'countrycode': u'us', u'city_id': u'20104082', u'longitude': u'-119.6989974975586', u'nr_hotels': u'1', u'latitude': u'45.84000015258789'} +error: (1062, "Duplicate entry 'cottage-grove-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cottage Grove', u'countrycode': u'us', u'city_id': u'20104243', u'longitude': u'-123.05799865722656', u'nr_hotels': u'1', u'latitude': u'43.79779815673828'} +error: (1062, "Duplicate entry 'cottage-grove-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cottage Grove', u'countrycode': u'us', u'city_id': u'20104243', u'longitude': u'-123.05799865722656', u'nr_hotels': u'1', u'latitude': u'43.79779815673828'} +error: (1062, "Duplicate entry 'creswell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Creswell', u'countrycode': u'us', u'city_id': u'20104255', u'longitude': u'-123.02300262451172', u'nr_hotels': u'1', u'latitude': u'43.91809844970703'} +error: (1062, "Duplicate entry 'creswell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Creswell', u'countrycode': u'us', u'city_id': u'20104255', u'longitude': u'-123.02300262451172', u'nr_hotels': u'1', u'latitude': u'43.91809844970703'} +error: (1062, "Duplicate entry 'enterprise-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Enterprise', u'countrycode': u'us', u'city_id': u'20104360', u'longitude': u'-117.27799987792969', u'nr_hotels': u'1', u'latitude': u'45.42639923095703'} +error: (1062, "Duplicate entry 'enterprise-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Enterprise', u'countrycode': u'us', u'city_id': u'20104360', u'longitude': u'-117.27799987792969', u'nr_hotels': u'1', u'latitude': u'45.42639923095703'} +error: (1062, "Duplicate entry 'flora-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Flora', u'countrycode': u'us', u'city_id': u'20104398', u'longitude': u'-117.30899810791016', u'nr_hotels': u'1', u'latitude': u'45.900299072265625'} +error: (1062, "Duplicate entry 'flora-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Flora', u'countrycode': u'us', u'city_id': u'20104398', u'longitude': u'-117.30899810791016', u'nr_hotels': u'1', u'latitude': u'45.900299072265625'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20104399', u'longitude': u'-124.0989990234375', u'nr_hotels': u'5', u'latitude': u'43.9827995300293'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20104399', u'longitude': u'-124.0989990234375', u'nr_hotels': u'5', u'latitude': u'43.9827995300293'} +error: (1062, "Duplicate entry 'rozhdestveno-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rozhdestveno', u'countrycode': u'ru', u'city_id': u'-2993411', u'longitude': u'36.33330154418945', u'nr_hotels': u'1', u'latitude': u'54.11669921875'} +error: (1062, "Duplicate entry 'rozhdestveno-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0435\u043d\u043e', u'countrycode': u'ru', u'city_id': u'-2993411', u'longitude': u'36.33330154418945', u'nr_hotels': u'1', u'latitude': u'54.11669921875'} +error: (1062, "Duplicate entry 'rossokha-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rossokha', u'countrycode': u'ru', u'city_id': u'-2993155', u'longitude': u'61.04169845581055', u'nr_hotels': u'0', u'latitude': u'56.71110153198242'} +error: (1062, "Duplicate entry 'rossokha-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rossokha', u'countrycode': u'ru', u'city_id': u'-2993155', u'longitude': u'61.04169845581055', u'nr_hotels': u'0', u'latitude': u'56.71110153198242'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20104536', u'longitude': u'-122.98899841308594', u'nr_hotels': u'9', u'latitude': u'45.523101806640625'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20104536', u'longitude': u'-122.98899841308594', u'nr_hotels': u'9', u'latitude': u'45.523101806640625'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20104584', u'longitude': u'-122.96600341796875', u'nr_hotels': u'4', u'latitude': u'42.3135986328125'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20104584', u'longitude': u'-122.96600341796875', u'nr_hotels': u'4', u'latitude': u'42.3135986328125'} +error: (1062, "Duplicate entry 'junction-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Junction City', u'countrycode': u'us', u'city_id': u'20104600', u'longitude': u'-123.2040023803711', u'nr_hotels': u'1', u'latitude': u'44.219398498535156'} +error: (1062, "Duplicate entry 'junction-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Junction City', u'countrycode': u'us', u'city_id': u'20104600', u'longitude': u'-123.2040023803711', u'nr_hotels': u'1', u'latitude': u'44.219398498535156'} +error: (1062, "Duplicate entry 'lakeview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lakeview', u'countrycode': u'us', u'city_id': u'20104639', u'longitude': u'-120.34500122070312', u'nr_hotels': u'5', u'latitude': u'42.188899993896484'} +error: (1062, "Duplicate entry 'lakeview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lakeview', u'countrycode': u'us', u'city_id': u'20104639', u'longitude': u'-120.34500122070312', u'nr_hotels': u'5', u'latitude': u'42.188899993896484'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20104652', u'longitude': u'-122.90599822998047', u'nr_hotels': u'3', u'latitude': u'44.53670120239258'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20104652', u'longitude': u'-122.90599822998047', u'nr_hotels': u'3', u'latitude': u'44.53670120239258'} +error: (1062, "Duplicate entry 'medford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Medford', u'countrycode': u'us', u'city_id': u'20104739', u'longitude': u'-122.8740005493164', u'nr_hotels': u'31', u'latitude': u'42.326698303222656'} +error: (1062, "Duplicate entry 'medford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Medford', u'countrycode': u'us', u'city_id': u'20104739', u'longitude': u'-122.8740005493164', u'nr_hotels': u'31', u'latitude': u'42.326698303222656'} +error: (1062, "Duplicate entry 'ontario-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ontario', u'countrycode': u'us', u'city_id': u'20104865', u'longitude': u'-116.96199798583984', u'nr_hotels': u'8', u'latitude': u'44.02669906616211'} +error: (1062, "Duplicate entry 'ontario-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ontario', u'countrycode': u'us', u'city_id': u'20104865', u'longitude': u'-116.96199798583984', u'nr_hotels': u'8', u'latitude': u'44.02669906616211'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20104927', u'longitude': u'-122.67500305175781', u'nr_hotels': u'113', u'latitude': u'45.52360153198242'} +error: (1062, "Duplicate entry 'portlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20104927', u'longitude': u'-122.67500305175781', u'nr_hotels': u'113', u'latitude': u'45.52360153198242'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20105018', u'longitude': u'-123.03399658203125', u'nr_hotels': u'19', u'latitude': u'44.94309997558594'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20105018', u'longitude': u'-123.03399658203125', u'nr_hotels': u'19', u'latitude': u'44.94309997558594'} +error: (1062, "Duplicate entry 'sisajd-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0438\u0441\u0430\u0439\u0434', u'countrycode': u'us', u'city_id': u'20105036', u'longitude': u'-123.9209976196289', u'nr_hotels': u'21', u'latitude': u'45.99330139160156'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20105079', u'longitude': u'-123.02100372314453', u'nr_hotels': u'11', u'latitude': u'44.0463981628418'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20105079', u'longitude': u'-123.02100372314453', u'nr_hotels': u'11', u'latitude': u'44.0463981628418'} +error: (1062, "Duplicate entry 'pirogovo-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pirogovo', u'countrycode': u'ru', u'city_id': u'-2982570', u'longitude': u'37.733299255371094', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'pirogovo-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pirogovo', u'countrycode': u'ru', u'city_id': u'-2982570', u'longitude': u'37.733299255371094', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'petrovskoye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Petrovskoye', u'countrycode': u'ru', u'city_id': u'-2981939', u'longitude': u'39.26969909667969', u'nr_hotels': u'1', u'latitude': u'57.009700775146484'} +error: (1062, "Duplicate entry 'petrovskoye-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Petrovskoye', u'countrycode': u'ru', u'city_id': u'-2981939', u'longitude': u'39.26969909667969', u'nr_hotels': u'1', u'latitude': u'57.009700775146484'} +error: (1062, "Duplicate entry 'petrovskoye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Petrovskoye', u'countrycode': u'ru', u'city_id': u'-2981926', u'longitude': u'38.349998474121094', u'nr_hotels': u'1', u'latitude': u'55.45000076293945'} +error: (1062, "Duplicate entry 'petrovskoye-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Petrovskoye', u'countrycode': u'ru', u'city_id': u'-2981926', u'longitude': u'38.349998474121094', u'nr_hotels': u'1', u'latitude': u'55.45000076293945'} +error: (1062, "Duplicate entry 'warm-springs-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warm Springs', u'countrycode': u'us', u'city_id': u'20105218', u'longitude': u'-121.26499938964844', u'nr_hotels': u'1', u'latitude': u'44.76359939575195'} +error: (1062, "Duplicate entry 'warm-springs-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warm Springs', u'countrycode': u'us', u'city_id': u'20105218', u'longitude': u'-121.26499938964844', u'nr_hotels': u'1', u'latitude': u'44.76359939575195'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20105221', u'longitude': u'-123.9229965209961', u'nr_hotels': u'1', u'latitude': u'46.16529846191406'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20105221', u'longitude': u'-123.9229965209961', u'nr_hotels': u'1', u'latitude': u'46.16529846191406'} +error: (1062, "Duplicate entry 'peshkovo-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Peshkovo', u'countrycode': u'ru', u'city_id': u'-2981016', u'longitude': u'37.38669967651367', u'nr_hotels': u'1', u'latitude': u'55.13059997558594'} +error: (1062, "Duplicate entry 'peshkovo-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0435\u0448\u043a\u043e\u0432\u043e', u'countrycode': u'ru', u'city_id': u'-2981016', u'longitude': u'37.38669967651367', u'nr_hotels': u'1', u'latitude': u'55.13059997558594'} +error: (1062, "Duplicate entry 'altoona-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Altoona', u'countrycode': u'us', u'city_id': u'20105430', u'longitude': u'-78.3949966430664', u'nr_hotels': u'8', u'latitude': u'40.51860046386719'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20105760', u'longitude': u'-78.50420379638672', u'nr_hotels': u'7', u'latitude': u'40.01860046386719'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20105760', u'longitude': u'-78.50420379638672', u'nr_hotels': u'7', u'latitude': u'40.01860046386719'} +error: (1062, "Duplicate entry 'bethlehem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bethlehem', u'countrycode': u'us', u'city_id': u'20105898', u'longitude': u'-75.37079620361328', u'nr_hotels': u'16', u'latitude': u'40.62580108642578'} +error: (1062, "Duplicate entry 'blairsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Blairsville', u'countrycode': u'us', u'city_id': u'20106002', u'longitude': u'-79.26110076904297', u'nr_hotels': u'1', u'latitude': u'40.43109893798828'} +error: (1062, "Duplicate entry 'blairsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Blairsville', u'countrycode': u'us', u'city_id': u'20106002', u'longitude': u'-79.26110076904297', u'nr_hotels': u'1', u'latitude': u'40.43109893798828'} +error: (1062, "Duplicate entry 'brookville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookville', u'countrycode': u'us', u'city_id': u'20106268', u'longitude': u'-79.08329772949219', u'nr_hotels': u'2', u'latitude': u'41.16109848022461'} +error: (1062, "Duplicate entry 'brookville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brookville', u'countrycode': u'us', u'city_id': u'20106268', u'longitude': u'-79.08329772949219', u'nr_hotels': u'2', u'latitude': u'41.16109848022461'} +error: (1062, "Duplicate entry 'butler-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Butler', u'countrycode': u'us', u'city_id': u'20106398', u'longitude': u'-79.89559936523438', u'nr_hotels': u'3', u'latitude': u'40.86109924316406'} +error: (1062, "Duplicate entry 'butler-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Butler', u'countrycode': u'us', u'city_id': u'20106398', u'longitude': u'-79.89559936523438', u'nr_hotels': u'3', u'latitude': u'40.86109924316406'} +error: (1062, "Duplicate entry 'carbondale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carbondale', u'countrycode': u'us', u'city_id': u'20106488', u'longitude': u'-75.502197265625', u'nr_hotels': u'1', u'latitude': u'41.57360076904297'} +error: (1062, "Duplicate entry 'carbondale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carbondale', u'countrycode': u'us', u'city_id': u'20106488', u'longitude': u'-75.502197265625', u'nr_hotels': u'1', u'latitude': u'41.57360076904297'} +error: (1062, "Duplicate entry 'carlisle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carlisle', u'countrycode': u'us', u'city_id': u'20106494', u'longitude': u'-77.18920135498047', u'nr_hotels': u'18', u'latitude': u'40.20140075683594'} +error: (1062, "Duplicate entry 'carlisle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carlisle', u'countrycode': u'us', u'city_id': u'20106494', u'longitude': u'-77.18920135498047', u'nr_hotels': u'18', u'latitude': u'40.20140075683594'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20106699', u'longitude': u'-75.3561019897461', u'nr_hotels': u'1', u'latitude': u'39.84939956665039'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20106699', u'longitude': u'-75.3561019897461', u'nr_hotels': u'1', u'latitude': u'39.84939956665039'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20106829', u'longitude': u'-80.2947006225586', u'nr_hotels': u'1', u'latitude': u'40.48939895629883'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20106829', u'longitude': u'-80.2947006225586', u'nr_hotels': u'1', u'latitude': u'40.48939895629883'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20106944', u'longitude': u'-76.50469970703125', u'nr_hotels': u'1', u'latitude': u'40.033599853515625'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20106944', u'longitude': u'-76.50469970703125', u'nr_hotels': u'1', u'latitude': u'40.033599853515625'} +error: (1062, "Duplicate entry 'cresco-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cresco', u'countrycode': u'us', u'city_id': u'20107142', u'longitude': u'-75.28079986572266', u'nr_hotels': u'1', u'latitude': u'41.153900146484375'} +error: (1062, "Duplicate entry 'cresco-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cresco', u'countrycode': u'us', u'city_id': u'20107142', u'longitude': u'-75.28079986572266', u'nr_hotels': u'1', u'latitude': u'41.153900146484375'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20107259', u'longitude': u'-76.61309814453125', u'nr_hotels': u'5', u'latitude': u'40.96329879760742'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20107259', u'longitude': u'-76.61309814453125', u'nr_hotels': u'5', u'latitude': u'40.96329879760742'} +error: (1062, "Duplicate entry 'denver-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Denver', u'countrycode': u'us', u'city_id': u'20107346', u'longitude': u'-76.13749694824219', u'nr_hotels': u'4', u'latitude': u'40.23310089111328'} +error: (1062, "Duplicate entry 'denver-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0435\u043d\u0432\u0435\u0440', u'countrycode': u'us', u'city_id': u'20107346', u'longitude': u'-76.13749694824219', u'nr_hotels': u'4', u'latitude': u'40.23310089111328'} +error: (1062, "Duplicate entry 'elizabethtown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elizabethtown', u'countrycode': u'us', u'city_id': u'20107801', u'longitude': u'-76.60310363769531', u'nr_hotels': u'2', u'latitude': u'40.152801513671875'} +error: (1062, "Duplicate entry 'elizabethtown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elizabethtown', u'countrycode': u'us', u'city_id': u'20107801', u'longitude': u'-76.60310363769531', u'nr_hotels': u'2', u'latitude': u'40.152801513671875'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20107978', u'longitude': u'-77.368896484375', u'nr_hotels': u'1', u'latitude': u'39.787200927734375'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20107978', u'longitude': u'-77.368896484375', u'nr_hotels': u'1', u'latitude': u'39.787200927734375'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20108043', u'longitude': u'-79.56580352783203', u'nr_hotels': u'1', u'latitude': u'39.80720138549805'} +error: (1062, "Duplicate entry 'farmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Farmington', u'countrycode': u'us', u'city_id': u'20108043', u'longitude': u'-79.56580352783203', u'nr_hotels': u'1', u'latitude': u'39.80720138549805'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20108066', u'longitude': u'-77.55030059814453', u'nr_hotels': u'1', u'latitude': u'39.91109848022461'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20108066', u'longitude': u'-77.55030059814453', u'nr_hotels': u'1', u'latitude': u'39.91109848022461'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20108309', u'longitude': u'-79.83170318603516', u'nr_hotels': u'2', u'latitude': u'41.39780044555664'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20108309', u'longitude': u'-79.83170318603516', u'nr_hotels': u'2', u'latitude': u'41.39780044555664'} +error: (1062, "Duplicate entry 'nikola-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nikola', u'countrycode': u'ru', u'city_id': u'-2964859', u'longitude': u'104.82499694824219', u'nr_hotels': u'3', u'latitude': u'51.89500045776367'} +error: (1062, "Duplicate entry 'nikola-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u0438\u043a\u043e\u043b\u0430', u'countrycode': u'ru', u'city_id': u'-2964859', u'longitude': u'104.82499694824219', u'nr_hotels': u'3', u'latitude': u'51.89500045776367'} +error: (1062, "Duplicate entry 'greencastle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greencastle', u'countrycode': u'us', u'city_id': u'20108753', u'longitude': u'-77.72810363769531', u'nr_hotels': u'1', u'latitude': u'39.79029846191406'} +error: (1062, "Duplicate entry 'greencastle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greencastle', u'countrycode': u'us', u'city_id': u'20108753', u'longitude': u'-77.72810363769531', u'nr_hotels': u'1', u'latitude': u'39.79029846191406'} +error: (1062, "Duplicate entry 'greensburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greensburg', u'countrycode': u'us', u'city_id': u'20108768', u'longitude': u'-79.53919982910156', u'nr_hotels': u'4', u'latitude': u'40.30139923095703'} +error: (1062, "Duplicate entry 'greensburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greensburg', u'countrycode': u'us', u'city_id': u'20108768', u'longitude': u'-79.53919982910156', u'nr_hotels': u'4', u'latitude': u'40.30139923095703'} +error: (1062, "Duplicate entry 'grove-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grove City', u'countrycode': u'us', u'city_id': u'20108806', u'longitude': u'-80.08889770507812', u'nr_hotels': u'3', u'latitude': u'41.157798767089844'} +error: (1062, "Duplicate entry 'grove-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grove City', u'countrycode': u'us', u'city_id': u'20108806', u'longitude': u'-80.08889770507812', u'nr_hotels': u'3', u'latitude': u'41.157798767089844'} +error: (1062, "Duplicate entry 'hanover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hanover', u'countrycode': u'us', u'city_id': u'20108898', u'longitude': u'-76.9832992553711', u'nr_hotels': u'6', u'latitude': u'39.80059814453125'} +error: (1062, "Duplicate entry 'hanover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hanover', u'countrycode': u'us', u'city_id': u'20108898', u'longitude': u'-76.9832992553711', u'nr_hotels': u'6', u'latitude': u'39.80059814453125'} +error: (1062, "Duplicate entry 'imperial-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Imperial', u'countrycode': u'us', u'city_id': u'20109409', u'longitude': u'-80.24469757080078', u'nr_hotels': u'3', u'latitude': u'40.44940185546875'} +error: (1062, "Duplicate entry 'imperial-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0418\u043c\u043f\u0435\u0440\u0438\u0430\u043b', u'countrycode': u'us', u'city_id': u'20109409', u'longitude': u'-80.24469757080078', u'nr_hotels': u'3', u'latitude': u'40.44940185546875'} +error: (1062, "Duplicate entry 'irwin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Irwin', u'countrycode': u'us', u'city_id': u'20109470', u'longitude': u'-79.70140075683594', u'nr_hotels': u'2', u'latitude': u'40.32440185546875'} +error: (1062, "Duplicate entry 'irwin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Irwin', u'countrycode': u'us', u'city_id': u'20109470', u'longitude': u'-79.70140075683594', u'nr_hotels': u'2', u'latitude': u'40.32440185546875'} +error: (1062, "Duplicate entry 'johnstown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Johnstown', u'countrycode': u'us', u'city_id': u'20109579', u'longitude': u'-78.92220306396484', u'nr_hotels': u'3', u'latitude': u'40.326698303222656'} +error: (1062, "Duplicate entry 'johnstown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Johnstown', u'countrycode': u'us', u'city_id': u'20109579', u'longitude': u'-78.92220306396484', u'nr_hotels': u'3', u'latitude': u'40.326698303222656'} +error: (1062, "Duplicate entry 'lakeville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lakeville', u'countrycode': u'us', u'city_id': u'20109917', u'longitude': u'-75.27690124511719', u'nr_hotels': u'1', u'latitude': u'41.4380989074707'} +error: (1062, "Duplicate entry 'lakeville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lakeville', u'countrycode': u'us', u'city_id': u'20109917', u'longitude': u'-75.27690124511719', u'nr_hotels': u'1', u'latitude': u'41.4380989074707'} +error: (1062, "Duplicate entry 'lancaster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lancaster', u'countrycode': u'us', u'city_id': u'20109935', u'longitude': u'-76.30580139160156', u'nr_hotels': u'29', u'latitude': u'40.03779983520508'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20109935', u'longitude': u'-76.30580139160156', u'nr_hotels': u'29', u'latitude': u'40.03779983520508'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20110052', u'longitude': u'-76.41169738769531', u'nr_hotels': u'4', u'latitude': u'40.34080123901367'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20110052', u'longitude': u'-76.41169738769531', u'nr_hotels': u'4', u'latitude': u'40.34080123901367'} +error: (1062, "Duplicate entry 'mihajlovka-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0438\u0445\u0430\u0439\u043b\u043e\u0432\u043a\u0430', u'countrycode': u'ru', u'city_id': u'-2957589', u'longitude': u'43.25', u'nr_hotels': u'1', u'latitude': u'50.06669998168945'} +error: (1062, "Duplicate entry 'malvern-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Malvern', u'countrycode': u'us', u'city_id': u'20110454', u'longitude': u'-75.51419830322266', u'nr_hotels': u'8', u'latitude': u'40.03609848022461'} +error: (1062, "Duplicate entry 'malvern-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u043b\u0432\u0435\u0440\u043d', u'countrycode': u'us', u'city_id': u'20110454', u'longitude': u'-75.51419830322266', u'nr_hotels': u'8', u'latitude': u'40.03609848022461'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20110485', u'longitude': u'-77.07779693603516', u'nr_hotels': u'2', u'latitude': u'41.80720138549805'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20110485', u'longitude': u'-77.07779693603516', u'nr_hotels': u'2', u'latitude': u'41.80720138549805'} +error: (1062, "Duplicate entry 'marietta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marietta', u'countrycode': u'us', u'city_id': u'20110538', u'longitude': u'-76.55249786376953', u'nr_hotels': u'1', u'latitude': u'40.05690002441406'} +error: (1062, "Duplicate entry 'marietta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marietta', u'countrycode': u'us', u'city_id': u'20110538', u'longitude': u'-76.55249786376953', u'nr_hotels': u'1', u'latitude': u'40.05690002441406'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20110849', u'longitude': u'-74.80280303955078', u'nr_hotels': u'5', u'latitude': u'41.322200775146484'} +error: (1062, "Duplicate entry 'milford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milford', u'countrycode': u'us', u'city_id': u'20110849', u'longitude': u'-74.80280303955078', u'nr_hotels': u'5', u'latitude': u'41.322200775146484'} +error: (1062, "Duplicate entry 'markovo-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Markovo', u'countrycode': u'ru', u'city_id': u'-2954659', u'longitude': u'39.35580062866211', u'nr_hotels': u'1', u'latitude': u'57.3130989074707'} +error: (1062, "Duplicate entry 'markovo-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Markovo', u'countrycode': u'ru', u'city_id': u'-2954659', u'longitude': u'39.35580062866211', u'nr_hotels': u'1', u'latitude': u'57.3130989074707'} +error: (1062, "Duplicate entry 'monroeville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroeville', u'countrycode': u'us', u'city_id': u'20110981', u'longitude': u'-79.78829956054688', u'nr_hotels': u'10', u'latitude': u'40.42110061645508'} +error: (1062, "Duplicate entry 'monroeville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroeville', u'countrycode': u'us', u'city_id': u'20110981', u'longitude': u'-79.78829956054688', u'nr_hotels': u'10', u'latitude': u'40.42110061645508'} +error: (1062, "Duplicate entry 'morrisville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morrisville', u'countrycode': u'us', u'city_id': u'20111043', u'longitude': u'-74.78829956054688', u'nr_hotels': u'1', u'latitude': u'40.21139907836914'} +error: (1062, "Duplicate entry 'morrisville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Morrisville', u'countrycode': u'us', u'city_id': u'20111043', u'longitude': u'-74.78829956054688', u'nr_hotels': u'1', u'latitude': u'40.21139907836914'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20111125', u'longitude': u'-79.54139709472656', u'nr_hotels': u'2', u'latitude': u'40.14889907836914'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20111125', u'longitude': u'-79.54139709472656', u'nr_hotels': u'2', u'latitude': u'40.14889907836914'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20111132', u'longitude': u'-76.33689880371094', u'nr_hotels': u'1', u'latitude': u'40.710601806640625'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20111132', u'longitude': u'-76.33689880371094', u'nr_hotels': u'1', u'latitude': u'40.710601806640625'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20111325', u'longitude': u'-80.34719848632812', u'nr_hotels': u'3', u'latitude': u'41.00360107421875'} +error: (1062, "Duplicate entry 'new-castle-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New Castle', u'countrycode': u'us', u'city_id': u'20111325', u'longitude': u'-80.34719848632812', u'nr_hotels': u'3', u'latitude': u'41.00360107421875'} +error: (1062, "Duplicate entry 'north-east-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'North East', u'countrycode': u'us', u'city_id': u'20111503', u'longitude': u'-79.83439636230469', u'nr_hotels': u'2', u'latitude': u'42.215599060058594'} +error: (1062, "Duplicate entry 'north-east-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'North East', u'countrycode': u'us', u'city_id': u'20111503', u'longitude': u'-79.83439636230469', u'nr_hotels': u'2', u'latitude': u'42.215599060058594'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20111602', u'longitude': u'-80.18579864501953', u'nr_hotels': u'1', u'latitude': u'40.398101806640625'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20111602', u'longitude': u'-80.18579864501953', u'nr_hotels': u'1', u'latitude': u'40.398101806640625'} +error: (1062, "Duplicate entry 'palmyra-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Palmyra', u'countrycode': u'us', u'city_id': u'20111804', u'longitude': u'-76.59359741210938', u'nr_hotels': u'5', u'latitude': u'40.30889892578125'} +error: (1062, "Duplicate entry 'philadelphia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Philadelphia', u'countrycode': u'us', u'city_id': u'20111994', u'longitude': u'-75.16419982910156', u'nr_hotels': u'67', u'latitude': u'39.95220184326172'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0438\u0442\u0442\u0441\u0431\u0443\u0440\u0433', u'countrycode': u'us', u'city_id': u'20112087', u'longitude': u'-79.99610137939453', u'nr_hotels': u'40', u'latitude': u'40.44060134887695'} +error: (1062, "Duplicate entry 'saint-marys-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Marys', u'countrycode': u'us', u'city_id': u'20112852', u'longitude': u'-78.56109619140625', u'nr_hotels': u'1', u'latitude': u'41.427799224853516'} +error: (1062, "Duplicate entry 'saint-marys-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Marys', u'countrycode': u'us', u'city_id': u'20112852', u'longitude': u'-78.56109619140625', u'nr_hotels': u'1', u'latitude': u'41.427799224853516'} +error: (1062, "Duplicate entry 'scranton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Scranton', u'countrycode': u'us', u'city_id': u'20112993', u'longitude': u'-75.66280364990234', u'nr_hotels': u'8', u'latitude': u'41.40890121459961'} +error: (1062, "Duplicate entry 'scranton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Scranton', u'countrycode': u'us', u'city_id': u'20112993', u'longitude': u'-75.66280364990234', u'nr_hotels': u'8', u'latitude': u'41.40890121459961'} +error: (1062, "Duplicate entry 'shrewsbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shrewsbury', u'countrycode': u'us', u'city_id': u'20113183', u'longitude': u'-76.68000030517578', u'nr_hotels': u'1', u'latitude': u'39.76860046386719'} +error: (1062, "Duplicate entry 'shrewsbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shrewsbury', u'countrycode': u'us', u'city_id': u'20113183', u'longitude': u'-76.68000030517578', u'nr_hotels': u'1', u'latitude': u'39.76860046386719'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Somerset', u'countrycode': u'us', u'city_id': u'20113331', u'longitude': u'-79.07830047607422', u'nr_hotels': u'11', u'latitude': u'40.00830078125'} +error: (1062, "Duplicate entry 'somerset-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Somerset', u'countrycode': u'us', u'city_id': u'20113331', u'longitude': u'-79.07830047607422', u'nr_hotels': u'11', u'latitude': u'40.00830078125'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20113459', u'longitude': u'-75.32060241699219', u'nr_hotels': u'3', u'latitude': u'39.930599212646484'} +error: (1062, "Duplicate entry 'springfild-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043f\u0440\u0438\u043d\u0433\u0444\u0438\u043b\u0434', u'countrycode': u'us', u'city_id': u'20113459', u'longitude': u'-75.32060241699219', u'nr_hotels': u'3', u'latitude': u'39.930599212646484'} +error: (1062, "Duplicate entry 'tannersville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tannersville', u'countrycode': u'us', u'city_id': u'20113811', u'longitude': u'-75.30609893798828', u'nr_hotels': u'1', u'latitude': u'41.040000915527344'} +error: (1062, "Duplicate entry 'tannersville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tannersville', u'countrycode': u'us', u'city_id': u'20113811', u'longitude': u'-75.30609893798828', u'nr_hotels': u'1', u'latitude': u'41.040000915527344'} +error: (1062, "Duplicate entry 'uniontown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Uniontown', u'countrycode': u'us', u'city_id': u'20114091', u'longitude': u'-79.7166976928711', u'nr_hotels': u'2', u'latitude': u'39.900001525878906'} +error: (1062, "Duplicate entry 'uniontown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Uniontown', u'countrycode': u'us', u'city_id': u'20114091', u'longitude': u'-79.7166976928711', u'nr_hotels': u'2', u'latitude': u'39.900001525878906'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20114340', u'longitude': u'-79.14530181884766', u'nr_hotels': u'1', u'latitude': u'41.84389877319336'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20114340', u'longitude': u'-79.14530181884766', u'nr_hotels': u'1', u'latitude': u'41.84389877319336'} +error: (1062, "Duplicate entry 'warrington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warrington', u'countrycode': u'us', u'city_id': u'20114346', u'longitude': u'-75.1343994140625', u'nr_hotels': u'2', u'latitude': u'40.24919891357422'} +error: (1062, "Duplicate entry 'warrington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warrington', u'countrycode': u'us', u'city_id': u'20114346', u'longitude': u'-75.1343994140625', u'nr_hotels': u'2', u'latitude': u'40.24919891357422'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20114357', u'longitude': u'-80.24639892578125', u'nr_hotels': u'12', u'latitude': u'40.17390060424805'} +error: (1062, "Duplicate entry 'vashington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0430\u0448\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20114357', u'longitude': u'-80.24639892578125', u'nr_hotels': u'12', u'latitude': u'40.17390060424805'} +error: (1062, "Duplicate entry 'wayne-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wayne', u'countrycode': u'us', u'city_id': u'20114393', u'longitude': u'-75.38809967041016', u'nr_hotels': u'3', u'latitude': u'40.04389953613281'} +error: (1062, "Duplicate entry 'uejn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0423\u044d\u0439\u043d', u'countrycode': u'us', u'city_id': u'20114393', u'longitude': u'-75.38809967041016', u'nr_hotels': u'3', u'latitude': u'40.04389953613281'} +error: (1062, "Duplicate entry 'williamsport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamsport', u'countrycode': u'us', u'city_id': u'20114724', u'longitude': u'-77.00140380859375', u'nr_hotels': u'13', u'latitude': u'41.2411003112793'} +error: (1062, "Duplicate entry 'krasnoye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Krasnoye', u'countrycode': u'ru', u'city_id': u'-2936773', u'longitude': u'39.099998474121094', u'nr_hotels': u'1', u'latitude': u'58.03329849243164'} +error: (1062, "Duplicate entry 'krasnoye-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Krasnoye', u'countrycode': u'ru', u'city_id': u'-2936773', u'longitude': u'39.099998474121094', u'nr_hotels': u'1', u'latitude': u'58.03329849243164'} +error: (1062, "Duplicate entry 'york-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'York', u'countrycode': u'us', u'city_id': u'20114931', u'longitude': u'-76.72810363769531', u'nr_hotels': u'19', u'latitude': u'39.962501525878906'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20115016', u'longitude': u'-71.2667007446289', u'nr_hotels': u'3', u'latitude': u'41.67689895629883'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20115016', u'longitude': u'-71.2667007446289', u'nr_hotels': u'3', u'latitude': u'41.67689895629883'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20115137', u'longitude': u'-71.3677978515625', u'nr_hotels': u'1', u'latitude': u'41.49689865112305'} +error: (1062, "Duplicate entry 'jamestown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jamestown', u'countrycode': u'us', u'city_id': u'20115137', u'longitude': u'-71.3677978515625', u'nr_hotels': u'1', u'latitude': u'41.49689865112305'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20115180', u'longitude': u'-71.29190063476562', u'nr_hotels': u'19', u'latitude': u'41.54560089111328'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20115180', u'longitude': u'-71.29190063476562', u'nr_hotels': u'19', u'latitude': u'41.54560089111328'} +error: (1062, "Duplicate entry 'smithfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smithfield', u'countrycode': u'us', u'city_id': u'20115284', u'longitude': u'-71.55000305175781', u'nr_hotels': u'3', u'latitude': u'41.92190170288086'} +error: (1062, "Duplicate entry 'smithfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smithfield', u'countrycode': u'us', u'city_id': u'20115284', u'longitude': u'-71.55000305175781', u'nr_hotels': u'3', u'latitude': u'41.92190170288086'} +error: (1062, "Duplicate entry 'spring-lake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Spring Lake', u'countrycode': u'us', u'city_id': u'20115296', u'longitude': u'-71.57640075683594', u'nr_hotels': u'1', u'latitude': u'41.6796989440918'} +error: (1062, "Duplicate entry 'spring-lake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Spring Lake', u'countrycode': u'us', u'city_id': u'20115296', u'longitude': u'-71.57640075683594', u'nr_hotels': u'1', u'latitude': u'41.6796989440918'} +error: (1062, "Duplicate entry 'warwick-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warwick', u'countrycode': u'us', u'city_id': u'20115318', u'longitude': u'-71.41670227050781', u'nr_hotels': u'15', u'latitude': u'41.70000076293945'} +error: (1062, "Duplicate entry 'wyoming-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wyoming', u'countrycode': u'us', u'city_id': u'20115344', u'longitude': u'-71.70189666748047', u'nr_hotels': u'1', u'latitude': u'41.51530075073242'} +error: (1062, "Duplicate entry 'wyoming-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wyoming', u'countrycode': u'us', u'city_id': u'20115344', u'longitude': u'-71.70189666748047', u'nr_hotels': u'1', u'latitude': u'41.51530075073242'} +error: (1062, "Duplicate entry 'anderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Anderson', u'countrycode': u'us', u'city_id': u'20115372', u'longitude': u'-82.65029907226562', u'nr_hotels': u'9', u'latitude': u'34.503299713134766'} +error: (1062, "Duplicate entry 'anderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Anderson', u'countrycode': u'us', u'city_id': u'20115372', u'longitude': u'-82.65029907226562', u'nr_hotels': u'9', u'latitude': u'34.503299713134766'} +error: (1062, "Duplicate entry 'bluffton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bluffton', u'countrycode': u'us', u'city_id': u'20115632', u'longitude': u'-80.86060333251953', u'nr_hotels': u'6', u'latitude': u'32.236900329589844'} +error: (1062, "Duplicate entry 'bluffton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bluffton', u'countrycode': u'us', u'city_id': u'20115632', u'longitude': u'-80.86060333251953', u'nr_hotels': u'6', u'latitude': u'32.236900329589844'} +error: (1062, "Duplicate entry 'charleston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Charleston', u'countrycode': u'us', u'city_id': u'20115955', u'longitude': u'-79.9358139038086', u'nr_hotels': u'55', u'latitude': u'32.78046417236328'} +error: (1062, "Duplicate entry 'charl-ston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0427\u0430\u0440\u043b\u044c\u0441\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20115955', u'longitude': u'-79.9358139038086', u'nr_hotels': u'55', u'latitude': u'32.78046417236328'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20116041', u'longitude': u'-81.88079833984375', u'nr_hotels': u'4', u'latitude': u'34.47249984741211'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20116041', u'longitude': u'-81.88079833984375', u'nr_hotels': u'4', u'latitude': u'34.47249984741211'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20116092', u'longitude': u'-81.03500366210938', u'nr_hotels': u'61', u'latitude': u'34.0005989074707'} +error: (1062, "Duplicate entry 'conway-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Conway', u'countrycode': u'us', u'city_id': u'20116103', u'longitude': u'-79.04810333251953', u'nr_hotels': u'4', u'latitude': u'33.83580017089844'} +error: (1062, "Duplicate entry 'conway-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Conway', u'countrycode': u'us', u'city_id': u'20116103', u'longitude': u'-79.04810333251953', u'nr_hotels': u'4', u'latitude': u'33.83580017089844'} +error: (1062, "Duplicate entry 'deerfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Deerfield', u'countrycode': u'us', u'city_id': u'20116242', u'longitude': u'-82.27059936523438', u'nr_hotels': u'0', u'latitude': u'34.87080001831055'} +error: (1062, "Duplicate entry 'deerfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Deerfield', u'countrycode': u'us', u'city_id': u'20116242', u'longitude': u'-82.27059936523438', u'nr_hotels': u'0', u'latitude': u'34.87080001831055'} +error: (1062, "Duplicate entry 'dillon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dillon', u'countrycode': u'us', u'city_id': u'20116272', u'longitude': u'-79.37139892578125', u'nr_hotels': u'5', u'latitude': u'34.41640090942383'} +error: (1062, "Duplicate entry 'dillon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dillon', u'countrycode': u'us', u'city_id': u'20116272', u'longitude': u'-79.37139892578125', u'nr_hotels': u'5', u'latitude': u'34.41640090942383'} +error: (1062, "Duplicate entry 'duncan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Duncan', u'countrycode': u'us', u'city_id': u'20116333', u'longitude': u'-82.14530181884766', u'nr_hotels': u'5', u'latitude': u'34.937801361083984'} +error: (1062, "Duplicate entry 'duncan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Duncan', u'countrycode': u'us', u'city_id': u'20116333', u'longitude': u'-82.14530181884766', u'nr_hotels': u'5', u'latitude': u'34.937801361083984'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20116532', u'longitude': u'-79.76280212402344', u'nr_hotels': u'22', u'latitude': u'34.1953010559082'} +error: (1062, "Duplicate entry 'florence-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Florence', u'countrycode': u'us', u'city_id': u'20116532', u'longitude': u'-79.76280212402344', u'nr_hotels': u'22', u'latitude': u'34.1953010559082'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20116667', u'longitude': u'-79.2947006225586', u'nr_hotels': u'3', u'latitude': u'33.37670135498047'} +error: (1062, "Duplicate entry 'dzhordzhtaun-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u043e\u0440\u0434\u0436\u0442\u0430\u0443\u043d', u'countrycode': u'us', u'city_id': u'20116667', u'longitude': u'-79.2947006225586', u'nr_hotels': u'3', u'latitude': u'33.37670135498047'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20116782', u'longitude': u'-82.39420318603516', u'nr_hotels': u'38', u'latitude': u'34.852500915527344'} +error: (1062, "Duplicate entry 'greenwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenwood', u'countrycode': u'us', u'city_id': u'20116785', u'longitude': u'-82.16190338134766', u'nr_hotels': u'7', u'latitude': u'34.1953010559082'} +error: (1062, "Duplicate entry 'lake-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lake City', u'countrycode': u'us', u'city_id': u'20117235', u'longitude': u'-79.75559997558594', u'nr_hotels': u'2', u'latitude': u'33.87080001831055'} +error: (1062, "Duplicate entry 'lake-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lake City', u'countrycode': u'us', u'city_id': u'20117235', u'longitude': u'-79.75559997558594', u'nr_hotels': u'2', u'latitude': u'33.87080001831055'} +error: (1062, "Duplicate entry 'lancaster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lancaster', u'countrycode': u'us', u'city_id': u'20117283', u'longitude': u'-80.77110290527344', u'nr_hotels': u'2', u'latitude': u'34.720298767089844'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20117283', u'longitude': u'-80.77110290527344', u'nr_hotels': u'2', u'latitude': u'34.720298767089844'} +error: (1062, "Duplicate entry 'laurens-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Laurens', u'countrycode': u'us', u'city_id': u'20117315', u'longitude': u'-82.01439666748047', u'nr_hotels': u'2', u'latitude': u'34.4989013671875'} +error: (1062, "Duplicate entry 'laurens-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Laurens', u'countrycode': u'us', u'city_id': u'20117315', u'longitude': u'-82.01439666748047', u'nr_hotels': u'2', u'latitude': u'34.4989013671875'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20117354', u'longitude': u'-81.23639678955078', u'nr_hotels': u'6', u'latitude': u'33.98139953613281'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20117354', u'longitude': u'-81.23639678955078', u'nr_hotels': u'6', u'latitude': u'33.98139953613281'} +error: (1062, "Duplicate entry 'little-river-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Little River', u'countrycode': u'us', u'city_id': u'20117384', u'longitude': u'-78.6144027709961', u'nr_hotels': u'2', u'latitude': u'33.87310028076172'} +error: (1062, "Duplicate entry 'little-river-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Little River', u'countrycode': u'us', u'city_id': u'20117384', u'longitude': u'-78.6144027709961', u'nr_hotels': u'2', u'latitude': u'33.87310028076172'} +error: (1062, "Duplicate entry 'lynwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lynwood', u'countrycode': u'us', u'city_id': u'20117459', u'longitude': u'-81.89309692382812', u'nr_hotels': u'1', u'latitude': u'35.025001525878906'} +error: (1062, "Duplicate entry 'lynwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lynwood', u'countrycode': u'us', u'city_id': u'20117459', u'longitude': u'-81.89309692382812', u'nr_hotels': u'1', u'latitude': u'35.025001525878906'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20117684', u'longitude': u'-79.86280059814453', u'nr_hotels': u'5', u'latitude': u'32.79389953613281'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20117684', u'longitude': u'-79.86280059814453', u'nr_hotels': u'5', u'latitude': u'32.79389953613281'} +error: (1062, "Duplicate entry 'newberry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newberry', u'countrycode': u'us', u'city_id': u'20117749', u'longitude': u'-81.618896484375', u'nr_hotels': u'3', u'latitude': u'34.27439880371094'} +error: (1062, "Duplicate entry 'newberry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Newberry', u'countrycode': u'us', u'city_id': u'20117749', u'longitude': u'-81.618896484375', u'nr_hotels': u'3', u'latitude': u'34.27439880371094'} +error: (1062, "Duplicate entry 'northlake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Northlake', u'countrycode': u'us', u'city_id': u'20117801', u'longitude': u'-82.68419647216797', u'nr_hotels': u'5', u'latitude': u'34.56610107421875'} +error: (1062, "Duplicate entry 'northlake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Northlake', u'countrycode': u'us', u'city_id': u'20117801', u'longitude': u'-82.68419647216797', u'nr_hotels': u'5', u'latitude': u'34.56610107421875'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20117837', u'longitude': u'-79.88719940185547', u'nr_hotels': u'0', u'latitude': u'34.17359924316406'} +error: (1062, "Duplicate entry 'oakdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oakdale', u'countrycode': u'us', u'city_id': u'20117837', u'longitude': u'-79.88719940185547', u'nr_hotels': u'0', u'latitude': u'34.17359924316406'} +error: (1062, "Duplicate entry 'orangeburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orangeburg', u'countrycode': u'us', u'city_id': u'20117903', u'longitude': u'-80.85579681396484', u'nr_hotels': u'14', u'latitude': u'33.49169921875'} +error: (1062, "Duplicate entry 'orchard-park-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orchard Park', u'countrycode': u'us', u'city_id': u'20117906', u'longitude': u'-82.32360076904297', u'nr_hotels': u'1', u'latitude': u'34.85419845581055'} +error: (1062, "Duplicate entry 'orchard-park-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orchard Park', u'countrycode': u'us', u'city_id': u'20117906', u'longitude': u'-82.32360076904297', u'nr_hotels': u'1', u'latitude': u'34.85419845581055'} +error: (1062, "Duplicate entry 'ridgeland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ridgeland', u'countrycode': u'us', u'city_id': u'20118318', u'longitude': u'-80.98059844970703', u'nr_hotels': u'3', u'latitude': u'32.48059844970703'} +error: (1062, "Duplicate entry 'ridgeland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ridgeland', u'countrycode': u'us', u'city_id': u'20118318', u'longitude': u'-80.98059844970703', u'nr_hotels': u'3', u'latitude': u'32.48059844970703'} +error: (1062, "Duplicate entry 'rock-hill-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rock Hill', u'countrycode': u'us', u'city_id': u'20118370', u'longitude': u'-81.02529907226562', u'nr_hotels': u'14', u'latitude': u'34.92470169067383'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20118441', u'longitude': u'-82.97669982910156', u'nr_hotels': u'1', u'latitude': u'34.88970184326172'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20118441', u'longitude': u'-82.97669982910156', u'nr_hotels': u'1', u'latitude': u'34.88970184326172'} +error: (1062, "Duplicate entry 'santee-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Santee', u'countrycode': u'us', u'city_id': u'20118485', u'longitude': u'-80.48670196533203', u'nr_hotels': u'8', u'latitude': u'33.474998474121094'} +error: (1062, "Duplicate entry 'santee-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Santee', u'countrycode': u'us', u'city_id': u'20118485', u'longitude': u'-80.48670196533203', u'nr_hotels': u'8', u'latitude': u'33.474998474121094'} +error: (1062, "Duplicate entry 'seneca-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seneca', u'countrycode': u'us', u'city_id': u'20118537', u'longitude': u'-82.95330047607422', u'nr_hotels': u'5', u'latitude': u'34.68560028076172'} +error: (1062, "Duplicate entry 'seneca-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seneca', u'countrycode': u'us', u'city_id': u'20118537', u'longitude': u'-82.95330047607422', u'nr_hotels': u'5', u'latitude': u'34.68560028076172'} +error: (1062, "Duplicate entry 'summerville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Summerville', u'countrycode': u'us', u'city_id': u'20118806', u'longitude': u'-80.17579650878906', u'nr_hotels': u'5', u'latitude': u'33.0182991027832'} +error: (1062, "Duplicate entry 'summerville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Summerville', u'countrycode': u'us', u'city_id': u'20118806', u'longitude': u'-80.17579650878906', u'nr_hotels': u'5', u'latitude': u'33.0182991027832'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20118981', u'longitude': u'-81.6239013671875', u'nr_hotels': u'4', u'latitude': u'34.715301513671875'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20118981', u'longitude': u'-81.6239013671875', u'nr_hotels': u'4', u'latitude': u'34.715301513671875'} +error: (1062, "Duplicate entry 'williamston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamston', u'countrycode': u'us', u'city_id': u'20119197', u'longitude': u'-82.47810363769531', u'nr_hotels': u'1', u'latitude': u'34.61830139160156'} +error: (1062, "Duplicate entry 'williamston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamston', u'countrycode': u'us', u'city_id': u'20119197', u'longitude': u'-82.47810363769531', u'nr_hotels': u'1', u'latitude': u'34.61830139160156'} +error: (1062, "Duplicate entry 'york-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'York', u'countrycode': u'us', u'city_id': u'20119301', u'longitude': u'-81.24220275878906', u'nr_hotels': u'1', u'latitude': u'34.99420166015625'} +error: (1062, "Duplicate entry 'york-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'York', u'countrycode': u'us', u'city_id': u'20119301', u'longitude': u'-81.24220275878906', u'nr_hotels': u'1', u'latitude': u'34.99420166015625'} +error: (1062, "Duplicate entry 'aberdeen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aberdeen', u'countrycode': u'us', u'city_id': u'20119310', u'longitude': u'-98.48609924316406', u'nr_hotels': u'5', u'latitude': u'45.464698791503906'} +error: (1062, "Duplicate entry 'aberdin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0431\u0435\u0440\u0434\u0438\u043d', u'countrycode': u'us', u'city_id': u'20119310', u'longitude': u'-98.48609924316406', u'nr_hotels': u'5', u'latitude': u'45.464698791503906'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20119337', u'longitude': u'-97.13279724121094', u'nr_hotels': u'1', u'latitude': u'44.36439895629883'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20119337', u'longitude': u'-97.13279724121094', u'nr_hotels': u'1', u'latitude': u'44.36439895629883'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20119402', u'longitude': u'-96.57170104980469', u'nr_hotels': u'2', u'latitude': u'43.59469985961914'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20119402', u'longitude': u'-96.57170104980469', u'nr_hotels': u'2', u'latitude': u'43.59469985961914'} +error: (1062, "Duplicate entry 'brookings-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookings', u'countrycode': u'us', u'city_id': u'20119411', u'longitude': u'-96.79810333251953', u'nr_hotels': u'4', u'latitude': u'44.3114013671875'} +error: (1062, "Duplicate entry 'clear-lake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clear Lake', u'countrycode': u'us', u'city_id': u'20119462', u'longitude': u'-96.68219757080078', u'nr_hotels': u'1', u'latitude': u'44.74580001831055'} +error: (1062, "Duplicate entry 'clear-lake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clear Lake', u'countrycode': u'us', u'city_id': u'20119462', u'longitude': u'-96.68219757080078', u'nr_hotels': u'1', u'latitude': u'44.74580001831055'} +error: (1062, "Duplicate entry 'hot-springs-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hot Springs', u'countrycode': u'us', u'city_id': u'20119680', u'longitude': u'-103.4739990234375', u'nr_hotels': u'7', u'latitude': u'43.43170166015625'} +error: (1062, "Duplicate entry 'hot-springs-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hot Springs', u'countrycode': u'us', u'city_id': u'20119680', u'longitude': u'-103.4739990234375', u'nr_hotels': u'7', u'latitude': u'43.43170166015625'} +error: (1062, "Duplicate entry 'kimball-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kimball', u'countrycode': u'us', u'city_id': u'20119738', u'longitude': u'-98.95809936523438', u'nr_hotels': u'1', u'latitude': u'43.746700286865234'} +error: (1062, "Duplicate entry 'kimball-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kimball', u'countrycode': u'us', u'city_id': u'20119738', u'longitude': u'-98.95809936523438', u'nr_hotels': u'1', u'latitude': u'43.746700286865234'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20119791', u'longitude': u'-97.11360168457031', u'nr_hotels': u'1', u'latitude': u'44.006099700927734'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20119791', u'longitude': u'-97.11360168457031', u'nr_hotels': u'1', u'latitude': u'44.006099700927734'} +error: (1062, "Duplicate entry 'gremyachinsk-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gremyachinsk', u'countrycode': u'ru', u'city_id': u'-2912091', u'longitude': u'107.94999694824219', u'nr_hotels': u'1', u'latitude': u'52.79999923706055'} +error: (1062, "Duplicate entry 'gremyachinsk-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0413\u0440\u0435\u043c\u044f\u0447\u0438\u043d\u0441\u043a', u'countrycode': u'ru', u'city_id': u'-2912091', u'longitude': u'107.94999694824219', u'nr_hotels': u'1', u'latitude': u'52.79999923706055'} +error: (1062, "Duplicate entry 'gorodets-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gorodets', u'countrycode': u'ru', u'city_id': u'-2911155', u'longitude': u'43.474998474121094', u'nr_hotels': u'4', u'latitude': u'56.65140151977539'} +error: (1062, "Duplicate entry 'gorodets-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0413\u043e\u0440\u043e\u0434\u0435\u0446', u'countrycode': u'ru', u'city_id': u'-2911155', u'longitude': u'43.474998474121094', u'nr_hotels': u'4', u'latitude': u'56.65140151977539'} +error: (1062, "Duplicate entry 'sturgis-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sturgis', u'countrycode': u'us', u'city_id': u'20120097', u'longitude': u'-103.50900268554688', u'nr_hotels': u'2', u'latitude': u'44.409698486328125'} +error: (1062, "Duplicate entry 'sturgis-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sturgis', u'countrycode': u'us', u'city_id': u'20120097', u'longitude': u'-103.50900268554688', u'nr_hotels': u'2', u'latitude': u'44.409698486328125'} +error: (1062, "Duplicate entry 'watertown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Watertown', u'countrycode': u'us', u'city_id': u'20120181', u'longitude': u'-97.11470031738281', u'nr_hotels': u'7', u'latitude': u'44.89939880371094'} +error: (1062, "Duplicate entry 'watertown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Watertown', u'countrycode': u'us', u'city_id': u'20120181', u'longitude': u'-97.11470031738281', u'nr_hotels': u'7', u'latitude': u'44.89939880371094'} +error: (1062, "Duplicate entry 'antioch-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Antioch', u'countrycode': u'us', u'city_id': u'20120325', u'longitude': u'-86.67220306396484', u'nr_hotels': u'6', u'latitude': u'36.060001373291016'} +error: (1062, "Duplicate entry 'antioch-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Antioch', u'countrycode': u'us', u'city_id': u'20120325', u'longitude': u'-86.67220306396484', u'nr_hotels': u'6', u'latitude': u'36.060001373291016'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20120379', u'longitude': u'-84.59310150146484', u'nr_hotels': u'6', u'latitude': u'35.44279861450195'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20120379', u'longitude': u'-84.59310150146484', u'nr_hotels': u'6', u'latitude': u'35.44279861450195'} +error: (1062, "Duplicate entry 'atoka-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Atoka', u'countrycode': u'us', u'city_id': u'20120381', u'longitude': u'-89.7780990600586', u'nr_hotels': u'1', u'latitude': u'35.44110107421875'} +error: (1062, "Duplicate entry 'atoka-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Atoka', u'countrycode': u'us', u'city_id': u'20120381', u'longitude': u'-89.7780990600586', u'nr_hotels': u'1', u'latitude': u'35.44110107421875'} +error: (1062, "Duplicate entry 'bartlett-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bartlett', u'countrycode': u'us', u'city_id': u'20120454', u'longitude': u'-89.8739013671875', u'nr_hotels': u'3', u'latitude': u'35.20439910888672'} +error: (1062, "Duplicate entry 'bartlett-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bartlett', u'countrycode': u'us', u'city_id': u'20120454', u'longitude': u'-89.8739013671875', u'nr_hotels': u'3', u'latitude': u'35.20439910888672'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20120548', u'longitude': u'-86.93939971923828', u'nr_hotels': u'1', u'latitude': u'36.064701080322266'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20120548', u'longitude': u'-86.93939971923828', u'nr_hotels': u'1', u'latitude': u'36.064701080322266'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20120575', u'longitude': u'-84.65360260009766', u'nr_hotels': u'1', u'latitude': u'35.174198150634766'} +error: (1062, "Duplicate entry 'benton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Benton', u'countrycode': u'us', u'city_id': u'20120575', u'longitude': u'-84.65360260009766', u'nr_hotels': u'1', u'latitude': u'35.174198150634766'} +error: (1062, "Duplicate entry 'bolivar-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bolivar', u'countrycode': u'us', u'city_id': u'20120741', u'longitude': u'-88.98780059814453', u'nr_hotels': u'1', u'latitude': u'35.256099700927734'} +error: (1062, "Duplicate entry 'bolivar-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bolivar', u'countrycode': u'us', u'city_id': u'20120741', u'longitude': u'-88.98780059814453', u'nr_hotels': u'1', u'latitude': u'35.256099700927734'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20120808', u'longitude': u'-86.78279876708984', u'nr_hotels': u'14', u'latitude': u'36.03310012817383'} +error: (1062, "Duplicate entry 'brentwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brentwood', u'countrycode': u'us', u'city_id': u'20120808', u'longitude': u'-86.78279876708984', u'nr_hotels': u'14', u'latitude': u'36.03310012817383'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20120831', u'longitude': u'-82.18880462646484', u'nr_hotels': u'2', u'latitude': u'36.592742919921875'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20120831', u'longitude': u'-82.18880462646484', u'nr_hotels': u'2', u'latitude': u'36.592742919921875'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buffalo', u'countrycode': u'us', u'city_id': u'20120907', u'longitude': u'-87.80670166015625', u'nr_hotels': u'1', u'latitude': u'35.88560104370117'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0443\u0444\u0444\u0430\u043b\u043e', u'countrycode': u'us', u'city_id': u'20120907', u'longitude': u'-87.80670166015625', u'nr_hotels': u'1', u'latitude': u'35.88560104370117'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20121139', u'longitude': u'-87.46690368652344', u'nr_hotels': u'1', u'latitude': u'35.778900146484375'} +error: (1062, "Duplicate entry 'centerville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Centerville', u'countrycode': u'us', u'city_id': u'20121139', u'longitude': u'-87.46690368652344', u'nr_hotels': u'1', u'latitude': u'35.778900146484375'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20121262', u'longitude': u'-87.3593978881836', u'nr_hotels': u'18', u'latitude': u'36.529701232910156'} +error: (1062, "Duplicate entry 'cleveland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cleveland', u'countrycode': u'us', u'city_id': u'20121279', u'longitude': u'-84.87670135498047', u'nr_hotels': u'17', u'latitude': u'35.159400939941406'} +error: (1062, "Duplicate entry 'klivlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u043b\u0438\u0432\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20121279', u'longitude': u'-84.87670135498047', u'nr_hotels': u'17', u'latitude': u'35.159400939941406'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20121293', u'longitude': u'-84.13189697265625', u'nr_hotels': u'3', u'latitude': u'36.10329818725586'} +error: (1062, "Duplicate entry 'clinton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clinton', u'countrycode': u'us', u'city_id': u'20121293', u'longitude': u'-84.13189697265625', u'nr_hotels': u'3', u'latitude': u'36.10329818725586'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20121351', u'longitude': u'-87.0353012084961', u'nr_hotels': u'2', u'latitude': u'35.6150016784668'} +error: (1062, "Duplicate entry 'columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbia', u'countrycode': u'us', u'city_id': u'20121351', u'longitude': u'-87.0353012084961', u'nr_hotels': u'2', u'latitude': u'35.6150016784668'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20121436', u'longitude': u'-89.64640045166016', u'nr_hotels': u'2', u'latitude': u'35.56420135498047'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20121436', u'longitude': u'-89.64640045166016', u'nr_hotels': u'2', u'latitude': u'35.56420135498047'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20121579', u'longitude': u'-85.01249694824219', u'nr_hotels': u'3', u'latitude': u'35.493900299072266'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20121579', u'longitude': u'-85.01249694824219', u'nr_hotels': u'3', u'latitude': u'35.493900299072266'} +error: (1062, "Duplicate entry 'elkton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elkton', u'countrycode': u'us', u'city_id': u'20121849', u'longitude': u'-86.88860321044922', u'nr_hotels': u'1', u'latitude': u'35.05220031738281'} +error: (1062, "Duplicate entry 'elkton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elkton', u'countrycode': u'us', u'city_id': u'20121849', u'longitude': u'-86.88860321044922', u'nr_hotels': u'1', u'latitude': u'35.05220031738281'} +error: (1062, "Duplicate entry 'fairview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairview', u'countrycode': u'us', u'city_id': u'20121957', u'longitude': u'-87.12139892578125', u'nr_hotels': u'1', u'latitude': u'35.98189926147461'} +error: (1062, "Duplicate entry 'fairview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairview', u'countrycode': u'us', u'city_id': u'20121957', u'longitude': u'-87.12139892578125', u'nr_hotels': u'1', u'latitude': u'35.98189926147461'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20121999', u'longitude': u'-86.57060241699219', u'nr_hotels': u'3', u'latitude': u'35.15190124511719'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20121999', u'longitude': u'-86.57060241699219', u'nr_hotels': u'3', u'latitude': u'35.15190124511719'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20122126', u'longitude': u'-86.868896484375', u'nr_hotels': u'16', u'latitude': u'35.92499923706055'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u0440\u0430\u043d\u043a\u043b\u0438\u043d', u'countrycode': u'us', u'city_id': u'20122126', u'longitude': u'-86.868896484375', u'nr_hotels': u'16', u'latitude': u'35.92499923706055'} +error: (1062, "Duplicate entry 'donskoye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Donskoye', u'countrycode': u'ru', u'city_id': u'-2903022', u'longitude': u'38.97420120239258', u'nr_hotels': u'1', u'latitude': u'52.62080001831055'} +error: (1062, "Duplicate entry 'donskoye-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Donskoye', u'countrycode': u'ru', u'city_id': u'-2903022', u'longitude': u'38.97420120239258', u'nr_hotels': u'1', u'latitude': u'52.62080001831055'} +error: (1062, "Duplicate entry 'germantown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Germantown', u'countrycode': u'us', u'city_id': u'20122214', u'longitude': u'-89.80999755859375', u'nr_hotels': u'11', u'latitude': u'35.086700439453125'} +error: (1062, "Duplicate entry 'germantown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Germantown', u'countrycode': u'us', u'city_id': u'20122214', u'longitude': u'-89.80999755859375', u'nr_hotels': u'11', u'latitude': u'35.086700439453125'} +error: (1062, "Duplicate entry 'harriman-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Harriman', u'countrycode': u'us', u'city_id': u'20122520', u'longitude': u'-84.55249786376953', u'nr_hotels': u'4', u'latitude': u'35.93389892578125'} +error: (1062, "Duplicate entry 'harriman-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Harriman', u'countrycode': u'us', u'city_id': u'20122520', u'longitude': u'-84.55249786376953', u'nr_hotels': u'4', u'latitude': u'35.93389892578125'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20122580', u'longitude': u'-88.64140319824219', u'nr_hotels': u'1', u'latitude': u'35.43920135498047'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20122580', u'longitude': u'-88.64140319824219', u'nr_hotels': u'1', u'latitude': u'35.43920135498047'} +error: (1062, "Duplicate entry 'hendersonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hendersonville', u'countrycode': u'us', u'city_id': u'20122583', u'longitude': u'-86.62000274658203', u'nr_hotels': u'3', u'latitude': u'36.3046989440918'} +error: (1062, "Duplicate entry 'hendersonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hendersonville', u'countrycode': u'us', u'city_id': u'20122583', u'longitude': u'-86.62000274658203', u'nr_hotels': u'3', u'latitude': u'36.3046989440918'} +error: (1062, "Duplicate entry 'hermitage-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hermitage', u'countrycode': u'us', u'city_id': u'20122598', u'longitude': u'-86.62249755859375', u'nr_hotels': u'6', u'latitude': u'36.19609832763672'} +error: (1062, "Duplicate entry 'hermitage-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hermitage', u'countrycode': u'us', u'city_id': u'20122598', u'longitude': u'-86.62249755859375', u'nr_hotels': u'6', u'latitude': u'36.19609832763672'} +error: (1062, "Duplicate entry 'humboldt-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Humboldt', u'countrycode': u'us', u'city_id': u'20122844', u'longitude': u'-88.91580200195312', u'nr_hotels': u'1', u'latitude': u'35.819698333740234'} +error: (1062, "Duplicate entry 'humboldt-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Humboldt', u'countrycode': u'us', u'city_id': u'20122844', u'longitude': u'-88.91580200195312', u'nr_hotels': u'1', u'latitude': u'35.819698333740234'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20122862', u'longitude': u'-84.4906005859375', u'nr_hotels': u'1', u'latitude': u'36.409698486328125'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20122862', u'longitude': u'-84.4906005859375', u'nr_hotels': u'1', u'latitude': u'36.409698486328125'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20122933', u'longitude': u'-88.81390380859375', u'nr_hotels': u'21', u'latitude': u'35.61439895629883'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20122933', u'longitude': u'-88.81390380859375', u'nr_hotels': u'21', u'latitude': u'35.61439895629883'} +error: (1062, "Duplicate entry 'jefferson-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson City', u'countrycode': u'us', u'city_id': u'20122960', u'longitude': u'-83.49250030517578', u'nr_hotels': u'1', u'latitude': u'36.12220001220703'} +error: (1062, "Duplicate entry 'jefferson-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson City', u'countrycode': u'us', u'city_id': u'20122960', u'longitude': u'-83.49250030517578', u'nr_hotels': u'1', u'latitude': u'36.12220001220703'} +error: (1062, "Duplicate entry 'johnson-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Johnson City', u'countrycode': u'us', u'city_id': u'20122982', u'longitude': u'-82.35359954833984', u'nr_hotels': u'12', u'latitude': u'36.31330108642578'} +error: (1062, "Duplicate entry 'kimball-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kimball', u'countrycode': u'us', u'city_id': u'20123053', u'longitude': u'-85.6718978881836', u'nr_hotels': u'3', u'latitude': u'35.04779815673828'} +error: (1062, "Duplicate entry 'kimball-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kimball', u'countrycode': u'us', u'city_id': u'20123053', u'longitude': u'-85.6718978881836', u'nr_hotels': u'3', u'latitude': u'35.04779815673828'} +error: (1062, "Duplicate entry 'kingston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kingston', u'countrycode': u'us', u'city_id': u'20123073', u'longitude': u'-84.50859832763672', u'nr_hotels': u'4', u'latitude': u'35.88079833984375'} +error: (1062, "Duplicate entry 'kingston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kingston', u'countrycode': u'us', u'city_id': u'20123073', u'longitude': u'-84.50859832763672', u'nr_hotels': u'4', u'latitude': u'35.88079833984375'} +error: (1062, "Duplicate entry 'knoxville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Knoxville', u'countrycode': u'us', u'city_id': u'20123103', u'longitude': u'-83.92649841308594', u'nr_hotels': u'35', u'latitude': u'35.964500427246094'} +error: (1062, "Duplicate entry 'lake-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lake City', u'countrycode': u'us', u'city_id': u'20123122', u'longitude': u'-84.15470123291016', u'nr_hotels': u'1', u'latitude': u'36.21780014038086'} +error: (1062, "Duplicate entry 'lake-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lake City', u'countrycode': u'us', u'city_id': u'20123122', u'longitude': u'-84.15470123291016', u'nr_hotels': u'1', u'latitude': u'36.21780014038086'} +error: (1062, "Duplicate entry 'lawrenceburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lawrenceburg', u'countrycode': u'us', u'city_id': u'20123233', u'longitude': u'-87.33470153808594', u'nr_hotels': u'1', u'latitude': u'35.2421989440918'} +error: (1062, "Duplicate entry 'lawrenceburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lawrenceburg', u'countrycode': u'us', u'city_id': u'20123233', u'longitude': u'-87.33470153808594', u'nr_hotels': u'1', u'latitude': u'35.2421989440918'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20123249', u'longitude': u'-86.29109954833984', u'nr_hotels': u'7', u'latitude': u'36.208099365234375'} +error: (1062, "Duplicate entry 'lebanon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lebanon', u'countrycode': u'us', u'city_id': u'20123249', u'longitude': u'-86.29109954833984', u'nr_hotels': u'7', u'latitude': u'36.208099365234375'} +error: (1062, "Duplicate entry 'lewisburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lewisburg', u'countrycode': u'us', u'city_id': u'20123279', u'longitude': u'-86.78890228271484', u'nr_hotels': u'2', u'latitude': u'35.44919967651367'} +error: (1062, "Duplicate entry 'lewisburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lewisburg', u'countrycode': u'us', u'city_id': u'20123279', u'longitude': u'-86.78890228271484', u'nr_hotels': u'2', u'latitude': u'35.44919967651367'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20123282', u'longitude': u'-88.39330291748047', u'nr_hotels': u'3', u'latitude': u'35.65079879760742'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20123282', u'longitude': u'-88.39330291748047', u'nr_hotels': u'3', u'latitude': u'35.65079879760742'} +error: (1062, "Duplicate entry 'loudon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Loudon', u'countrycode': u'us', u'city_id': u'20123403', u'longitude': u'-84.33390045166016', u'nr_hotels': u'2', u'latitude': u'35.7327995300293'} +error: (1062, "Duplicate entry 'loudon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Loudon', u'countrycode': u'us', u'city_id': u'20123403', u'longitude': u'-84.33390045166016', u'nr_hotels': u'2', u'latitude': u'35.7327995300293'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20123459', u'longitude': u'-86.71389770507812', u'nr_hotels': u'1', u'latitude': u'36.256099700927734'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20123459', u'longitude': u'-86.71389770507812', u'nr_hotels': u'1', u'latitude': u'36.256099700927734'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20123473', u'longitude': u'-86.0886001586914', u'nr_hotels': u'7', u'latitude': u'35.4817008972168'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20123473', u'longitude': u'-86.0886001586914', u'nr_hotels': u'7', u'latitude': u'35.4817008972168'} +error: (1062, "Duplicate entry 'maryville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Maryville', u'countrycode': u'us', u'city_id': u'20123534', u'longitude': u'-83.97059631347656', u'nr_hotels': u'2', u'latitude': u'35.75640106201172'} +error: (1062, "Duplicate entry 'maryville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Maryville', u'countrycode': u'us', u'city_id': u'20123534', u'longitude': u'-83.97059631347656', u'nr_hotels': u'2', u'latitude': u'35.75640106201172'} +error: (1062, "Duplicate entry 'mcminnville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'McMinnville', u'countrycode': u'us', u'city_id': u'20123588', u'longitude': u'-85.7699966430664', u'nr_hotels': u'2', u'latitude': u'35.68330001831055'} +error: (1062, "Duplicate entry 'mcminnville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'McMinnville', u'countrycode': u'us', u'city_id': u'20123588', u'longitude': u'-85.7699966430664', u'nr_hotels': u'2', u'latitude': u'35.68330001831055'} +error: (1062, "Duplicate entry 'milan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Milan', u'countrycode': u'us', u'city_id': u'20123668', u'longitude': u'-88.75890350341797', u'nr_hotels': u'1', u'latitude': u'35.919700622558594'} +error: (1062, "Duplicate entry 'milan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Milan', u'countrycode': u'us', u'city_id': u'20123668', u'longitude': u'-88.75890350341797', u'nr_hotels': u'1', u'latitude': u'35.919700622558594'} +error: (1062, "Duplicate entry 'morristaun-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041c\u043e\u0440\u0440\u0438\u0441\u0442\u0430\u0443\u043d', u'countrycode': u'us', u'city_id': u'20123780', u'longitude': u'-83.29499816894531', u'nr_hotels': u'10', u'latitude': u'36.21390151977539'} +error: (1062, "Duplicate entry 'murfreesboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Murfreesboro', u'countrycode': u'us', u'city_id': u'20123886', u'longitude': u'-86.39029693603516', u'nr_hotels': u'21', u'latitude': u'35.84560012817383'} +error: (1062, "Duplicate entry 'nashville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Nashville', u'countrycode': u'us', u'city_id': u'20123908', u'longitude': u'-86.7844009399414', u'nr_hotels': u'101', u'latitude': u'36.16579818725586'} +error: (1062, "Duplicate entry 'oakland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oakland', u'countrycode': u'us', u'city_id': u'20124125', u'longitude': u'-89.51499938964844', u'nr_hotels': u'0', u'latitude': u'35.22890090942383'} +error: (1062, "Duplicate entry 'oakland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oakland', u'countrycode': u'us', u'city_id': u'20124125', u'longitude': u'-89.51499938964844', u'nr_hotels': u'0', u'latitude': u'35.22890090942383'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20124264', u'longitude': u'-88.32669830322266', u'nr_hotels': u'2', u'latitude': u'36.30189895629883'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20124264', u'longitude': u'-88.32669830322266', u'nr_hotels': u'2', u'latitude': u'36.30189895629883'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20124544', u'longitude': u'-86.51640319824219', u'nr_hotels': u'1', u'latitude': u'36.58169937133789'} +error: (1062, "Duplicate entry 'portlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20124544', u'longitude': u'-86.51640319824219', u'nr_hotels': u'1', u'latitude': u'36.58169937133789'} +error: (1062, "Duplicate entry 'pulaski-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pulaski', u'countrycode': u'us', u'city_id': u'20124595', u'longitude': u'-87.03079986572266', u'nr_hotels': u'1', u'latitude': u'35.19969940185547'} +error: (1062, "Duplicate entry 'pulaski-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pulaski', u'countrycode': u'us', u'city_id': u'20124595', u'longitude': u'-87.03079986572266', u'nr_hotels': u'1', u'latitude': u'35.19969940185547'} +error: (1062, "Duplicate entry 'rockwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rockwood', u'countrycode': u'us', u'city_id': u'20124816', u'longitude': u'-84.68499755859375', u'nr_hotels': u'1', u'latitude': u'35.8656005859375'} +error: (1062, "Duplicate entry 'rockwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rockwood', u'countrycode': u'us', u'city_id': u'20124816', u'longitude': u'-84.68499755859375', u'nr_hotels': u'1', u'latitude': u'35.8656005859375'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20125089', u'longitude': u'-86.46029663085938', u'nr_hotels': u'4', u'latitude': u'35.483299255371094'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'20125089', u'longitude': u'-86.46029663085938', u'nr_hotels': u'4', u'latitude': u'35.483299255371094'} +error: (1062, "Duplicate entry 'smyrna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smyrna', u'countrycode': u'us', u'city_id': u'20125192', u'longitude': u'-86.51860046386719', u'nr_hotels': u'8', u'latitude': u'35.9827995300293'} +error: (1062, "Duplicate entry 'smyrna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smyrna', u'countrycode': u'us', u'city_id': u'20125192', u'longitude': u'-86.51860046386719', u'nr_hotels': u'8', u'latitude': u'35.9827995300293'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20125244', u'longitude': u'-85.46420288085938', u'nr_hotels': u'1', u'latitude': u'35.92580032348633'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20125244', u'longitude': u'-85.46420288085938', u'nr_hotels': u'1', u'latitude': u'35.92580032348633'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20125277', u'longitude': u'-86.88500213623047', u'nr_hotels': u'2', u'latitude': u'36.50920104980469'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20125277', u'longitude': u'-86.88500213623047', u'nr_hotels': u'2', u'latitude': u'36.50920104980469'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20125298', u'longitude': u'-89.40190124511719', u'nr_hotels': u'2', u'latitude': u'35.46220016479492'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20125298', u'longitude': u'-89.40190124511719', u'nr_hotels': u'2', u'latitude': u'35.46220016479492'} +error: (1062, "Duplicate entry 'union-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union City', u'countrycode': u'us', u'city_id': u'20125676', u'longitude': u'-89.05690002441406', u'nr_hotels': u'2', u'latitude': u'36.424198150634766'} +error: (1062, "Duplicate entry 'yunion-siti-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042e\u043d\u0438\u043e\u043d-\u0421\u0438\u0442\u0438', u'countrycode': u'us', u'city_id': u'20125676', u'longitude': u'-89.05690002441406', u'nr_hotels': u'2', u'latitude': u'36.424198150634766'} +error: (1062, "Duplicate entry 'abilene-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Abilene', u'countrycode': u'us', u'city_id': u'20126162', u'longitude': u'-99.73280334472656', u'nr_hotels': u'32', u'latitude': u'32.44860076904297'} +error: (1062, "Duplicate entry 'addison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Addison', u'countrycode': u'us', u'city_id': u'20126181', u'longitude': u'-96.82890319824219', u'nr_hotels': u'17', u'latitude': u'32.961700439453125'} +error: (1062, "Duplicate entry 'addison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Addison', u'countrycode': u'us', u'city_id': u'20126181', u'longitude': u'-96.82890319824219', u'nr_hotels': u'17', u'latitude': u'32.961700439453125'} +error: (1062, "Duplicate entry 'alamo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alamo', u'countrycode': u'us', u'city_id': u'20126207', u'longitude': u'-98.122802734375', u'nr_hotels': u'4', u'latitude': u'26.183300018310547'} +error: (1062, "Duplicate entry 'alamo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alamo', u'countrycode': u'us', u'city_id': u'20126207', u'longitude': u'-98.122802734375', u'nr_hotels': u'4', u'latitude': u'26.183300018310547'} +error: (1062, "Duplicate entry 'alpine-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alpine', u'countrycode': u'us', u'city_id': u'20126251', u'longitude': u'-103.66100311279297', u'nr_hotels': u'10', u'latitude': u'30.358299255371094'} +error: (1062, "Duplicate entry 'alpine-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alpine', u'countrycode': u'us', u'city_id': u'20126251', u'longitude': u'-103.66100311279297', u'nr_hotels': u'10', u'latitude': u'30.358299255371094'} +error: (1062, "Duplicate entry 'andrews-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Andrews', u'countrycode': u'us', u'city_id': u'20126293', u'longitude': u'-102.54499816894531', u'nr_hotels': u'4', u'latitude': u'32.318599700927734'} +error: (1062, "Duplicate entry 'andrews-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Andrews', u'countrycode': u'us', u'city_id': u'20126293', u'longitude': u'-102.54499816894531', u'nr_hotels': u'4', u'latitude': u'32.318599700927734'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20126350', u'longitude': u'-97.10780334472656', u'nr_hotels': u'49', u'latitude': u'32.735599517822266'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20126350', u'longitude': u'-97.10780334472656', u'nr_hotels': u'49', u'latitude': u'32.735599517822266'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20126381', u'longitude': u'-95.85530090332031', u'nr_hotels': u'2', u'latitude': u'32.2047004699707'} +error: (1062, "Duplicate entry 'athens-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Athens', u'countrycode': u'us', u'city_id': u'20126381', u'longitude': u'-95.85530090332031', u'nr_hotels': u'2', u'latitude': u'32.2047004699707'} +error: (1062, "Duplicate entry 'atlanta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Atlanta', u'countrycode': u'us', u'city_id': u'20126382', u'longitude': u'-94.16419982910156', u'nr_hotels': u'3', u'latitude': u'33.11360168457031'} +error: (1062, "Duplicate entry 'atlanta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0442\u043b\u0430\u043d\u0442\u0430', u'countrycode': u'us', u'city_id': u'20126382', u'longitude': u'-94.16419982910156', u'nr_hotels': u'3', u'latitude': u'33.11360168457031'} +error: (1062, "Duplicate entry 'ostin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0441\u0442\u0438\u043d', u'countrycode': u'us', u'city_id': u'20126394', u'longitude': u'-97.7427978515625', u'nr_hotels': u'134', u'latitude': u'30.26689910888672'} +error: (1062, "Duplicate entry 'bastrop-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bastrop', u'countrycode': u'us', u'city_id': u'20126470', u'longitude': u'-97.31500244140625', u'nr_hotels': u'10', u'latitude': u'30.110300064086914'} +error: (1062, "Duplicate entry 'bastrop-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u0430\u0441\u0442\u0440\u043e\u043f', u'countrycode': u'us', u'city_id': u'20126470', u'longitude': u'-97.31500244140625', u'nr_hotels': u'10', u'latitude': u'30.110300064086914'} +error: (1062, "Duplicate entry 'bay-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bay City', u'countrycode': u'us', u'city_id': u'20126479', u'longitude': u'-95.96920013427734', u'nr_hotels': u'6', u'latitude': u'28.982500076293945'} +error: (1062, "Duplicate entry 'bay-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bay City', u'countrycode': u'us', u'city_id': u'20126479', u'longitude': u'-95.96920013427734', u'nr_hotels': u'6', u'latitude': u'28.982500076293945'} +error: (1062, "Duplicate entry 'beaumont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beaumont', u'countrycode': u'us', u'city_id': u'20126503', u'longitude': u'-94.10169982910156', u'nr_hotels': u'29', u'latitude': u'30.085800170898438'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20126513', u'longitude': u'-97.1427993774414', u'nr_hotels': u'9', u'latitude': u'32.84389877319336'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20126513', u'longitude': u'-97.1427993774414', u'nr_hotels': u'9', u'latitude': u'32.84389877319336'} +error: (1062, "Duplicate entry 'belton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belton', u'countrycode': u'us', u'city_id': u'20126542', u'longitude': u'-97.46420288085938', u'nr_hotels': u'2', u'latitude': u'31.05579948425293'} +error: (1062, "Duplicate entry 'belton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belton', u'countrycode': u'us', u'city_id': u'20126542', u'longitude': u'-97.46420288085938', u'nr_hotels': u'2', u'latitude': u'31.05579948425293'} +error: (1062, "Duplicate entry 'bishop-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bishop', u'countrycode': u'us', u'city_id': u'20126621', u'longitude': u'-97.79889678955078', u'nr_hotels': u'1', u'latitude': u'27.585800170898438'} +error: (1062, "Duplicate entry 'bishop-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bishop', u'countrycode': u'us', u'city_id': u'20126621', u'longitude': u'-97.79889678955078', u'nr_hotels': u'1', u'latitude': u'27.585800170898438'} +error: (1062, "Duplicate entry 'bowie-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bowie', u'countrycode': u'us', u'city_id': u'20126739', u'longitude': u'-97.84829711914062', u'nr_hotels': u'3', u'latitude': u'33.55889892578125'} +error: (1062, "Duplicate entry 'bowie-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bowie', u'countrycode': u'us', u'city_id': u'20126739', u'longitude': u'-97.84829711914062', u'nr_hotels': u'3', u'latitude': u'33.55889892578125'} +error: (1062, "Duplicate entry 'breckenridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Breckenridge', u'countrycode': u'us', u'city_id': u'20126772', u'longitude': u'-98.90190124511719', u'nr_hotels': u'2', u'latitude': u'32.75559997558594'} +error: (1062, "Duplicate entry 'breckenridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Breckenridge', u'countrycode': u'us', u'city_id': u'20126772', u'longitude': u'-98.90190124511719', u'nr_hotels': u'2', u'latitude': u'32.75559997558594'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20126784', u'longitude': u'-97.75440216064453', u'nr_hotels': u'4', u'latitude': u'33.209999084472656'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20126784', u'longitude': u'-97.75440216064453', u'nr_hotels': u'4', u'latitude': u'33.209999084472656'} +error: (1062, "Duplicate entry 'brownsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brownsville', u'countrycode': u'us', u'city_id': u'20126821', u'longitude': u'-97.49720001220703', u'nr_hotels': u'20', u'latitude': u'25.901399612426758'} +error: (1062, "Duplicate entry 'brownsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brownsville', u'countrycode': u'us', u'city_id': u'20126821', u'longitude': u'-97.49720001220703', u'nr_hotels': u'20', u'latitude': u'25.901399612426758'} +error: (1062, "Duplicate entry 'asbest-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Asbest', u'countrycode': u'ru', u'city_id': u'-2879755', u'longitude': u'60.52109909057617', u'nr_hotels': u'0', u'latitude': u'56.47330093383789'} +error: (1062, "Duplicate entry 'asbest-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0441\u0431\u0435\u0441\u0442', u'countrycode': u'ru', u'city_id': u'-2879755', u'longitude': u'60.52109909057617', u'nr_hotels': u'0', u'latitude': u'56.47330093383789'} +error: (1062, "Duplicate entry 'bryan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bryan', u'countrycode': u'us', u'city_id': u'20126837', u'longitude': u'-96.36969757080078', u'nr_hotels': u'7', u'latitude': u'30.6742000579834'} +error: (1062, "Duplicate entry 'bryan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bryan', u'countrycode': u'us', u'city_id': u'20126837', u'longitude': u'-96.36969757080078', u'nr_hotels': u'7', u'latitude': u'30.6742000579834'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buffalo', u'countrycode': u'us', u'city_id': u'20126858', u'longitude': u'-96.05780029296875', u'nr_hotels': u'5', u'latitude': u'31.463600158691406'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buffalo', u'countrycode': u'us', u'city_id': u'20126858', u'longitude': u'-96.05780029296875', u'nr_hotels': u'5', u'latitude': u'31.463600158691406'} +error: (1062, "Duplicate entry 'caldwell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Caldwell', u'countrycode': u'us', u'city_id': u'20126930', u'longitude': u'-96.69280242919922', u'nr_hotels': u'3', u'latitude': u'30.531099319458008'} +error: (1062, "Duplicate entry 'caldwell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Caldwell', u'countrycode': u'us', u'city_id': u'20126930', u'longitude': u'-96.69280242919922', u'nr_hotels': u'3', u'latitude': u'30.531099319458008'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20126952', u'longitude': u'-96.97669982910156', u'nr_hotels': u'2', u'latitude': u'30.853099822998047'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20126952', u'longitude': u'-96.97669982910156', u'nr_hotels': u'2', u'latitude': u'30.853099822998047'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20126977', u'longitude': u'-95.86309814453125', u'nr_hotels': u'3', u'latitude': u'32.556400299072266'} +error: (1062, "Duplicate entry 'canton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Canton', u'countrycode': u'us', u'city_id': u'20126977', u'longitude': u'-95.86309814453125', u'nr_hotels': u'3', u'latitude': u'32.556400299072266'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20127021', u'longitude': u'-96.88999938964844', u'nr_hotels': u'3', u'latitude': u'32.9536018371582'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20127021', u'longitude': u'-96.88999938964844', u'nr_hotels': u'3', u'latitude': u'32.9536018371582'} +error: (1062, "Duplicate entry 'carthage-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carthage', u'countrycode': u'us', u'city_id': u'20127029', u'longitude': u'-94.33719635009766', u'nr_hotels': u'5', u'latitude': u'32.15719985961914'} +error: (1062, "Duplicate entry 'carthage-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carthage', u'countrycode': u'us', u'city_id': u'20127029', u'longitude': u'-94.33719635009766', u'nr_hotels': u'5', u'latitude': u'32.15719985961914'} +error: (1062, "Duplicate entry 'cleveland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cleveland', u'countrycode': u'us', u'city_id': u'20127221', u'longitude': u'-95.08529663085938', u'nr_hotels': u'5', u'latitude': u'30.341100692749023'} +error: (1062, "Duplicate entry 'cleveland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cleveland', u'countrycode': u'us', u'city_id': u'20127221', u'longitude': u'-95.08529663085938', u'nr_hotels': u'5', u'latitude': u'30.341100692749023'} +error: (1062, "Duplicate entry 'clifton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clifton', u'countrycode': u'us', u'city_id': u'20127224', u'longitude': u'-97.57640075683594', u'nr_hotels': u'1', u'latitude': u'31.78219985961914'} +error: (1062, "Duplicate entry 'clifton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clifton', u'countrycode': u'us', u'city_id': u'20127224', u'longitude': u'-97.57640075683594', u'nr_hotels': u'1', u'latitude': u'31.78219985961914'} +error: (1062, "Duplicate entry 'colorado-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Colorado City', u'countrycode': u'us', u'city_id': u'20127278', u'longitude': u'-100.86399841308594', u'nr_hotels': u'1', u'latitude': u'32.388099670410156'} +error: (1062, "Duplicate entry 'colorado-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Colorado City', u'countrycode': u'us', u'city_id': u'20127278', u'longitude': u'-100.86399841308594', u'nr_hotels': u'1', u'latitude': u'32.388099670410156'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20127284', u'longitude': u'-96.53939819335938', u'nr_hotels': u'4', u'latitude': u'29.70639991760254'} +error: (1062, "Duplicate entry 'columbus-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Columbus', u'countrycode': u'us', u'city_id': u'20127284', u'longitude': u'-96.53939819335938', u'nr_hotels': u'4', u'latitude': u'29.70639991760254'} +error: (1062, "Duplicate entry 'aleksandrovka-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aleksandrovka', u'countrycode': u'ru', u'city_id': u'-2875919', u'longitude': u'37.62030029296875', u'nr_hotels': u'1', u'latitude': u'55.41279983520508'} +error: (1062, "Duplicate entry 'aleksandrovka-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u043e\u0432\u043a\u0430', u'countrycode': u'ru', u'city_id': u'-2875919', u'longitude': u'37.62030029296875', u'nr_hotels': u'1', u'latitude': u'55.41279983520508'} +error: (1062, "Duplicate entry 'commerce-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Commerce', u'countrycode': u'us', u'city_id': u'20127295', u'longitude': u'-95.89969635009766', u'nr_hotels': u'1', u'latitude': u'33.24689865112305'} +error: (1062, "Duplicate entry 'commerce-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Commerce', u'countrycode': u'us', u'city_id': u'20127295', u'longitude': u'-95.89969635009766', u'nr_hotels': u'1', u'latitude': u'33.24689865112305'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20127534', u'longitude': u'-94.88500213623047', u'nr_hotels': u'2', u'latitude': u'30.04640007019043'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20127534', u'longitude': u'-94.88500213623047', u'nr_hotels': u'2', u'latitude': u'30.04640007019043'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20127546', u'longitude': u'-97.58580017089844', u'nr_hotels': u'10', u'latitude': u'33.23419952392578'} +error: (1062, "Duplicate entry 'decatur-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Decatur', u'countrycode': u'us', u'city_id': u'20127546', u'longitude': u'-97.58580017089844', u'nr_hotels': u'10', u'latitude': u'33.23419952392578'} +error: (1062, "Duplicate entry 'deer-park-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Deer Park', u'countrycode': u'us', u'city_id': u'20127553', u'longitude': u'-95.12359619140625', u'nr_hotels': u'6', u'latitude': u'29.704999923706055'} +error: (1062, "Duplicate entry 'deer-park-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Deer Park', u'countrycode': u'us', u'city_id': u'20127553', u'longitude': u'-95.12359619140625', u'nr_hotels': u'6', u'latitude': u'29.704999923706055'} +error: (1062, "Duplicate entry 'del-rio-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Del Rio', u'countrycode': u'us', u'city_id': u'20127559', u'longitude': u'-100.89600372314453', u'nr_hotels': u'9', u'latitude': u'29.362499237060547'} +error: (1062, "Duplicate entry 'del-rio-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Del Rio', u'countrycode': u'us', u'city_id': u'20127559', u'longitude': u'-100.89600372314453', u'nr_hotels': u'9', u'latitude': u'29.362499237060547'} +error: (1062, "Duplicate entry 'denison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Denison', u'countrycode': u'us', u'city_id': u'20127574', u'longitude': u'-96.5363998413086', u'nr_hotels': u'3', u'latitude': u'33.75559997558594'} +error: (1062, "Duplicate entry 'denison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Denison', u'countrycode': u'us', u'city_id': u'20127574', u'longitude': u'-96.5363998413086', u'nr_hotels': u'3', u'latitude': u'33.75559997558594'} +error: (1062, "Duplicate entry 'denton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Denton', u'countrycode': u'us', u'city_id': u'20127578', u'longitude': u'-97.13279724121094', u'nr_hotels': u'19', u'latitude': u'33.214698791503906'} +error: (1062, "Duplicate entry 'denton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Denton', u'countrycode': u'us', u'city_id': u'20127578', u'longitude': u'-97.13279724121094', u'nr_hotels': u'19', u'latitude': u'33.214698791503906'} +error: (1062, "Duplicate entry 'vysokoye-ru' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vysokoye', u'countrycode': u'ru', u'city_id': u'124189', u'longitude': u'39.969200134277344', u'nr_hotels': u'0', u'latitude': u'43.467201232910156'} +error: (1062, "Duplicate entry 'vysokoye-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vysokoye', u'countrycode': u'ru', u'city_id': u'124189', u'longitude': u'39.969200134277344', u'nr_hotels': u'0', u'latitude': u'43.467201232910156'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20127695', u'longitude': u'-98.3416976928711', u'nr_hotels': u'1', u'latitude': u'32.084999084472656'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20127695', u'longitude': u'-98.3416976928711', u'nr_hotels': u'1', u'latitude': u'32.084999084472656'} +error: (1062, "Duplicate entry 'dumas-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dumas', u'countrycode': u'us', u'city_id': u'20127705', u'longitude': u'-101.9729995727539', u'nr_hotels': u'7', u'latitude': u'35.8656005859375'} +error: (1062, "Duplicate entry 'dumas-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dumas', u'countrycode': u'us', u'city_id': u'20127705', u'longitude': u'-101.9729995727539', u'nr_hotels': u'7', u'latitude': u'35.8656005859375'} +error: (1062, "Duplicate entry 'eden-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eden', u'countrycode': u'us', u'city_id': u'20127774', u'longitude': u'-99.84529876708984', u'nr_hotels': u'1', u'latitude': u'31.216100692749023'} +error: (1062, "Duplicate entry 'eden-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Eden', u'countrycode': u'us', u'city_id': u'20127774', u'longitude': u'-99.84529876708984', u'nr_hotels': u'1', u'latitude': u'31.216100692749023'} +error: (1062, "Duplicate entry 'edna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Edna', u'countrycode': u'us', u'city_id': u'20127788', u'longitude': u'-96.64579772949219', u'nr_hotels': u'2', u'latitude': u'28.978300094604492'} +error: (1062, "Duplicate entry 'edna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Edna', u'countrycode': u'us', u'city_id': u'20127788', u'longitude': u'-96.64579772949219', u'nr_hotels': u'2', u'latitude': u'28.978300094604492'} +error: (1062, "Duplicate entry 'eldon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Eldon', u'countrycode': u'us', u'city_id': u'20127822', u'longitude': u'-94.9175033569336', u'nr_hotels': u'2', u'latitude': u'29.815000534057617'} +error: (1062, "Duplicate entry 'eldon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Eldon', u'countrycode': u'us', u'city_id': u'20127822', u'longitude': u'-94.9175033569336', u'nr_hotels': u'2', u'latitude': u'29.815000534057617'} +error: (1062, "Duplicate entry 'elgin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elgin', u'countrycode': u'us', u'city_id': u'20127829', u'longitude': u'-97.37000274658203', u'nr_hotels': u'2', u'latitude': u'30.34939956665039'} +error: (1062, "Duplicate entry 'elgin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elgin', u'countrycode': u'us', u'city_id': u'20127829', u'longitude': u'-97.37000274658203', u'nr_hotels': u'2', u'latitude': u'30.34939956665039'} +error: (1062, "Duplicate entry 'elizabethtown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Elizabethtown', u'countrycode': u'us', u'city_id': u'20127833', u'longitude': u'-97.27639770507812', u'nr_hotels': u'2', u'latitude': u'33.02170181274414'} +error: (1062, "Duplicate entry 'elizabethtown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Elizabethtown', u'countrycode': u'us', u'city_id': u'20127833', u'longitude': u'-97.27639770507812', u'nr_hotels': u'2', u'latitude': u'33.02170181274414'} +error: (1062, "Duplicate entry 'ennis-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ennis', u'countrycode': u'us', u'city_id': u'20127891', u'longitude': u'-96.625', u'nr_hotels': u'4', u'latitude': u'32.329200744628906'} +error: (1062, "Duplicate entry 'ennis-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ennis', u'countrycode': u'us', u'city_id': u'20127891', u'longitude': u'-96.625', u'nr_hotels': u'4', u'latitude': u'32.329200744628906'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20127953', u'longitude': u'-96.16500091552734', u'nr_hotels': u'7', u'latitude': u'31.72439956665039'} +error: (1062, "Duplicate entry 'fairfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fairfield', u'countrycode': u'us', u'city_id': u'20127953', u'longitude': u'-96.16500091552734', u'nr_hotels': u'7', u'latitude': u'31.72439956665039'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20128137', u'longitude': u'-96.48500061035156', u'nr_hotels': u'0', u'latitude': u'31.025800704956055'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20128137', u'longitude': u'-96.48500061035156', u'nr_hotels': u'0', u'latitude': u'31.025800704956055'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20128150', u'longitude': u'-95.3593978881836', u'nr_hotels': u'1', u'latitude': u'28.953899383544922'} +error: (1062, "Duplicate entry 'freeport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Freeport', u'countrycode': u'us', u'city_id': u'20128150', u'longitude': u'-95.3593978881836', u'nr_hotels': u'1', u'latitude': u'28.953899383544922'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20128196', u'longitude': u'-97.04080200195312', u'nr_hotels': u'2', u'latitude': u'28.061100006103516'} +error: (1062, "Duplicate entry 'fulton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fulton', u'countrycode': u'us', u'city_id': u'20128196', u'longitude': u'-97.04080200195312', u'nr_hotels': u'2', u'latitude': u'28.061100006103516'} +error: (1062, "Duplicate entry 'gainesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gainesville', u'countrycode': u'us', u'city_id': u'20128206', u'longitude': u'-97.13310241699219', u'nr_hotels': u'4', u'latitude': u'33.62580108642578'} +error: (1062, "Duplicate entry 'gainesville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gainesville', u'countrycode': u'us', u'city_id': u'20128206', u'longitude': u'-97.13310241699219', u'nr_hotels': u'4', u'latitude': u'33.62580108642578'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20128223', u'longitude': u'-101.48100280761719', u'nr_hotels': u'1', u'latitude': u'31.86389923095703'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20128223', u'longitude': u'-101.48100280761719', u'nr_hotels': u'1', u'latitude': u'31.86389923095703'} +error: (1062, "Duplicate entry 'gardendale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gardendale', u'countrycode': u'us', u'city_id': u'20128225', u'longitude': u'-97.38079833984375', u'nr_hotels': u'0', u'latitude': u'27.704700469970703'} +error: (1062, "Duplicate entry 'gardendale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gardendale', u'countrycode': u'us', u'city_id': u'20128225', u'longitude': u'-97.38079833984375', u'nr_hotels': u'0', u'latitude': u'27.704700469970703'} +error: (1062, "Duplicate entry 'georgetown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Georgetown', u'countrycode': u'us', u'city_id': u'20128256', u'longitude': u'-97.6769027709961', u'nr_hotels': u'6', u'latitude': u'30.63249969482422'} +error: (1062, "Duplicate entry 'dzhordzhtaun-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u043e\u0440\u0434\u0436\u0442\u0430\u0443\u043d', u'countrycode': u'us', u'city_id': u'20128256', u'longitude': u'-97.6769027709961', u'nr_hotels': u'6', u'latitude': u'30.63249969482422'} +error: (1062, "Duplicate entry 'gonzales-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gonzales', u'countrycode': u'us', u'city_id': u'20128325', u'longitude': u'-97.45220184326172', u'nr_hotels': u'3', u'latitude': u'29.501399993896484'} +error: (1062, "Duplicate entry 'gonzales-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gonzales', u'countrycode': u'us', u'city_id': u'20128325', u'longitude': u'-97.45220184326172', u'nr_hotels': u'3', u'latitude': u'29.501399993896484'} +error: (1062, "Duplicate entry 'graham-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Graham', u'countrycode': u'us', u'city_id': u'20128358', u'longitude': u'-98.58920288085938', u'nr_hotels': u'4', u'latitude': u'33.10689926147461'} +error: (1062, "Duplicate entry 'graham-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Graham', u'countrycode': u'us', u'city_id': u'20128358', u'longitude': u'-98.58920288085938', u'nr_hotels': u'4', u'latitude': u'33.10689926147461'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20128399', u'longitude': u'-96.11060333251953', u'nr_hotels': u'8', u'latitude': u'33.138301849365234'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20128399', u'longitude': u'-96.11060333251953', u'nr_hotels': u'8', u'latitude': u'33.138301849365234'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20128484', u'longitude': u'-98.12359619140625', u'nr_hotels': u'2', u'latitude': u'31.70359992980957'} +error: (1062, "Duplicate entry 'hamilton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hamilton', u'countrycode': u'us', u'city_id': u'20128484', u'longitude': u'-98.12359619140625', u'nr_hotels': u'2', u'latitude': u'31.70359992980957'} +error: (1062, "Duplicate entry 'haskell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Haskell', u'countrycode': u'us', u'city_id': u'20128552', u'longitude': u'-99.7332992553711', u'nr_hotels': u'1', u'latitude': u'33.157501220703125'} +error: (1062, "Duplicate entry 'haskell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Haskell', u'countrycode': u'us', u'city_id': u'20128552', u'longitude': u'-99.7332992553711', u'nr_hotels': u'1', u'latitude': u'33.157501220703125'} +error: (1062, "Duplicate entry 'helena-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Helena', u'countrycode': u'us', u'city_id': u'20128599', u'longitude': u'-97.8230972290039', u'nr_hotels': u'1', u'latitude': u'28.95359992980957'} +error: (1062, "Duplicate entry 'helena-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Helena', u'countrycode': u'us', u'city_id': u'20128599', u'longitude': u'-97.8230972290039', u'nr_hotels': u'1', u'latitude': u'28.95359992980957'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20128606', u'longitude': u'-94.79920196533203', u'nr_hotels': u'5', u'latitude': u'32.153099060058594'} +error: (1062, "Duplicate entry 'henderson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Henderson', u'countrycode': u'us', u'city_id': u'20128606', u'longitude': u'-94.79920196533203', u'nr_hotels': u'5', u'latitude': u'32.153099060058594'} +error: (1062, "Duplicate entry 'highlands-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Highlands', u'countrycode': u'us', u'city_id': u'20128657', u'longitude': u'-95.05580139160156', u'nr_hotels': u'1', u'latitude': u'29.818599700927734'} +error: (1062, "Duplicate entry 'highlands-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Highlands', u'countrycode': u'us', u'city_id': u'20128657', u'longitude': u'-95.05580139160156', u'nr_hotels': u'1', u'latitude': u'29.818599700927734'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20128672', u'longitude': u'-97.12969970703125', u'nr_hotels': u'9', u'latitude': u'32.010799407958984'} +error: (1062, "Duplicate entry 'hillsboro-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hillsboro', u'countrycode': u'us', u'city_id': u'20128672', u'longitude': u'-97.12969970703125', u'nr_hotels': u'9', u'latitude': u'32.010799407958984'} +error: (1062, "Duplicate entry 'ples-ru' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043b\u0435\u0441', u'countrycode': u'ru', u'city_id': u'900048452', u'longitude': u'41.51599884033203', u'nr_hotels': u'5', u'latitude': u'57.45650100708008'} +error: (1062, "Duplicate entry 'h-yuston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u044c\u044e\u0441\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20128761', u'longitude': u'-95.36250305175781', u'nr_hotels': u'323', u'latitude': u'29.760000228881836'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20128806', u'longitude': u'-95.55059814453125', u'nr_hotels': u'5', u'latitude': u'30.72330093383789'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20128806', u'longitude': u'-95.55059814453125', u'nr_hotels': u'5', u'latitude': u'30.72330093383789'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20128880', u'longitude': u'-95.27030181884766', u'nr_hotels': u'5', u'latitude': u'31.963600158691406'} +error: (1062, "Duplicate entry 'jacksonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jacksonville', u'countrycode': u'us', u'city_id': u'20128880', u'longitude': u'-95.27030181884766', u'nr_hotels': u'5', u'latitude': u'31.963600158691406'} +error: (1062, "Duplicate entry 'jasper-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jasper', u'countrycode': u'us', u'city_id': u'20128892', u'longitude': u'-93.99639892578125', u'nr_hotels': u'6', u'latitude': u'30.920000076293945'} +error: (1062, "Duplicate entry 'dzhasper-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0430\u0441\u043f\u0435\u0440', u'countrycode': u'us', u'city_id': u'20128892', u'longitude': u'-93.99639892578125', u'nr_hotels': u'6', u'latitude': u'30.920000076293945'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20128900', u'longitude': u'-94.34500122070312', u'nr_hotels': u'1', u'latitude': u'32.757198333740234'} +error: (1062, "Duplicate entry 'jefferson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jefferson', u'countrycode': u'us', u'city_id': u'20128900', u'longitude': u'-94.34500122070312', u'nr_hotels': u'1', u'latitude': u'32.757198333740234'} +error: (1062, "Duplicate entry 'johnson-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Johnson City', u'countrycode': u'us', u'city_id': u'20128919', u'longitude': u'-98.41169738769531', u'nr_hotels': u'1', u'latitude': u'30.27669906616211'} +error: (1062, "Duplicate entry 'johnson-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Johnson City', u'countrycode': u'us', u'city_id': u'20128919', u'longitude': u'-98.41169738769531', u'nr_hotels': u'1', u'latitude': u'30.27669906616211'} +error: (1062, "Duplicate entry 'judson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Judson', u'countrycode': u'us', u'city_id': u'20128950', u'longitude': u'-94.75330352783203', u'nr_hotels': u'1', u'latitude': u'32.58250045776367'} +error: (1062, "Duplicate entry 'judson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Judson', u'countrycode': u'us', u'city_id': u'20128950', u'longitude': u'-94.75330352783203', u'nr_hotels': u'1', u'latitude': u'32.58250045776367'} +error: (1062, "Duplicate entry 'la-grange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'La Grange', u'countrycode': u'us', u'city_id': u'20129100', u'longitude': u'-96.87640380859375', u'nr_hotels': u'4', u'latitude': u'29.90530014038086'} +error: (1062, "Duplicate entry 'la-grange-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'La Grange', u'countrycode': u'us', u'city_id': u'20129100', u'longitude': u'-96.87640380859375', u'nr_hotels': u'4', u'latitude': u'29.90530014038086'} +error: (1062, "Duplicate entry 'lake-worth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lake Worth', u'countrycode': u'us', u'city_id': u'20129172', u'longitude': u'-97.4447021484375', u'nr_hotels': u'1', u'latitude': u'32.8046989440918'} +error: (1062, "Duplicate entry 'lake-worth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lake Worth', u'countrycode': u'us', u'city_id': u'20129172', u'longitude': u'-97.4447021484375', u'nr_hotels': u'1', u'latitude': u'32.8046989440918'} +error: (1062, "Duplicate entry 'lancaster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lancaster', u'countrycode': u'us', u'city_id': u'20129213', u'longitude': u'-96.75579833984375', u'nr_hotels': u'1', u'latitude': u'32.59189987182617'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20129213', u'longitude': u'-96.75579833984375', u'nr_hotels': u'1', u'latitude': u'32.59189987182617'} +error: (1062, "Duplicate entry 'liberty-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Liberty', u'countrycode': u'us', u'city_id': u'20129323', u'longitude': u'-94.79530334472656', u'nr_hotels': u'3', u'latitude': u'30.05780029296875'} +error: (1062, "Duplicate entry 'liberty-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Liberty', u'countrycode': u'us', u'city_id': u'20129323', u'longitude': u'-94.79530334472656', u'nr_hotels': u'3', u'latitude': u'30.05780029296875'} +error: (1062, "Duplicate entry 'lindale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lindale', u'countrycode': u'us', u'city_id': u'20129350', u'longitude': u'-95.4092025756836', u'nr_hotels': u'6', u'latitude': u'32.51559829711914'} +error: (1062, "Duplicate entry 'lindale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lindale', u'countrycode': u'us', u'city_id': u'20129350', u'longitude': u'-95.4092025756836', u'nr_hotels': u'6', u'latitude': u'32.51559829711914'} +error: (1062, "Duplicate entry 'linden-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Linden', u'countrycode': u'us', u'city_id': u'20129352', u'longitude': u'-94.36530303955078', u'nr_hotels': u'1', u'latitude': u'33.01219940185547'} +error: (1062, "Duplicate entry 'linden-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Linden', u'countrycode': u'us', u'city_id': u'20129352', u'longitude': u'-94.36530303955078', u'nr_hotels': u'1', u'latitude': u'33.01219940185547'} +error: (1062, "Duplicate entry 'lindsay-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lindsay', u'countrycode': u'us', u'city_id': u'20129354', u'longitude': u'-97.22250366210938', u'nr_hotels': u'1', u'latitude': u'33.635799407958984'} +error: (1062, "Duplicate entry 'lindsay-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lindsay', u'countrycode': u'us', u'city_id': u'20129354', u'longitude': u'-97.22250366210938', u'nr_hotels': u'1', u'latitude': u'33.635799407958984'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20129380', u'longitude': u'-94.93280029296875', u'nr_hotels': u'5', u'latitude': u'30.710800170898438'} +error: (1062, "Duplicate entry 'livingston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Livingston', u'countrycode': u'us', u'city_id': u'20129380', u'longitude': u'-94.93280029296875', u'nr_hotels': u'5', u'latitude': u'30.710800170898438'} +error: (1062, "Duplicate entry 'luling-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Luling', u'countrycode': u'us', u'city_id': u'20129499', u'longitude': u'-97.64720153808594', u'nr_hotels': u'3', u'latitude': u'29.680299758911133'} +error: (1062, "Duplicate entry 'luling-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Luling', u'countrycode': u'us', u'city_id': u'20129499', u'longitude': u'-97.64720153808594', u'nr_hotels': u'3', u'latitude': u'29.680299758911133'} +error: (1062, "Duplicate entry 'lumberton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lumberton', u'countrycode': u'us', u'city_id': u'20129502', u'longitude': u'-94.19940185546875', u'nr_hotels': u'3', u'latitude': u'30.265600204467773'} +error: (1062, "Duplicate entry 'lumberton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lumberton', u'countrycode': u'us', u'city_id': u'20129502', u'longitude': u'-94.19940185546875', u'nr_hotels': u'3', u'latitude': u'30.265600204467773'} +error: (1062, "Duplicate entry 'madisonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madisonville', u'countrycode': u'us', u'city_id': u'20129541', u'longitude': u'-95.9113998413086', u'nr_hotels': u'2', u'latitude': u'30.94969940185547'} +error: (1062, "Duplicate entry 'madisonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madisonville', u'countrycode': u'us', u'city_id': u'20129541', u'longitude': u'-95.9113998413086', u'nr_hotels': u'2', u'latitude': u'30.94969940185547'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20129580', u'longitude': u'-97.14140319824219', u'nr_hotels': u'6', u'latitude': u'32.5630989074707'} +error: (1062, "Duplicate entry 'mansfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mansfield', u'countrycode': u'us', u'city_id': u'20129580', u'longitude': u'-97.14140319824219', u'nr_hotels': u'6', u'latitude': u'32.5630989074707'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20129608', u'longitude': u'-94.36720275878906', u'nr_hotels': u'11', u'latitude': u'32.544700622558594'} +error: (1062, "Duplicate entry 'marshall-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshall', u'countrycode': u'us', u'city_id': u'20129608', u'longitude': u'-94.36720275878906', u'nr_hotels': u'11', u'latitude': u'32.544700622558594'} +error: (1062, "Duplicate entry 'mcgregor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'McGregor', u'countrycode': u'us', u'city_id': u'20129688', u'longitude': u'-97.40889739990234', u'nr_hotels': u'1', u'latitude': u'31.443899154663086'} +error: (1062, "Duplicate entry 'mcgregor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'McGregor', u'countrycode': u'us', u'city_id': u'20129688', u'longitude': u'-97.40889739990234', u'nr_hotels': u'1', u'latitude': u'31.443899154663086'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Meridian', u'countrycode': u'us', u'city_id': u'20129742', u'longitude': u'-97.65640258789062', u'nr_hotels': u'1', u'latitude': u'31.923099517822266'} +error: (1062, "Duplicate entry 'meridian-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Meridian', u'countrycode': u'us', u'city_id': u'20129742', u'longitude': u'-97.65640258789062', u'nr_hotels': u'1', u'latitude': u'31.923099517822266'} +error: (1062, "Duplicate entry 'mesquite-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mesquite', u'countrycode': u'us', u'city_id': u'20129752', u'longitude': u'-96.5988998413086', u'nr_hotels': u'10', u'latitude': u'32.766700744628906'} +error: (1062, "Duplicate entry 'mesquite-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mesquite', u'countrycode': u'us', u'city_id': u'20129752', u'longitude': u'-96.5988998413086', u'nr_hotels': u'10', u'latitude': u'32.766700744628906'} +error: (1062, "Duplicate entry 'montgomery-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montgomery', u'countrycode': u'us', u'city_id': u'20129875', u'longitude': u'-95.69609832763672', u'nr_hotels': u'1', u'latitude': u'30.388099670410156'} +error: (1062, "Duplicate entry 'montgomery-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montgomery', u'countrycode': u'us', u'city_id': u'20129875', u'longitude': u'-95.69609832763672', u'nr_hotels': u'1', u'latitude': u'30.388099670410156'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20129940', u'longitude': u'-94.96810150146484', u'nr_hotels': u'10', u'latitude': u'33.156700134277344'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'20129940', u'longitude': u'-94.96810150146484', u'nr_hotels': u'10', u'latitude': u'33.156700134277344'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20129945', u'longitude': u'-95.22109985351562', u'nr_hotels': u'1', u'latitude': u'33.1885986328125'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20129945', u'longitude': u'-95.22109985351562', u'nr_hotels': u'1', u'latitude': u'33.1885986328125'} +error: (1062, "Duplicate entry 'odessa-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Odessa', u'countrycode': u'us', u'city_id': u'20130249', u'longitude': u'-102.36699676513672', u'nr_hotels': u'21', u'latitude': u'31.845600128173828'} +error: (1062, "Duplicate entry 'odessa-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041e\u0434\u0435\u0441\u0441\u0430', u'countrycode': u'us', u'city_id': u'20130249', u'longitude': u'-102.36699676513672', u'nr_hotels': u'21', u'latitude': u'31.845600128173828'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20130336', u'longitude': u'-93.73639678955078', u'nr_hotels': u'4', u'latitude': u'30.09280014038086'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20130336', u'longitude': u'-93.73639678955078', u'nr_hotels': u'4', u'latitude': u'30.09280014038086'} +error: (1062, "Duplicate entry 'paducah-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paducah', u'countrycode': u'us', u'city_id': u'20130375', u'longitude': u'-100.302001953125', u'nr_hotels': u'1', u'latitude': u'34.01219940185547'} +error: (1062, "Duplicate entry 'paducah-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paducah', u'countrycode': u'us', u'city_id': u'20130375', u'longitude': u'-100.302001953125', u'nr_hotels': u'1', u'latitude': u'34.01219940185547'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20130425', u'longitude': u'-95.5552978515625', u'nr_hotels': u'10', u'latitude': u'33.66080093383789'} +error: (1062, "Duplicate entry 'paris-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Paris', u'countrycode': u'us', u'city_id': u'20130425', u'longitude': u'-95.5552978515625', u'nr_hotels': u'10', u'latitude': u'33.66080093383789'} +error: (1062, "Duplicate entry 'pasadena-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pasadena', u'countrycode': u'us', u'city_id': u'20130440', u'longitude': u'-95.20890045166016', u'nr_hotels': u'12', u'latitude': u'29.690799713134766'} +error: (1062, "Duplicate entry 'pasadena-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u0430\u0441\u0430\u0434\u0435\u043d\u0430', u'countrycode': u'us', u'city_id': u'20130440', u'longitude': u'-95.20890045166016', u'nr_hotels': u'12', u'latitude': u'29.690799713134766'} +error: (1062, "Duplicate entry 'pinehurst-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pinehurst', u'countrycode': u'us', u'city_id': u'20130594', u'longitude': u'-93.77439880371094', u'nr_hotels': u'3', u'latitude': u'30.10689926147461'} +error: (1062, "Duplicate entry 'pinehurst-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pinehurst', u'countrycode': u'us', u'city_id': u'20130594', u'longitude': u'-93.77439880371094', u'nr_hotels': u'3', u'latitude': u'30.10689926147461'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20130610', u'longitude': u'-94.9655990600586', u'nr_hotels': u'1', u'latitude': u'32.99530029296875'} +error: (1062, "Duplicate entry 'pittsburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsburg', u'countrycode': u'us', u'city_id': u'20130610', u'longitude': u'-94.9655990600586', u'nr_hotels': u'1', u'latitude': u'32.99530029296875'} +error: (1062, "Duplicate entry 'plainview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plainview', u'countrycode': u'us', u'city_id': u'20130618', u'longitude': u'-101.70600128173828', u'nr_hotels': u'5', u'latitude': u'34.18470001220703'} +error: (1062, "Duplicate entry 'plainview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plainview', u'countrycode': u'us', u'city_id': u'20130618', u'longitude': u'-101.70600128173828', u'nr_hotels': u'5', u'latitude': u'34.18470001220703'} +error: (1062, "Duplicate entry 'portland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portland', u'countrycode': u'us', u'city_id': u'20130708', u'longitude': u'-97.32360076904297', u'nr_hotels': u'1', u'latitude': u'27.87689971923828'} +error: (1062, "Duplicate entry 'portlend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u043b\u0435\u043d\u0434', u'countrycode': u'us', u'city_id': u'20130708', u'longitude': u'-97.32360076904297', u'nr_hotels': u'1', u'latitude': u'27.87689971923828'} +error: (1062, "Duplicate entry 'roanoke-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roanoke', u'countrycode': u'us', u'city_id': u'20130990', u'longitude': u'-97.23300170898438', u'nr_hotels': u'6', u'latitude': u'33.00749969482422'} +error: (1062, "Duplicate entry 'roanoke-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Roanoke', u'countrycode': u'us', u'city_id': u'20130990', u'longitude': u'-97.23300170898438', u'nr_hotels': u'6', u'latitude': u'33.00749969482422'} +error: (1062, "Duplicate entry 'rockport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Rockport', u'countrycode': u'us', u'city_id': u'20131025', u'longitude': u'-97.05419921875', u'nr_hotels': u'8', u'latitude': u'28.020299911499023'} +error: (1062, "Duplicate entry 'rockport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Rockport', u'countrycode': u'us', u'city_id': u'20131025', u'longitude': u'-97.05419921875', u'nr_hotels': u'8', u'latitude': u'28.020299911499023'} +error: (1062, "Duplicate entry 'san-marcos-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'San Marcos', u'countrycode': u'us', u'city_id': u'20131209', u'longitude': u'-97.94110107421875', u'nr_hotels': u'23', u'latitude': u'29.883100509643555'} +error: (1062, "Duplicate entry 'san-marcos-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'San Marcos', u'countrycode': u'us', u'city_id': u'20131209', u'longitude': u'-97.94110107421875', u'nr_hotels': u'23', u'latitude': u'29.883100509643555'} +error: (1062, "Duplicate entry 'sanger-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sanger', u'countrycode': u'us', u'city_id': u'20131247', u'longitude': u'-97.17359924316406', u'nr_hotels': u'1', u'latitude': u'33.36309814453125'} +error: (1062, "Duplicate entry 'sanger-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sanger', u'countrycode': u'us', u'city_id': u'20131247', u'longitude': u'-97.17359924316406', u'nr_hotels': u'1', u'latitude': u'33.36309814453125'} +error: (1062, "Duplicate entry 'satsuma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Satsuma', u'countrycode': u'us', u'city_id': u'20131279', u'longitude': u'-95.60310363769531', u'nr_hotels': u'0', u'latitude': u'29.903099060058594'} +error: (1062, "Duplicate entry 'satsuma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Satsuma', u'countrycode': u'us', u'city_id': u'20131279', u'longitude': u'-95.60310363769531', u'nr_hotels': u'0', u'latitude': u'29.903099060058594'} +error: (1062, "Duplicate entry 'seabrook-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seabrook', u'countrycode': u'us', u'city_id': u'20131319', u'longitude': u'-95.02529907226562', u'nr_hotels': u'7', u'latitude': u'29.563899993896484'} +error: (1062, "Duplicate entry 'seabrook-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seabrook', u'countrycode': u'us', u'city_id': u'20131319', u'longitude': u'-95.02529907226562', u'nr_hotels': u'7', u'latitude': u'29.563899993896484'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20131345', u'longitude': u'-98.30560302734375', u'nr_hotels': u'2', u'latitude': u'29.584199905395508'} +error: (1062, "Duplicate entry 'selma-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Selma', u'countrycode': u'us', u'city_id': u'20131345', u'longitude': u'-98.30560302734375', u'nr_hotels': u'2', u'latitude': u'29.584199905395508'} +error: (1062, "Duplicate entry 'seminole-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seminole', u'countrycode': u'us', u'city_id': u'20131349', u'longitude': u'-102.64399719238281', u'nr_hotels': u'2', u'latitude': u'32.71889877319336'} +error: (1062, "Duplicate entry 'seminole-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seminole', u'countrycode': u'us', u'city_id': u'20131349', u'longitude': u'-102.64399719238281', u'nr_hotels': u'2', u'latitude': u'32.71889877319336'} +error: (1062, "Duplicate entry 'seymour-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Seymour', u'countrycode': u'us', u'city_id': u'20131369', u'longitude': u'-99.26000213623047', u'nr_hotels': u'1', u'latitude': u'33.594200134277344'} +error: (1062, "Duplicate entry 'seymour-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Seymour', u'countrycode': u'us', u'city_id': u'20131369', u'longitude': u'-99.26000213623047', u'nr_hotels': u'1', u'latitude': u'33.594200134277344'} +error: (1062, "Duplicate entry 'smithville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smithville', u'countrycode': u'us', u'city_id': u'20131512', u'longitude': u'-97.1592025756836', u'nr_hotels': u'1', u'latitude': u'30.00830078125'} +error: (1062, "Duplicate entry 'smithville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smithville', u'countrycode': u'us', u'city_id': u'20131512', u'longitude': u'-97.1592025756836', u'nr_hotels': u'1', u'latitude': u'30.00830078125'} +error: (1062, "Duplicate entry 'somerville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Somerville', u'countrycode': u'us', u'city_id': u'20131538', u'longitude': u'-96.5280990600586', u'nr_hotels': u'2', u'latitude': u'30.345800399780273'} +error: (1062, "Duplicate entry 'somerville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Somerville', u'countrycode': u'us', u'city_id': u'20131538', u'longitude': u'-96.5280990600586', u'nr_hotels': u'2', u'latitude': u'30.345800399780273'} +error: (1062, "Duplicate entry 'sonora-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sonora', u'countrycode': u'us', u'city_id': u'20131542', u'longitude': u'-100.64299774169922', u'nr_hotels': u'5', u'latitude': u'30.566699981689453'} +error: (1062, "Duplicate entry 'sonora-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sonora', u'countrycode': u'us', u'city_id': u'20131542', u'longitude': u'-100.64299774169922', u'nr_hotels': u'5', u'latitude': u'30.566699981689453'} +error: (1062, "Duplicate entry 'stamford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stamford', u'countrycode': u'us', u'city_id': u'20131632', u'longitude': u'-99.80249786376953', u'nr_hotels': u'1', u'latitude': u'32.9453010559082'} +error: (1062, "Duplicate entry 'stamford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stamford', u'countrycode': u'us', u'city_id': u'20131632', u'longitude': u'-99.80249786376953', u'nr_hotels': u'1', u'latitude': u'32.9453010559082'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20131637', u'longitude': u'-101.78800201416016', u'nr_hotels': u'1', u'latitude': u'32.12919998168945'} +error: (1062, "Duplicate entry 'stanton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stanton', u'countrycode': u'us', u'city_id': u'20131637', u'longitude': u'-101.78800201416016', u'nr_hotels': u'1', u'latitude': u'32.12919998168945'} +error: (1062, "Duplicate entry 'sulphur-springs-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sulphur Springs', u'countrycode': u'us', u'city_id': u'20131716', u'longitude': u'-95.60079956054688', u'nr_hotels': u'7', u'latitude': u'33.138301849365234'} +error: (1062, "Duplicate entry 'sulphur-springs-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sulphur Springs', u'countrycode': u'us', u'city_id': u'20131716', u'longitude': u'-95.60079956054688', u'nr_hotels': u'7', u'latitude': u'33.138301849365234'} +error: (1062, "Duplicate entry 'sweetwater-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sweetwater', u'countrycode': u'us', u'city_id': u'20131753', u'longitude': u'-100.40599822998047', u'nr_hotels': u'6', u'latitude': u'32.47079849243164'} +error: (1062, "Duplicate entry 'sweetwater-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sweetwater', u'countrycode': u'us', u'city_id': u'20131753', u'longitude': u'-100.40599822998047', u'nr_hotels': u'6', u'latitude': u'32.47079849243164'} +error: (1062, "Duplicate entry 'taylor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taylor', u'countrycode': u'us', u'city_id': u'20131787', u'longitude': u'-97.4092025756836', u'nr_hotels': u'1', u'latitude': u'30.570600509643555'} +error: (1062, "Duplicate entry 'taylor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Taylor', u'countrycode': u'us', u'city_id': u'20131787', u'longitude': u'-97.4092025756836', u'nr_hotels': u'1', u'latitude': u'30.570600509643555'} +error: (1062, "Duplicate entry 'three-rivers-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Three Rivers', u'countrycode': u'us', u'city_id': u'20131864', u'longitude': u'-98.18219757080078', u'nr_hotels': u'2', u'latitude': u'28.459999084472656'} +error: (1062, "Duplicate entry 'three-rivers-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Three Rivers', u'countrycode': u'us', u'city_id': u'20131864', u'longitude': u'-98.18219757080078', u'nr_hotels': u'2', u'latitude': u'28.459999084472656'} +error: (1062, "Duplicate entry 'vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vernon', u'countrycode': u'us', u'city_id': u'20132083', u'longitude': u'-99.26470184326172', u'nr_hotels': u'4', u'latitude': u'34.15439987182617'} +error: (1062, "Duplicate entry 'vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Vernon', u'countrycode': u'us', u'city_id': u'20132083', u'longitude': u'-99.26470184326172', u'nr_hotels': u'4', u'latitude': u'34.15439987182617'} +error: (1062, "Duplicate entry 'walden-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Walden', u'countrycode': u'us', u'city_id': u'20132142', u'longitude': u'-94.14939880371094', u'nr_hotels': u'1', u'latitude': u'30.03499984741211'} +error: (1062, "Duplicate entry 'walden-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Walden', u'countrycode': u'us', u'city_id': u'20132142', u'longitude': u'-94.14939880371094', u'nr_hotels': u'1', u'latitude': u'30.03499984741211'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20132191', u'longitude': u'-96.15640258789062', u'nr_hotels': u'1', u'latitude': u'30.325000762939453'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20132191', u'longitude': u'-96.15640258789062', u'nr_hotels': u'1', u'latitude': u'30.325000762939453'} +error: (1062, "Duplicate entry 'weatherford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Weatherford', u'countrycode': u'us', u'city_id': u'20132212', u'longitude': u'-97.7968978881836', u'nr_hotels': u'15', u'latitude': u'32.75920104980469'} +error: (1062, "Duplicate entry 'weatherford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Weatherford', u'countrycode': u'us', u'city_id': u'20132212', u'longitude': u'-97.7968978881836', u'nr_hotels': u'15', u'latitude': u'32.75920104980469'} +error: (1062, "Duplicate entry 'webster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Webster', u'countrycode': u'us', u'city_id': u'20132219', u'longitude': u'-95.11810302734375', u'nr_hotels': u'19', u'latitude': u'29.537500381469727'} +error: (1062, "Duplicate entry 'webster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Webster', u'countrycode': u'us', u'city_id': u'20132219', u'longitude': u'-95.11810302734375', u'nr_hotels': u'19', u'latitude': u'29.537500381469727'} +error: (1062, "Duplicate entry 'west-columbia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'West Columbia', u'countrycode': u'us', u'city_id': u'20132252', u'longitude': u'-95.6449966430664', u'nr_hotels': u'4', u'latitude': u'29.143600463867188'} +error: (1062, "Duplicate entry 'west-columbia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'West Columbia', u'countrycode': u'us', u'city_id': u'20132252', u'longitude': u'-95.6449966430664', u'nr_hotels': u'4', u'latitude': u'29.143600463867188'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20132281', u'longitude': u'-95.40190124511719', u'nr_hotels': u'0', u'latitude': u'30.019699096679688'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20132281', u'longitude': u'-95.40190124511719', u'nr_hotels': u'0', u'latitude': u'30.019699096679688'} +error: (1062, "Duplicate entry 'westlake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westlake', u'countrycode': u'us', u'city_id': u'20132285', u'longitude': u'-97.1947021484375', u'nr_hotels': u'1', u'latitude': u'32.9911003112793'} +error: (1062, "Duplicate entry 'westlake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westlake', u'countrycode': u'us', u'city_id': u'20132285', u'longitude': u'-97.1947021484375', u'nr_hotels': u'1', u'latitude': u'32.9911003112793'} +error: (1062, "Duplicate entry 'winona-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winona', u'countrycode': u'us', u'city_id': u'20132415', u'longitude': u'-95.16690063476562', u'nr_hotels': u'1', u'latitude': u'32.48939895629883'} +error: (1062, "Duplicate entry 'winona-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Winona', u'countrycode': u'us', u'city_id': u'20132415', u'longitude': u'-95.16690063476562', u'nr_hotels': u'1', u'latitude': u'32.48939895629883'} +error: (1062, "Duplicate entry 'clearfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clearfield', u'countrycode': u'us', u'city_id': u'20132827', u'longitude': u'-112.0250015258789', u'nr_hotels': u'3', u'latitude': u'41.110801696777344'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20133147', u'longitude': u'-111.39299774169922', u'nr_hotels': u'1', u'latitude': u'41.9468994140625'} +error: (1062, "Duplicate entry 'garden-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Garden City', u'countrycode': u'us', u'city_id': u'20133147', u'longitude': u'-111.39299774169922', u'nr_hotels': u'1', u'latitude': u'41.9468994140625'} +error: (1062, "Duplicate entry 'grover-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grover', u'countrycode': u'us', u'city_id': u'20133207', u'longitude': u'-111.3489990234375', u'nr_hotels': u'1', u'latitude': u'38.22809982299805'} +error: (1062, "Duplicate entry 'grover-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grover', u'countrycode': u'us', u'city_id': u'20133207', u'longitude': u'-111.3489990234375', u'nr_hotels': u'1', u'latitude': u'38.22809982299805'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20133325', u'longitude': u'-111.76899719238281', u'nr_hotels': u'1', u'latitude': u'41.260799407958984'} +error: (1062, "Duplicate entry 'huntsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huntsville', u'countrycode': u'us', u'city_id': u'20133325', u'longitude': u'-111.76899719238281', u'nr_hotels': u'1', u'latitude': u'41.260799407958984'} +error: (1062, "Duplicate entry 'varberg-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Varberg', u'countrycode': u'se', u'city_id': u'-2533705', u'longitude': u'12.216699600219727', u'nr_hotels': u'4', u'latitude': u'57.11669921875'} +error: (1062, "Duplicate entry 'varberg-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Varberg', u'countrycode': u'se', u'city_id': u'-2533705', u'longitude': u'12.216699600219727', u'nr_hotels': u'4', u'latitude': u'57.11669921875'} +error: (1062, "Duplicate entry 'layton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Layton', u'countrycode': u'us', u'city_id': u'20133447', u'longitude': u'-111.97000122070312', u'nr_hotels': u'9', u'latitude': u'41.060298919677734'} +error: (1062, "Duplicate entry 'layton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Layton', u'countrycode': u'us', u'city_id': u'20133447', u'longitude': u'-111.97000122070312', u'nr_hotels': u'9', u'latitude': u'41.060298919677734'} +error: (1062, "Duplicate entry 'logan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Logan', u'countrycode': u'us', u'city_id': u'20133490', u'longitude': u'-111.83399963378906', u'nr_hotels': u'11', u'latitude': u'41.735599517822266'} +error: (1062, "Duplicate entry 'logan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Logan', u'countrycode': u'us', u'city_id': u'20133490', u'longitude': u'-111.83399963378906', u'nr_hotels': u'11', u'latitude': u'41.735599517822266'} +error: (1062, "Duplicate entry 'midway-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Midway', u'countrycode': u'us', u'city_id': u'20133583', u'longitude': u'-111.4739990234375', u'nr_hotels': u'3', u'latitude': u'40.51219940185547'} +error: (1062, "Duplicate entry 'midway-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Midway', u'countrycode': u'us', u'city_id': u'20133583', u'longitude': u'-111.4739990234375', u'nr_hotels': u'3', u'latitude': u'40.51219940185547'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20133615', u'longitude': u'-109.34200286865234', u'nr_hotels': u'8', u'latitude': u'37.87139892578125'} +error: (1062, "Duplicate entry 'monticello-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monticello', u'countrycode': u'us', u'city_id': u'20133615', u'longitude': u'-109.34200286865234', u'nr_hotels': u'8', u'latitude': u'37.87139892578125'} +error: (1062, "Duplicate entry 'murray-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Murray', u'countrycode': u'us', u'city_id': u'20133665', u'longitude': u'-111.88700103759766', u'nr_hotels': u'7', u'latitude': u'40.666900634765625'} +error: (1062, "Duplicate entry 'murray-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Murray', u'countrycode': u'us', u'city_id': u'20133665', u'longitude': u'-111.88700103759766', u'nr_hotels': u'7', u'latitude': u'40.666900634765625'} +error: (1062, "Duplicate entry 'park-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Park City', u'countrycode': u'us', u'city_id': u'20133776', u'longitude': u'-111.49700164794922', u'nr_hotels': u'77', u'latitude': u'40.64609909057617'} +error: (1062, "Duplicate entry 'richfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richfield', u'countrycode': u'us', u'city_id': u'20133898', u'longitude': u'-112.08300018310547', u'nr_hotels': u'11', u'latitude': u'38.772499084472656'} +error: (1062, "Duplicate entry 'richfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richfield', u'countrycode': u'us', u'city_id': u'20133898', u'longitude': u'-112.08300018310547', u'nr_hotels': u'11', u'latitude': u'38.772499084472656'} +error: (1062, "Duplicate entry 'salina-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salina', u'countrycode': u'us', u'city_id': u'20133954', u'longitude': u'-111.85900115966797', u'nr_hotels': u'3', u'latitude': u'38.957801818847656'} +error: (1062, "Duplicate entry 'salina-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salina', u'countrycode': u'us', u'city_id': u'20133954', u'longitude': u'-111.85900115966797', u'nr_hotels': u'3', u'latitude': u'38.957801818847656'} +error: (1062, "Duplicate entry 'springdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springdale', u'countrycode': u'us', u'city_id': u'20134081', u'longitude': u'-112.99800109863281', u'nr_hotels': u'13', u'latitude': u'37.188899993896484'} +error: (1062, "Duplicate entry 'springville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springville', u'countrycode': u'us', u'city_id': u'20134084', u'longitude': u'-111.61000061035156', u'nr_hotels': u'2', u'latitude': u'40.16529846191406'} +error: (1062, "Duplicate entry 'springville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springville', u'countrycode': u'us', u'city_id': u'20134084', u'longitude': u'-111.61000061035156', u'nr_hotels': u'2', u'latitude': u'40.16529846191406'} +error: (1062, "Duplicate entry 'taylorsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Taylorsville', u'countrycode': u'us', u'city_id': u'20134154', u'longitude': u'-111.93800354003906', u'nr_hotels': u'1', u'latitude': u'40.66780090332031'} +error: (1062, "Duplicate entry 'taylorsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Taylorsville', u'countrycode': u'us', u'city_id': u'20134154', u'longitude': u'-111.93800354003906', u'nr_hotels': u'1', u'latitude': u'40.66780090332031'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'20134340', u'longitude': u'-113.50700378417969', u'nr_hotels': u'4', u'latitude': u'37.13059997558594'} +error: (1062, "Duplicate entry 'vashington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0430\u0448\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20134340', u'longitude': u'-113.50700378417969', u'nr_hotels': u'4', u'latitude': u'37.13059997558594'} +error: (1062, "Duplicate entry 'wellington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wellington', u'countrycode': u'us', u'city_id': u'20134355', u'longitude': u'-110.73500061035156', u'nr_hotels': u'2', u'latitude': u'39.54249954223633'} +error: (1062, "Duplicate entry 'wellington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wellington', u'countrycode': u'us', u'city_id': u'20134355', u'longitude': u'-110.73500061035156', u'nr_hotels': u'2', u'latitude': u'39.54249954223633'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20134510', u'longitude': u'-73.15440368652344', u'nr_hotels': u'1', u'latitude': u'43.07469940185547'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20134510', u'longitude': u'-73.15440368652344', u'nr_hotels': u'1', u'latitude': u'43.07469940185547'} +error: (1062, "Duplicate entry 'ubbhult-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ubbhult', u'countrycode': u'se', u'city_id': u'-2531852', u'longitude': u'12.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.56669998168945'} +error: (1062, "Duplicate entry 'ubbhult-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ubbhult', u'countrycode': u'se', u'city_id': u'-2531852', u'longitude': u'12.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.56669998168945'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20134566', u'longitude': u'-73.08809661865234', u'nr_hotels': u'4', u'latitude': u'43.798099517822266'} +error: (1062, "Duplicate entry 'brandon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brandon', u'countrycode': u'us', u'city_id': u'20134566', u'longitude': u'-73.08809661865234', u'nr_hotels': u'4', u'latitude': u'43.798099517822266'} +error: (1062, "Duplicate entry 'brownsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brownsville', u'countrycode': u'us', u'city_id': u'20134589', u'longitude': u'-72.47139739990234', u'nr_hotels': u'1', u'latitude': u'43.46860122680664'} +error: (1062, "Duplicate entry 'brownsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brownsville', u'countrycode': u'us', u'city_id': u'20134589', u'longitude': u'-72.47139739990234', u'nr_hotels': u'1', u'latitude': u'43.46860122680664'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20134593', u'longitude': u'-73.2125015258789', u'nr_hotels': u'6', u'latitude': u'44.475799560546875'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20134593', u'longitude': u'-73.2125015258789', u'nr_hotels': u'6', u'latitude': u'44.475799560546875'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20134622', u'longitude': u'-72.59559631347656', u'nr_hotels': u'5', u'latitude': u'43.26279830932617'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20134622', u'longitude': u'-72.59559631347656', u'nr_hotels': u'5', u'latitude': u'43.26279830932617'} +error: (1062, "Duplicate entry 'tuna-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tuna', u'countrycode': u'se', u'city_id': u'-2531475', u'longitude': u'16.100000381469727', u'nr_hotels': u'2', u'latitude': u'57.58330154418945'} +error: (1062, "Duplicate entry 'tuna-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tuna', u'countrycode': u'se', u'city_id': u'-2531475', u'longitude': u'16.100000381469727', u'nr_hotels': u'2', u'latitude': u'57.58330154418945'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20134791', u'longitude': u'-72.60669708251953', u'nr_hotels': u'1', u'latitude': u'43.17169952392578'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20134791', u'longitude': u'-72.60669708251953', u'nr_hotels': u'1', u'latitude': u'43.17169952392578'} +error: (1062, "Duplicate entry 'hyde-park-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hyde Park', u'countrycode': u'us', u'city_id': u'20134851', u'longitude': u'-72.61689758300781', u'nr_hotels': u'1', u'latitude': u'44.59389877319336'} +error: (1062, "Duplicate entry 'jamaica-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jamaica', u'countrycode': u'us', u'city_id': u'20134862', u'longitude': u'-72.77890014648438', u'nr_hotels': u'1', u'latitude': u'43.10029983520508'} +error: (1062, "Duplicate entry 'jamaica-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jamaica', u'countrycode': u'us', u'city_id': u'20134862', u'longitude': u'-72.77890014648438', u'nr_hotels': u'1', u'latitude': u'43.10029983520508'} +error: (1062, "Duplicate entry 'jay-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jay', u'countrycode': u'us', u'city_id': u'20134863', u'longitude': u'-72.4375', u'nr_hotels': u'2', u'latitude': u'44.9474983215332'} +error: (1062, "Duplicate entry 'jay-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jay', u'countrycode': u'us', u'city_id': u'20134863', u'longitude': u'-72.4375', u'nr_hotels': u'2', u'latitude': u'44.9474983215332'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20134864', u'longitude': u'-72.82969665527344', u'nr_hotels': u'3', u'latitude': u'44.64390182495117'} +error: (1062, "Duplicate entry 'jeffersonville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jeffersonville', u'countrycode': u'us', u'city_id': u'20134864', u'longitude': u'-72.82969665527344', u'nr_hotels': u'3', u'latitude': u'44.64390182495117'} +error: (1062, "Duplicate entry 'londonderry-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Londonderry', u'countrycode': u'us', u'city_id': u'20134896', u'longitude': u'-72.80690002441406', u'nr_hotels': u'2', u'latitude': u'43.22639846801758'} +error: (1062, "Duplicate entry 'londonderry-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Londonderry', u'countrycode': u'us', u'city_id': u'20134896', u'longitude': u'-72.80690002441406', u'nr_hotels': u'2', u'latitude': u'43.22639846801758'} +error: (1062, "Duplicate entry 'ludlow-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ludlow', u'countrycode': u'us', u'city_id': u'20134904', u'longitude': u'-72.70110321044922', u'nr_hotels': u'11', u'latitude': u'43.39580154418945'} +error: (1062, "Duplicate entry 'ludlow-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ludlow', u'countrycode': u'us', u'city_id': u'20134904', u'longitude': u'-72.70110321044922', u'nr_hotels': u'11', u'latitude': u'43.39580154418945'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20134915', u'longitude': u'-73.07279968261719', u'nr_hotels': u'5', u'latitude': u'43.16360092163086'} +error: (1062, "Duplicate entry 'manchester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Manchester', u'countrycode': u'us', u'city_id': u'20134915', u'longitude': u'-73.07279968261719', u'nr_hotels': u'5', u'latitude': u'43.16360092163086'} +error: (1062, "Duplicate entry 'middlebury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middlebury', u'countrycode': u'us', u'city_id': u'20134930', u'longitude': u'-73.16780090332031', u'nr_hotels': u'4', u'latitude': u'44.01530075073242'} +error: (1062, "Duplicate entry 'middlebury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middlebury', u'countrycode': u'us', u'city_id': u'20134930', u'longitude': u'-73.16780090332031', u'nr_hotels': u'4', u'latitude': u'44.01530075073242'} +error: (1062, "Duplicate entry 'montpelier-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Montpelier', u'countrycode': u'us', u'city_id': u'20134947', u'longitude': u'-72.57579803466797', u'nr_hotels': u'3', u'latitude': u'44.2599983215332'} +error: (1062, "Duplicate entry 'montpelier-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Montpelier', u'countrycode': u'us', u'city_id': u'20134947', u'longitude': u'-72.57579803466797', u'nr_hotels': u'3', u'latitude': u'44.2599983215332'} +error: (1062, "Duplicate entry 'morrisville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morrisville', u'countrycode': u'us', u'city_id': u'20134954', u'longitude': u'-72.5988998413086', u'nr_hotels': u'1', u'latitude': u'44.56169891357422'} +error: (1062, "Duplicate entry 'morrisville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Morrisville', u'countrycode': u'us', u'city_id': u'20134954', u'longitude': u'-72.5988998413086', u'nr_hotels': u'1', u'latitude': u'44.56169891357422'} +error: (1062, "Duplicate entry 'norwich-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norwich', u'countrycode': u'us', u'city_id': u'20135026', u'longitude': u'-72.30829620361328', u'nr_hotels': u'1', u'latitude': u'43.715301513671875'} +error: (1062, "Duplicate entry 'norwich-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norwich', u'countrycode': u'us', u'city_id': u'20135026', u'longitude': u'-72.30829620361328', u'nr_hotels': u'1', u'latitude': u'43.715301513671875'} +error: (1062, "Duplicate entry 'peru-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Peru', u'countrycode': u'us', u'city_id': u'20135051', u'longitude': u'-72.89830017089844', u'nr_hotels': u'1', u'latitude': u'43.229698181152344'} +error: (1062, "Duplicate entry 'peru-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Peru', u'countrycode': u'us', u'city_id': u'20135051', u'longitude': u'-72.89830017089844', u'nr_hotels': u'1', u'latitude': u'43.229698181152344'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20135059', u'longitude': u'-72.81330108642578', u'nr_hotels': u'1', u'latitude': u'43.77220153808594'} +error: (1062, "Duplicate entry 'pittsfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pittsfield', u'countrycode': u'us', u'city_id': u'20135059', u'longitude': u'-72.81330108642578', u'nr_hotels': u'1', u'latitude': u'43.77220153808594'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20135063', u'longitude': u'-72.7219009399414', u'nr_hotels': u'1', u'latitude': u'43.53580093383789'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20135063', u'longitude': u'-72.7219009399414', u'nr_hotels': u'1', u'latitude': u'43.53580093383789'} +error: (1062, "Duplicate entry 'shrewsbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shrewsbury', u'countrycode': u'us', u'city_id': u'20135148', u'longitude': u'-72.86720275878906', u'nr_hotels': u'1', u'latitude': u'43.5088996887207'} +error: (1062, "Duplicate entry 'shrewsbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shrewsbury', u'countrycode': u'us', u'city_id': u'20135148', u'longitude': u'-72.86720275878906', u'nr_hotels': u'1', u'latitude': u'43.5088996887207'} +error: (1062, "Duplicate entry 'torup-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torup', u'countrycode': u'se', u'city_id': u'-2530751', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'torup-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torup', u'countrycode': u'se', u'city_id': u'-2530751', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20135202', u'longitude': u'-72.48280334472656', u'nr_hotels': u'1', u'latitude': u'43.298301696777344'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20135202', u'longitude': u'-72.48280334472656', u'nr_hotels': u'1', u'latitude': u'43.298301696777344'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20135278', u'longitude': u'-72.85639953613281', u'nr_hotels': u'2', u'latitude': u'44.111900329589844'} +error: (1062, "Duplicate entry 'warren-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warren', u'countrycode': u'us', u'city_id': u'20135278', u'longitude': u'-72.85639953613281', u'nr_hotels': u'2', u'latitude': u'44.111900329589844'} +error: (1062, "Duplicate entry 'waterbury-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterbury', u'countrycode': u'us', u'city_id': u'20135281', u'longitude': u'-72.75669860839844', u'nr_hotels': u'1', u'latitude': u'44.337799072265625'} +error: (1062, "Duplicate entry 'waterbury-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waterbury', u'countrycode': u'us', u'city_id': u'20135281', u'longitude': u'-72.75669860839844', u'nr_hotels': u'1', u'latitude': u'44.337799072265625'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530438', u'longitude': u'17', u'nr_hotels': u'1', u'latitude': u'58.91669845581055'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530438', u'longitude': u'17', u'nr_hotels': u'1', u'latitude': u'58.91669845581055'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530434', u'longitude': u'12.550000190734863', u'nr_hotels': u'1', u'latitude': u'58.56669998168945'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530434', u'longitude': u'12.550000190734863', u'nr_hotels': u'1', u'latitude': u'58.56669998168945'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20135342', u'longitude': u'-72.42890167236328', u'nr_hotels': u'1', u'latitude': u'44.889400482177734'} +error: (1062, "Duplicate entry 'westfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westfield', u'countrycode': u'us', u'city_id': u'20135342', u'longitude': u'-72.42890167236328', u'nr_hotels': u'1', u'latitude': u'44.889400482177734'} +error: (1062, "Duplicate entry 'torne-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torne', u'countrycode': u'se', u'city_id': u'-2530337', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'56.70000076293945'} +error: (1062, "Duplicate entry 'torne-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torne', u'countrycode': u'se', u'city_id': u'-2530337', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'56.70000076293945'} +error: (1062, "Duplicate entry 'williston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williston', u'countrycode': u'us', u'city_id': u'20135362', u'longitude': u'-73.068603515625', u'nr_hotels': u'4', u'latitude': u'44.4375'} +error: (1062, "Duplicate entry 'williston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williston', u'countrycode': u'us', u'city_id': u'20135362', u'longitude': u'-73.068603515625', u'nr_hotels': u'4', u'latitude': u'44.4375'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20135365', u'longitude': u'-72.87190246582031', u'nr_hotels': u'3', u'latitude': u'42.86830139160156'} +error: (1062, "Duplicate entry 'wilmington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wilmington', u'countrycode': u'us', u'city_id': u'20135365', u'longitude': u'-72.87190246582031', u'nr_hotels': u'3', u'latitude': u'42.86830139160156'} +error: (1062, "Duplicate entry 'windham-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windham', u'countrycode': u'us', u'city_id': u'20135366', u'longitude': u'-72.72640228271484', u'nr_hotels': u'1', u'latitude': u'43.17919921875'} +error: (1062, "Duplicate entry 'windham-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Windham', u'countrycode': u'us', u'city_id': u'20135366', u'longitude': u'-72.72640228271484', u'nr_hotels': u'1', u'latitude': u'43.17919921875'} +error: (1062, "Duplicate entry 'windsor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windsor', u'countrycode': u'us', u'city_id': u'20135367', u'longitude': u'-72.38529968261719', u'nr_hotels': u'1', u'latitude': u'43.48030090332031'} +error: (1062, "Duplicate entry 'vindzor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u043d\u0434\u0437\u043e\u0440', u'countrycode': u'us', u'city_id': u'20135367', u'longitude': u'-72.38529968261719', u'nr_hotels': u'1', u'latitude': u'43.48030090332031'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20135372', u'longitude': u'-72.5188980102539', u'nr_hotels': u'4', u'latitude': u'43.62419891357422'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20135372', u'longitude': u'-72.5188980102539', u'nr_hotels': u'4', u'latitude': u'43.62419891357422'} +error: (1062, "Duplicate entry 'alexandria-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alexandria', u'countrycode': u'us', u'city_id': u'20135442', u'longitude': u'-77.04720306396484', u'nr_hotels': u'35', u'latitude': u'38.8046989440918'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20135554', u'longitude': u'-77.10771179199219', u'nr_hotels': u'44', u'latitude': u'38.881103515625'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20135554', u'longitude': u'-77.10771179199219', u'nr_hotels': u'44', u'latitude': u'38.881103515625'} +error: (1062, "Duplicate entry 'ashburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashburn', u'countrycode': u'us', u'city_id': u'20135585', u'longitude': u'-77.48709869384766', u'nr_hotels': u'5', u'latitude': u'39.03990173339844'} +error: (1062, "Duplicate entry 'ashburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashburn', u'countrycode': u'us', u'city_id': u'20135585', u'longitude': u'-77.48709869384766', u'nr_hotels': u'5', u'latitude': u'39.03990173339844'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20135594', u'longitude': u'-77.48030090332031', u'nr_hotels': u'11', u'latitude': u'37.7588996887207'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20135594', u'longitude': u'-77.48030090332031', u'nr_hotels': u'11', u'latitude': u'37.7588996887207'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20135780', u'longitude': u'-79.52330017089844', u'nr_hotels': u'1', u'latitude': u'37.33420181274414'} +error: (1062, "Duplicate entry 'bedford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bedford', u'countrycode': u'us', u'city_id': u'20135780', u'longitude': u'-79.52330017089844', u'nr_hotels': u'1', u'latitude': u'37.33420181274414'} +error: (1062, "Duplicate entry 'boston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Boston', u'countrycode': u'us', u'city_id': u'20136080', u'longitude': u'-78.13189697265625', u'nr_hotels': u'1', u'latitude': u'38.54079818725586'} +error: (1062, "Duplicate entry 'boston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0411\u043e\u0441\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20136080', u'longitude': u'-78.13189697265625', u'nr_hotels': u'1', u'latitude': u'38.54079818725586'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20136185', u'longitude': u'-82.1885986328125', u'nr_hotels': u'7', u'latitude': u'36.59640121459961'} +error: (1062, "Duplicate entry 'bristol-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bristol', u'countrycode': u'us', u'city_id': u'20136185', u'longitude': u'-82.1885986328125', u'nr_hotels': u'7', u'latitude': u'36.59640121459961'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20136486', u'longitude': u'-76.56079864501953', u'nr_hotels': u'1', u'latitude': u'36.94670104980469'} +error: (1062, "Duplicate entry 'carrollton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carrollton', u'countrycode': u'us', u'city_id': u'20136486', u'longitude': u'-76.56079864501953', u'nr_hotels': u'1', u'latitude': u'36.94670104980469'} +error: (1062, "Duplicate entry 'castleton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castleton', u'countrycode': u'us', u'city_id': u'20136523', u'longitude': u'-78.10690307617188', u'nr_hotels': u'1', u'latitude': u'38.60580062866211'} +error: (1062, "Duplicate entry 'castleton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Castleton', u'countrycode': u'us', u'city_id': u'20136523', u'longitude': u'-78.10690307617188', u'nr_hotels': u'1', u'latitude': u'38.60580062866211'} +error: (1062, "Duplicate entry 'charles-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Charles City', u'countrycode': u'us', u'city_id': u'20136631', u'longitude': u'-77.07330322265625', u'nr_hotels': u'1', u'latitude': u'37.343299865722656'} +error: (1062, "Duplicate entry 'charles-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Charles City', u'countrycode': u'us', u'city_id': u'20136631', u'longitude': u'-77.07330322265625', u'nr_hotels': u'1', u'latitude': u'37.343299865722656'} +error: (1062, "Duplicate entry 'sharlott-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0428\u0430\u0440\u043b\u043e\u0442\u0442', u'countrycode': u'us', u'city_id': u'20136635', u'longitude': u'-78.47689819335938', u'nr_hotels': u'20', u'latitude': u'38.02920150756836'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20136671', u'longitude': u'-77.44190216064453', u'nr_hotels': u'12', u'latitude': u'37.3567008972168'} +error: (1062, "Duplicate entry 'chester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Chester', u'countrycode': u'us', u'city_id': u'20136671', u'longitude': u'-77.44190216064453', u'nr_hotels': u'12', u'latitude': u'37.3567008972168'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20136759', u'longitude': u'-78.55719757080078', u'nr_hotels': u'1', u'latitude': u'36.6239013671875'} +error: (1062, "Duplicate entry 'clarksville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Clarksville', u'countrycode': u'us', u'city_id': u'20136759', u'longitude': u'-78.55719757080078', u'nr_hotels': u'1', u'latitude': u'36.6239013671875'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20136995', u'longitude': u'-79.99420166015625', u'nr_hotels': u'2', u'latitude': u'37.79330062866211'} +error: (1062, "Duplicate entry 'covington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Covington', u'countrycode': u'us', u'city_id': u'20136995', u'longitude': u'-79.99420166015625', u'nr_hotels': u'2', u'latitude': u'37.79330062866211'} +error: (1062, "Duplicate entry 'daleville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Daleville', u'countrycode': u'us', u'city_id': u'20137120', u'longitude': u'-79.91280364990234', u'nr_hotels': u'2', u'latitude': u'37.409698486328125'} +error: (1062, "Duplicate entry 'daleville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Daleville', u'countrycode': u'us', u'city_id': u'20137120', u'longitude': u'-79.91280364990234', u'nr_hotels': u'2', u'latitude': u'37.409698486328125'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20137137', u'longitude': u'-79.39530181884766', u'nr_hotels': u'10', u'latitude': u'36.58580017089844'} +error: (1062, "Duplicate entry 'danville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Danville', u'countrycode': u'us', u'city_id': u'20137137', u'longitude': u'-79.39530181884766', u'nr_hotels': u'10', u'latitude': u'36.58580017089844'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20137341', u'longitude': u'-80.68560028076172', u'nr_hotels': u'4', u'latitude': u'37.10559844970703'} +error: (1062, "Duplicate entry 'dublin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dublin', u'countrycode': u'us', u'city_id': u'20137341', u'longitude': u'-80.68560028076172', u'nr_hotels': u'4', u'latitude': u'37.10559844970703'} +error: (1062, "Duplicate entry 'tidaholm-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tidaholm', u'countrycode': u'se', u'city_id': u'-2529295', u'longitude': u'14', u'nr_hotels': u'2', u'latitude': u'58.183101654052734'} +error: (1062, "Duplicate entry 'tidaholm-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tidaholm', u'countrycode': u'se', u'city_id': u'-2529295', u'longitude': u'14', u'nr_hotels': u'2', u'latitude': u'58.183101654052734'} +error: (1062, "Duplicate entry 'emporia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Emporia', u'countrycode': u'us', u'city_id': u'20137519', u'longitude': u'-77.54280090332031', u'nr_hotels': u'9', u'latitude': u'36.68579864501953'} +error: (1062, "Duplicate entry 'emporia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Emporia', u'countrycode': u'us', u'city_id': u'20137519', u'longitude': u'-77.54280090332031', u'nr_hotels': u'9', u'latitude': u'36.68579864501953'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20137848', u'longitude': u'-76.92279815673828', u'nr_hotels': u'3', u'latitude': u'36.6775016784668'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20137848', u'longitude': u'-76.92279815673828', u'nr_hotels': u'3', u'latitude': u'36.6775016784668'} +error: (1062, "Duplicate entry 'fredericksburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fredericksburg', u'countrycode': u'us', u'city_id': u'20137860', u'longitude': u'-77.46080017089844', u'nr_hotels': u'27', u'latitude': u'38.3031005859375'} +error: (1062, "Duplicate entry 'gainesville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gainesville', u'countrycode': u'us', u'city_id': u'20137897', u'longitude': u'-77.61419677734375', u'nr_hotels': u'1', u'latitude': u'38.79560089111328'} +error: (1062, "Duplicate entry 'gainesville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gainesville', u'countrycode': u'us', u'city_id': u'20137897', u'longitude': u'-77.61419677734375', u'nr_hotels': u'1', u'latitude': u'38.79560089111328'} +error: (1062, "Duplicate entry 'gloucester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gloucester', u'countrycode': u'us', u'city_id': u'20138036', u'longitude': u'-76.52580261230469', u'nr_hotels': u'1', u'latitude': u'37.41360092163086'} +error: (1062, "Duplicate entry 'gloucester-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gloucester', u'countrycode': u'us', u'city_id': u'20138036', u'longitude': u'-76.52580261230469', u'nr_hotels': u'1', u'latitude': u'37.41360092163086'} +error: (1062, "Duplicate entry 'goshen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Goshen', u'countrycode': u'us', u'city_id': u'20138069', u'longitude': u'-79.49810028076172', u'nr_hotels': u'1', u'latitude': u'37.986900329589844'} +error: (1062, "Duplicate entry 'goshen-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Goshen', u'countrycode': u'us', u'city_id': u'20138069', u'longitude': u'-79.49810028076172', u'nr_hotels': u'1', u'latitude': u'37.986900329589844'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20138076', u'longitude': u'-76.46890258789062', u'nr_hotels': u'1', u'latitude': u'37.16529846191406'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20138076', u'longitude': u'-76.46890258789062', u'nr_hotels': u'1', u'latitude': u'37.16529846191406'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20138168', u'longitude': u'-79.15609741210938', u'nr_hotels': u'1', u'latitude': u'38.003299713134766'} +error: (1062, "Duplicate entry 'greenville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenville', u'countrycode': u'us', u'city_id': u'20138168', u'longitude': u'-79.15609741210938', u'nr_hotels': u'1', u'latitude': u'38.003299713134766'} +error: (1062, "Duplicate entry 'greenwich-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Greenwich', u'countrycode': u'us', u'city_id': u'20138176', u'longitude': u'-76.18689727783203', u'nr_hotels': u'1', u'latitude': u'36.84170150756836'} +error: (1062, "Duplicate entry 'greenwich-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Greenwich', u'countrycode': u'us', u'city_id': u'20138176', u'longitude': u'-76.18689727783203', u'nr_hotels': u'1', u'latitude': u'36.84170150756836'} +error: (1062, "Duplicate entry 'gretna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Gretna', u'countrycode': u'us', u'city_id': u'20138191', u'longitude': u'-79.35919952392578', u'nr_hotels': u'2', u'latitude': u'36.9536018371582'} +error: (1062, "Duplicate entry 'gretna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Gretna', u'countrycode': u'us', u'city_id': u'20138191', u'longitude': u'-79.35919952392578', u'nr_hotels': u'2', u'latitude': u'36.9536018371582'} +error: (1062, "Duplicate entry 'hardy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hardy', u'countrycode': u'us', u'city_id': u'20138309', u'longitude': u'-79.81079864501953', u'nr_hotels': u'0', u'latitude': u'37.2317008972168'} +error: (1062, "Duplicate entry 'hardy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hardy', u'countrycode': u'us', u'city_id': u'20138309', u'longitude': u'-79.81079864501953', u'nr_hotels': u'0', u'latitude': u'37.2317008972168'} +error: (1062, "Duplicate entry 'herndon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Herndon', u'countrycode': u'us', u'city_id': u'20138420', u'longitude': u'-77.38639831542969', u'nr_hotels': u'19', u'latitude': u'38.969398498535156'} +error: (1062, "Duplicate entry 'herndon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0425\u0435\u0440\u043d\u0434\u043e\u043d', u'countrycode': u'us', u'city_id': u'20138420', u'longitude': u'-77.38639831542969', u'nr_hotels': u'19', u'latitude': u'38.969398498535156'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528359', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528359', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528349', u'longitude': u'13.933300018310547', u'nr_hotels': u'1', u'latitude': u'55.483299255371094'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528349', u'longitude': u'13.933300018310547', u'nr_hotels': u'1', u'latitude': u'55.483299255371094'} +error: (1062, "Duplicate entry 'leesburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Leesburg', u'countrycode': u'us', u'city_id': u'20139203', u'longitude': u'-77.56390380859375', u'nr_hotels': u'8', u'latitude': u'39.1156005859375'} +error: (1062, "Duplicate entry 'leesburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Leesburg', u'countrycode': u'us', u'city_id': u'20139203', u'longitude': u'-77.56390380859375', u'nr_hotels': u'8', u'latitude': u'39.1156005859375'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20139238', u'longitude': u'-79.44309997558594', u'nr_hotels': u'5', u'latitude': u'37.78390121459961'} +error: (1062, "Duplicate entry 'lexington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lexington', u'countrycode': u'us', u'city_id': u'20139238', u'longitude': u'-79.44309997558594', u'nr_hotels': u'5', u'latitude': u'37.78390121459961'} +error: (1062, "Duplicate entry 'svanskog-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svanskog', u'countrycode': u'se', u'city_id': u'-2527831', u'longitude': u'12.550000190734863', u'nr_hotels': u'11', u'latitude': u'59.18330001831055'} +error: (1062, "Duplicate entry 'svanskog-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svanskog', u'countrycode': u'se', u'city_id': u'-2527831', u'longitude': u'12.550000190734863', u'nr_hotels': u'11', u'latitude': u'59.18330001831055'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20139542', u'longitude': u'-81.51499938964844', u'nr_hotels': u'2', u'latitude': u'36.83470153808594'} +error: (1062, "Duplicate entry 'marion-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marion', u'countrycode': u'us', u'city_id': u'20139542', u'longitude': u'-81.51499938964844', u'nr_hotels': u'2', u'latitude': u'36.83470153808594'} +error: (1062, "Duplicate entry 'martinsville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Martinsville', u'countrycode': u'us', u'city_id': u'20139568', u'longitude': u'-79.872802734375', u'nr_hotels': u'6', u'latitude': u'36.69139862060547'} +error: (1062, "Duplicate entry 'martinsville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Martinsville', u'countrycode': u'us', u'city_id': u'20139568', u'longitude': u'-79.872802734375', u'nr_hotels': u'6', u'latitude': u'36.69139862060547'} +error: (1062, "Duplicate entry 'mclean-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'McLean', u'countrycode': u'us', u'city_id': u'20139652', u'longitude': u'-77.17780303955078', u'nr_hotels': u'1', u'latitude': u'38.934200286865234'} +error: (1062, "Duplicate entry 'mclean-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'McLean', u'countrycode': u'us', u'city_id': u'20139652', u'longitude': u'-77.17780303955078', u'nr_hotels': u'1', u'latitude': u'38.934200286865234'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20139738', u'longitude': u'-78.28079986572266', u'nr_hotels': u'1', u'latitude': u'39.02750015258789'} +error: (1062, "Duplicate entry 'middletown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Middletown', u'countrycode': u'us', u'city_id': u'20139738', u'longitude': u'-78.28079986572266', u'nr_hotels': u'1', u'latitude': u'39.02750015258789'} +error: (1062, "Duplicate entry 'midlothian-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Midlothian', u'countrycode': u'us', u'city_id': u'20139742', u'longitude': u'-77.64939880371094', u'nr_hotels': u'8', u'latitude': u'37.50579833984375'} +error: (1062, "Duplicate entry 'midlothian-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Midlothian', u'countrycode': u'us', u'city_id': u'20139742', u'longitude': u'-77.64939880371094', u'nr_hotels': u'8', u'latitude': u'37.50579833984375'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20139958', u'longitude': u'-77.0864028930664', u'nr_hotels': u'3', u'latitude': u'38.707801818847656'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20139958', u'longitude': u'-77.0864028930664', u'nr_hotels': u'3', u'latitude': u'38.707801818847656'} +error: (1062, "Duplicate entry 'sunne-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sunne', u'countrycode': u'se', u'city_id': u'-2527510', u'longitude': u'13.100000381469727', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'sunne-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sunne', u'countrycode': u'se', u'city_id': u'-2527510', u'longitude': u'13.100000381469727', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'norfolk-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norfolk', u'countrycode': u'us', u'city_id': u'20140148', u'longitude': u'-76.28559875488281', u'nr_hotels': u'31', u'latitude': u'36.84669876098633'} +error: (1062, "Duplicate entry 'norfolk-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u043e\u0440\u0444\u043e\u043b\u043a', u'countrycode': u'us', u'city_id': u'20140148', u'longitude': u'-76.28559875488281', u'nr_hotels': u'31', u'latitude': u'36.84669876098633'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20140198', u'longitude': u'-82.62920379638672', u'nr_hotels': u'2', u'latitude': u'36.93330001831055'} +error: (1062, "Duplicate entry 'norton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Norton', u'countrycode': u'us', u'city_id': u'20140198', u'longitude': u'-82.62920379638672', u'nr_hotels': u'2', u'latitude': u'36.93330001831055'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20140387', u'longitude': u'-78.11109924316406', u'nr_hotels': u'2', u'latitude': u'38.24530029296875'} +error: (1062, "Duplicate entry 'orange-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orange', u'countrycode': u'us', u'city_id': u'20140387', u'longitude': u'-78.11109924316406', u'nr_hotels': u'2', u'latitude': u'38.24530029296875'} +error: (1062, "Duplicate entry 'petersburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Petersburg', u'countrycode': u'us', u'city_id': u'20140602', u'longitude': u'-77.4021987915039', u'nr_hotels': u'8', u'latitude': u'37.22779846191406'} +error: (1062, "Duplicate entry 'petersburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Petersburg', u'countrycode': u'us', u'city_id': u'20140602', u'longitude': u'-77.4021987915039', u'nr_hotels': u'8', u'latitude': u'37.22779846191406'} +error: (1062, "Duplicate entry 'portsmouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portsmouth', u'countrycode': u'us', u'city_id': u'20140788', u'longitude': u'-76.29859924316406', u'nr_hotels': u'6', u'latitude': u'36.83530044555664'} +error: (1062, "Duplicate entry 'portsmut-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041f\u043e\u0440\u0442\u0441\u043c\u0443\u0442', u'countrycode': u'us', u'city_id': u'20140788', u'longitude': u'-76.29859924316406', u'nr_hotels': u'6', u'latitude': u'36.83530044555664'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richmond', u'countrycode': u'us', u'city_id': u'20141027', u'longitude': u'-77.46060180664062', u'nr_hotels': u'63', u'latitude': u'37.5536003112793'} +error: (1062, "Duplicate entry 'richmond-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0420\u0438\u0447\u043c\u043e\u043d\u0434', u'countrycode': u'us', u'city_id': u'20141027', u'longitude': u'-77.46060180664062', u'nr_hotels': u'63', u'latitude': u'37.5536003112793'} +error: (1062, "Duplicate entry 'riverdale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Riverdale', u'countrycode': u'us', u'city_id': u'20141080', u'longitude': u'-78.90029907226562', u'nr_hotels': u'1', u'latitude': u'36.687198638916016'} +error: (1062, "Duplicate entry 'riverdale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Riverdale', u'countrycode': u'us', u'city_id': u'20141080', u'longitude': u'-78.90029907226562', u'nr_hotels': u'1', u'latitude': u'36.687198638916016'} +error: (1062, "Duplicate entry 'roanoke-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Roanoke', u'countrycode': u'us', u'city_id': u'20141123', u'longitude': u'-79.94170379638672', u'nr_hotels': u'26', u'latitude': u'37.27080154418945'} +error: (1062, "Duplicate entry 'roanoke-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Roanoke', u'countrycode': u'us', u'city_id': u'20141123', u'longitude': u'-79.94170379638672', u'nr_hotels': u'26', u'latitude': u'37.27080154418945'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20141292', u'longitude': u'-80.05500030517578', u'nr_hotels': u'11', u'latitude': u'37.29330062866211'} +error: (1062, "Duplicate entry 'salem-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Salem', u'countrycode': u'us', u'city_id': u'20141292', u'longitude': u'-80.05500030517578', u'nr_hotels': u'11', u'latitude': u'37.29330062866211'} +error: (1062, "Duplicate entry 'strand-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Strand', u'countrycode': u'se', u'city_id': u'-2526721', u'longitude': u'16.86669921875', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'strand-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Strand', u'countrycode': u'se', u'city_id': u'-2526721', u'longitude': u'16.86669921875', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'smithfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smithfield', u'countrycode': u'us', u'city_id': u'20141597', u'longitude': u'-76.63140106201172', u'nr_hotels': u'2', u'latitude': u'36.982200622558594'} +error: (1062, "Duplicate entry 'smithfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smithfield', u'countrycode': u'us', u'city_id': u'20141597', u'longitude': u'-76.63140106201172', u'nr_hotels': u'2', u'latitude': u'36.982200622558594'} +error: (1062, "Duplicate entry 'springfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Springfield', u'countrycode': u'us', u'city_id': u'20141715', u'longitude': u'-77.1875', u'nr_hotels': u'13', u'latitude': u'38.78919982910156'} +error: (1062, "Duplicate entry 'springfild-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u043f\u0440\u0438\u043d\u0433\u0444\u0438\u043b\u0434', u'countrycode': u'us', u'city_id': u'20141715', u'longitude': u'-77.1875', u'nr_hotels': u'13', u'latitude': u'38.78919982910156'} +error: (1062, "Duplicate entry 'stafford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stafford', u'countrycode': u'us', u'city_id': u'20141730', u'longitude': u'-77.40859985351562', u'nr_hotels': u'9', u'latitude': u'38.42190170288086'} +error: (1062, "Duplicate entry 'stafford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stafford', u'countrycode': u'us', u'city_id': u'20141730', u'longitude': u'-77.40859985351562', u'nr_hotels': u'9', u'latitude': u'38.42190170288086'} +error: (1062, "Duplicate entry 'staunton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Staunton', u'countrycode': u'us', u'city_id': u'20141751', u'longitude': u'-79.0718994140625', u'nr_hotels': u'8', u'latitude': u'38.14939880371094'} +error: (1062, "Duplicate entry 'staunton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Staunton', u'countrycode': u'us', u'city_id': u'20141751', u'longitude': u'-79.0718994140625', u'nr_hotels': u'8', u'latitude': u'38.14939880371094'} +error: (1062, "Duplicate entry 'sterling-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sterling', u'countrycode': u'us', u'city_id': u'20141765', u'longitude': u'-77.42890167236328', u'nr_hotels': u'19', u'latitude': u'39.006099700927734'} +error: (1062, "Duplicate entry 'sterling-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0442\u0435\u0440\u043b\u0438\u043d\u0433', u'countrycode': u'us', u'city_id': u'20141765', u'longitude': u'-77.42890167236328', u'nr_hotels': u'19', u'latitude': u'39.006099700927734'} +error: (1062, "Duplicate entry 'stony-creek-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stony Creek', u'countrycode': u'us', u'city_id': u'20141809', u'longitude': u'-77.4011001586914', u'nr_hotels': u'2', u'latitude': u'36.94779968261719'} +error: (1062, "Duplicate entry 'stony-creek-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stony Creek', u'countrycode': u'us', u'city_id': u'20141809', u'longitude': u'-77.4011001586914', u'nr_hotels': u'2', u'latitude': u'36.94779968261719'} +error: (1062, "Duplicate entry 'strasburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Strasburg', u'countrycode': u'us', u'city_id': u'20141824', u'longitude': u'-78.35890197753906', u'nr_hotels': u'4', u'latitude': u'38.98860168457031'} +error: (1062, "Duplicate entry 'strasburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Strasburg', u'countrycode': u'us', u'city_id': u'20141824', u'longitude': u'-78.35890197753906', u'nr_hotels': u'4', u'latitude': u'38.98860168457031'} +error: (1062, "Duplicate entry 'tazewell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tazewell', u'countrycode': u'us', u'city_id': u'20141998', u'longitude': u'-81.51969909667969', u'nr_hotels': u'2', u'latitude': u'37.11470031738281'} +error: (1062, "Duplicate entry 'tazewell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tazewell', u'countrycode': u'us', u'city_id': u'20141998', u'longitude': u'-81.51969909667969', u'nr_hotels': u'2', u'latitude': u'37.11470031738281'} +error: (1062, "Duplicate entry 'templeton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Templeton', u'countrycode': u'us', u'city_id': u'20142007', u'longitude': u'-77.35530090332031', u'nr_hotels': u'1', u'latitude': u'37.08219909667969'} +error: (1062, "Duplicate entry 'templeton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Templeton', u'countrycode': u'us', u'city_id': u'20142007', u'longitude': u'-77.35530090332031', u'nr_hotels': u'1', u'latitude': u'37.08219909667969'} +error: (1062, "Duplicate entry 'verona-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Verona', u'countrycode': u'us', u'city_id': u'20142260', u'longitude': u'-79.00859832763672', u'nr_hotels': u'1', u'latitude': u'38.201900482177734'} +error: (1062, "Duplicate entry 'verona-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Verona', u'countrycode': u'us', u'city_id': u'20142260', u'longitude': u'-79.00859832763672', u'nr_hotels': u'1', u'latitude': u'38.201900482177734'} +error: (1062, "Duplicate entry 'vienna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vienna', u'countrycode': u'us', u'city_id': u'20142273', u'longitude': u'-77.2656021118164', u'nr_hotels': u'1', u'latitude': u'38.901100158691406'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20142389', u'longitude': u'-77.79560089111328', u'nr_hotels': u'3', u'latitude': u'38.71329879760742'} +error: (1062, "Duplicate entry 'warrenton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warrenton', u'countrycode': u'us', u'city_id': u'20142389', u'longitude': u'-77.79560089111328', u'nr_hotels': u'3', u'latitude': u'38.71329879760742'} +error: (1062, "Duplicate entry 'warwick-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Warwick', u'countrycode': u'us', u'city_id': u'20142392', u'longitude': u'-77.42310333251953', u'nr_hotels': u'0', u'latitude': u'37.458900451660156'} +error: (1062, "Duplicate entry 'warwick-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Warwick', u'countrycode': u'us', u'city_id': u'20142392', u'longitude': u'-77.42310333251953', u'nr_hotels': u'0', u'latitude': u'37.458900451660156'} +error: (1062, "Duplicate entry 'williamsburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamsburg', u'countrycode': u'us', u'city_id': u'20142668', u'longitude': u'-76.70780181884766', u'nr_hotels': u'67', u'latitude': u'37.270599365234375'} +error: (1062, "Duplicate entry 'winchester-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winchester', u'countrycode': u'us', u'city_id': u'20142714', u'longitude': u'-78.1635971069336', u'nr_hotels': u'18', u'latitude': u'39.18560028076172'} +error: (1062, "Duplicate entry 'woodbridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodbridge', u'countrycode': u'us', u'city_id': u'20142779', u'longitude': u'-77.25', u'nr_hotels': u'12', u'latitude': u'38.65810012817383'} +error: (1062, "Duplicate entry 'woodbridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodbridge', u'countrycode': u'us', u'city_id': u'20142779', u'longitude': u'-77.25', u'nr_hotels': u'12', u'latitude': u'38.65810012817383'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20142833', u'longitude': u'-78.506103515625', u'nr_hotels': u'4', u'latitude': u'38.88169860839844'} +error: (1062, "Duplicate entry 'woodstock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodstock', u'countrycode': u'us', u'city_id': u'20142833', u'longitude': u'-78.506103515625', u'nr_hotels': u'4', u'latitude': u'38.88169860839844'} +error: (1062, "Duplicate entry 'yorktown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Yorktown', u'countrycode': u'us', u'city_id': u'20142887', u'longitude': u'-76.51000213623047', u'nr_hotels': u'2', u'latitude': u'37.23860168457031'} +error: (1062, "Duplicate entry 'yorktown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Yorktown', u'countrycode': u'us', u'city_id': u'20142887', u'longitude': u'-76.51000213623047', u'nr_hotels': u'2', u'latitude': u'37.23860168457031'} +error: (1062, "Duplicate entry 'aberdeen-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Aberdeen', u'countrycode': u'us', u'city_id': u'20142909', u'longitude': u'-123.81400299072266', u'nr_hotels': u'2', u'latitude': u'46.97560119628906'} +error: (1062, "Duplicate entry 'aberdeen-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Aberdeen', u'countrycode': u'us', u'city_id': u'20142909', u'longitude': u'-123.81400299072266', u'nr_hotels': u'2', u'latitude': u'46.97560119628906'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arlington', u'countrycode': u'us', u'city_id': u'20142981', u'longitude': u'-122.1240005493164', u'nr_hotels': u'3', u'latitude': u'48.19889831542969'} +error: (1062, "Duplicate entry 'arlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0410\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20142981', u'longitude': u'-122.1240005493164', u'nr_hotels': u'3', u'latitude': u'48.19889831542969'} +error: (1062, "Duplicate entry 'ashford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashford', u'countrycode': u'us', u'city_id': u'20142992', u'longitude': u'-122.02999877929688', u'nr_hotels': u'4', u'latitude': u'46.75859832763672'} +error: (1062, "Duplicate entry 'ashford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashford', u'countrycode': u'us', u'city_id': u'20142992', u'longitude': u'-122.02999877929688', u'nr_hotels': u'4', u'latitude': u'46.75859832763672'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20142998', u'longitude': u'-122.22699737548828', u'nr_hotels': u'7', u'latitude': u'47.307498931884766'} +error: (1062, "Duplicate entry 'auburn-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Auburn', u'countrycode': u'us', u'city_id': u'20142998', u'longitude': u'-122.22699737548828', u'nr_hotels': u'7', u'latitude': u'47.307498931884766'} +error: (1062, "Duplicate entry 'bainbridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bainbridge', u'countrycode': u'us', u'city_id': u'20143017', u'longitude': u'-122.51699829101562', u'nr_hotels': u'1', u'latitude': u'47.65530014038086'} +error: (1062, "Duplicate entry 'bainbridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bainbridge', u'countrycode': u'us', u'city_id': u'20143017', u'longitude': u'-122.51699829101562', u'nr_hotels': u'1', u'latitude': u'47.65530014038086'} +error: (1062, "Duplicate entry 'bellevue-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bellevue', u'countrycode': u'us', u'city_id': u'20143074', u'longitude': u'-122.1989974975586', u'nr_hotels': u'23', u'latitude': u'47.610599517822266'} +error: (1062, "Duplicate entry 'blaine-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Blaine', u'countrycode': u'us', u'city_id': u'20143112', u'longitude': u'-122.74600219726562', u'nr_hotels': u'3', u'latitude': u'48.993900299072266'} +error: (1062, "Duplicate entry 'blaine-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Blaine', u'countrycode': u'us', u'city_id': u'20143112', u'longitude': u'-122.74600219726562', u'nr_hotels': u'3', u'latitude': u'48.993900299072266'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20143185', u'longitude': u'-122.3239974975586', u'nr_hotels': u'4', u'latitude': u'48.475799560546875'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20143185', u'longitude': u'-122.3239974975586', u'nr_hotels': u'4', u'latitude': u'48.475799560546875'} +error: (1062, "Duplicate entry 'carson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Carson', u'countrycode': u'us', u'city_id': u'20143233', u'longitude': u'-121.81800079345703', u'nr_hotels': u'1', u'latitude': u'45.72560119628906'} +error: (1062, "Duplicate entry 'carson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Carson', u'countrycode': u'us', u'city_id': u'20143233', u'longitude': u'-121.81800079345703', u'nr_hotels': u'1', u'latitude': u'45.72560119628906'} +error: (1062, "Duplicate entry 'castle-rock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Castle Rock', u'countrycode': u'us', u'city_id': u'20143239', u'longitude': u'-122.90599822998047', u'nr_hotels': u'2', u'latitude': u'46.275299072265625'} +error: (1062, "Duplicate entry 'castle-rock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Castle Rock', u'countrycode': u'us', u'city_id': u'20143239', u'longitude': u'-122.90599822998047', u'nr_hotels': u'2', u'latitude': u'46.275299072265625'} +error: (1062, "Duplicate entry 'centralia-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Centralia', u'countrycode': u'us', u'city_id': u'20143259', u'longitude': u'-122.9530029296875', u'nr_hotels': u'6', u'latitude': u'46.716400146484375'} +error: (1062, "Duplicate entry 'centralia-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Centralia', u'countrycode': u'us', u'city_id': u'20143259', u'longitude': u'-122.9530029296875', u'nr_hotels': u'6', u'latitude': u'46.716400146484375'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20143422', u'longitude': u'-117.97100067138672', u'nr_hotels': u'2', u'latitude': u'46.32389831542969'} +error: (1062, "Duplicate entry 'dayton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dayton', u'countrycode': u'us', u'city_id': u'20143422', u'longitude': u'-117.97100067138672', u'nr_hotels': u'2', u'latitude': u'46.32389831542969'} +error: (1062, "Duplicate entry 'ellsworth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ellsworth', u'countrycode': u'us', u'city_id': u'20143567', u'longitude': u'-122.56300354003906', u'nr_hotels': u'1', u'latitude': u'45.60419845581055'} +error: (1062, "Duplicate entry 'ellsworth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ellsworth', u'countrycode': u'us', u'city_id': u'20143567', u'longitude': u'-122.56300354003906', u'nr_hotels': u'1', u'latitude': u'45.60419845581055'} +error: (1062, "Duplicate entry 'ephrata-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ephrata', u'countrycode': u'us', u'city_id': u'20143584', u'longitude': u'-119.552001953125', u'nr_hotels': u'1', u'latitude': u'47.31779861450195'} +error: (1062, "Duplicate entry 'ephrata-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ephrata', u'countrycode': u'us', u'city_id': u'20143584', u'longitude': u'-119.552001953125', u'nr_hotels': u'1', u'latitude': u'47.31779861450195'} +error: (1062, "Duplicate entry 'everett-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Everett', u'countrycode': u'us', u'city_id': u'20143603', u'longitude': u'-122.22152709960938', u'nr_hotels': u'14', u'latitude': u'47.96280288696289'} +error: (1062, "Duplicate entry 'everett-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u042d\u0432\u0435\u0440\u0435\u0442\u0442', u'countrycode': u'us', u'city_id': u'20143603', u'longitude': u'-122.22152709960938', u'nr_hotels': u'14', u'latitude': u'47.96280288696289'} +error: (1062, "Duplicate entry 'ferndale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ferndale', u'countrycode': u'us', u'city_id': u'20143643', u'longitude': u'-122.58999633789062', u'nr_hotels': u'2', u'latitude': u'48.84669876098633'} +error: (1062, "Duplicate entry 'ferndale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ferndale', u'countrycode': u'us', u'city_id': u'20143643', u'longitude': u'-122.58999633789062', u'nr_hotels': u'2', u'latitude': u'48.84669876098633'} +error: (1062, "Duplicate entry 'granite-falls-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Granite Falls', u'countrycode': u'us', u'city_id': u'20143775', u'longitude': u'-121.96700286865234', u'nr_hotels': u'1', u'latitude': u'48.08420181274414'} +error: (1062, "Duplicate entry 'granite-falls-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Granite Falls', u'countrycode': u'us', u'city_id': u'20143775', u'longitude': u'-121.96700286865234', u'nr_hotels': u'1', u'latitude': u'48.08420181274414'} +error: (1062, "Duplicate entry 'kent-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kent', u'countrycode': u'us', u'city_id': u'20144004', u'longitude': u'-122.23400115966797', u'nr_hotels': u'11', u'latitude': u'47.381099700927734'} +error: (1062, "Duplicate entry 'kent-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0435\u043d\u0442', u'countrycode': u'us', u'city_id': u'20144004', u'longitude': u'-122.23400115966797', u'nr_hotels': u'11', u'latitude': u'47.381099700927734'} +error: (1062, "Duplicate entry 'lakewood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lakewood', u'countrycode': u'us', u'city_id': u'20144086', u'longitude': u'-122.51699829101562', u'nr_hotels': u'5', u'latitude': u'47.17190170288086'} +error: (1062, "Duplicate entry 'lakewood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lakewood', u'countrycode': u'us', u'city_id': u'20144086', u'longitude': u'-122.51699829101562', u'nr_hotels': u'5', u'latitude': u'47.17190170288086'} +error: (1062, "Duplicate entry 'laurel-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Laurel', u'countrycode': u'us', u'city_id': u'20144108', u'longitude': u'-122.48899841308594', u'nr_hotels': u'1', u'latitude': u'48.85530090332031'} +error: (1062, "Duplicate entry 'laurel-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Laurel', u'countrycode': u'us', u'city_id': u'20144108', u'longitude': u'-122.48899841308594', u'nr_hotels': u'1', u'latitude': u'48.85530090332031'} +error: (1062, "Duplicate entry 'leavenworth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Leavenworth', u'countrycode': u'us', u'city_id': u'20144123', u'longitude': u'-120.66000366210938', u'nr_hotels': u'15', u'latitude': u'47.59640121459961'} +error: (1062, "Duplicate entry 'leavenworth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Leavenworth', u'countrycode': u'us', u'city_id': u'20144123', u'longitude': u'-120.66000366210938', u'nr_hotels': u'15', u'latitude': u'47.59640121459961'} +error: (1062, "Duplicate entry 'long-beach-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Long Beach', u'countrycode': u'us', u'city_id': u'20144161', u'longitude': u'-124.0530014038086', u'nr_hotels': u'9', u'latitude': u'46.352500915527344'} +error: (1062, "Duplicate entry 'long-beach-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Long Beach', u'countrycode': u'us', u'city_id': u'20144161', u'longitude': u'-124.0530014038086', u'nr_hotels': u'9', u'latitude': u'46.352500915527344'} +error: (1062, "Duplicate entry 'longview-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Longview', u'countrycode': u'us', u'city_id': u'20144166', u'longitude': u'-122.93699645996094', u'nr_hotels': u'5', u'latitude': u'46.138301849365234'} +error: (1062, "Duplicate entry 'longview-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Longview', u'countrycode': u'us', u'city_id': u'20144166', u'longitude': u'-122.93699645996094', u'nr_hotels': u'5', u'latitude': u'46.138301849365234'} +error: (1062, "Duplicate entry 'smedstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smedstorp', u'countrycode': u'se', u'city_id': u'-2521336', u'longitude': u'14.116700172424316', u'nr_hotels': u'4', u'latitude': u'55.56669998168945'} +error: (1062, "Duplicate entry 'smedstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smedstorp', u'countrycode': u'se', u'city_id': u'-2521336', u'longitude': u'14.116700172424316', u'nr_hotels': u'4', u'latitude': u'55.56669998168945'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20144255', u'longitude': u'-122.1760025024414', u'nr_hotels': u'5', u'latitude': u'48.05189895629883'} +error: (1062, "Duplicate entry 'marysville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marysville', u'countrycode': u'us', u'city_id': u'20144255', u'longitude': u'-122.1760025024414', u'nr_hotels': u'5', u'latitude': u'48.05189895629883'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20144370', u'longitude': u'-121.97000122070312', u'nr_hotels': u'3', u'latitude': u'47.85559844970703'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20144370', u'longitude': u'-121.97000122070312', u'nr_hotels': u'3', u'latitude': u'47.85559844970703'} +error: (1062, "Duplicate entry 'morton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morton', u'countrycode': u'us', u'city_id': u'20144386', u'longitude': u'-122.27400207519531', u'nr_hotels': u'1', u'latitude': u'46.55860137939453'} +error: (1062, "Duplicate entry 'morton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Morton', u'countrycode': u'us', u'city_id': u'20144386', u'longitude': u'-122.27400207519531', u'nr_hotels': u'1', u'latitude': u'46.55860137939453'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20144395', u'longitude': u'-122.33300018310547', u'nr_hotels': u'4', u'latitude': u'48.4213981628418'} +error: (1062, "Duplicate entry 'mount-vernon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Vernon', u'countrycode': u'us', u'city_id': u'20144395', u'longitude': u'-122.33300018310547', u'nr_hotels': u'4', u'latitude': u'48.4213981628418'} +error: (1062, "Duplicate entry 'north-bend-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'North Bend', u'countrycode': u'us', u'city_id': u'20144466', u'longitude': u'-121.78600311279297', u'nr_hotels': u'1', u'latitude': u'47.49580001831055'} +error: (1062, "Duplicate entry 'north-bend-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'North Bend', u'countrycode': u'us', u'city_id': u'20144466', u'longitude': u'-121.78600311279297', u'nr_hotels': u'1', u'latitude': u'47.49580001831055'} +error: (1062, "Duplicate entry 'oroville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Oroville', u'countrycode': u'us', u'city_id': u'20144550', u'longitude': u'-119.43399810791016', u'nr_hotels': u'0', u'latitude': u'48.93920135498047'} +error: (1062, "Duplicate entry 'oroville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Oroville', u'countrycode': u'us', u'city_id': u'20144550', u'longitude': u'-119.43399810791016', u'nr_hotels': u'0', u'latitude': u'48.93920135498047'} +error: (1062, "Duplicate entry 'pacific-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Pacific', u'countrycode': u'us', u'city_id': u'20144568', u'longitude': u'-122.2490005493164', u'nr_hotels': u'1', u'latitude': u'47.26470184326172'} +error: (1062, "Duplicate entry 'pacific-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Pacific', u'countrycode': u'us', u'city_id': u'20144568', u'longitude': u'-122.2490005493164', u'nr_hotels': u'1', u'latitude': u'47.26470184326172'} +error: (1062, "Duplicate entry 'quincy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Quincy', u'countrycode': u'us', u'city_id': u'20144710', u'longitude': u'-119.85099792480469', u'nr_hotels': u'3', u'latitude': u'47.23440170288086'} +error: (1062, "Duplicate entry 'quincy-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Quincy', u'countrycode': u'us', u'city_id': u'20144710', u'longitude': u'-119.85099792480469', u'nr_hotels': u'3', u'latitude': u'47.23440170288086'} +error: (1062, "Duplicate entry 'redmond-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Redmond', u'countrycode': u'us', u'city_id': u'20144727', u'longitude': u'-122.12000274658203', u'nr_hotels': u'6', u'latitude': u'47.674198150634766'} +error: (1062, "Duplicate entry 'redmond-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Redmond', u'countrycode': u'us', u'city_id': u'20144727', u'longitude': u'-122.12000274658203', u'nr_hotels': u'6', u'latitude': u'47.674198150634766'} +error: (1062, "Duplicate entry 'richland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Richland', u'countrycode': u'us', u'city_id': u'20144747', u'longitude': u'-119.28299713134766', u'nr_hotels': u'6', u'latitude': u'46.28580093383789'} +error: (1062, "Duplicate entry 'richland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Richland', u'countrycode': u'us', u'city_id': u'20144747', u'longitude': u'-119.28299713134766', u'nr_hotels': u'6', u'latitude': u'46.28580093383789'} +error: (1062, "Duplicate entry 'shelton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelton', u'countrycode': u'us', u'city_id': u'20144907', u'longitude': u'-123.0989990234375', u'nr_hotels': u'1', u'latitude': u'47.215301513671875'} +error: (1062, "Duplicate entry 'shelton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelton', u'countrycode': u'us', u'city_id': u'20144907', u'longitude': u'-123.0989990234375', u'nr_hotels': u'1', u'latitude': u'47.215301513671875'} +error: (1062, "Duplicate entry 'stevenson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stevenson', u'countrycode': u'us', u'city_id': u'20145021', u'longitude': u'-121.88300323486328', u'nr_hotels': u'2', u'latitude': u'45.69580078125'} +error: (1062, "Duplicate entry 'stevenson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stevenson', u'countrycode': u'us', u'city_id': u'20145021', u'longitude': u'-121.88300323486328', u'nr_hotels': u'2', u'latitude': u'45.69580078125'} +error: (1062, "Duplicate entry 'trinidad-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Trinidad', u'countrycode': u'us', u'city_id': u'20145158', u'longitude': u'-119.9990005493164', u'nr_hotels': u'0', u'latitude': u'47.22999954223633'} +error: (1062, "Duplicate entry 'trinidad-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Trinidad', u'countrycode': u'us', u'city_id': u'20145158', u'longitude': u'-119.9990005493164', u'nr_hotels': u'0', u'latitude': u'47.22999954223633'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20145187', u'longitude': u'-123.0999984741211', u'nr_hotels': u'0', u'latitude': u'47.35530090332031'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20145187', u'longitude': u'-123.0999984741211', u'nr_hotels': u'0', u'latitude': u'47.35530090332031'} +error: (1062, "Duplicate entry 'westport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Westport', u'countrycode': u'us', u'city_id': u'20145329', u'longitude': u'-124.10299682617188', u'nr_hotels': u'4', u'latitude': u'46.89030075073242'} +error: (1062, "Duplicate entry 'westport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Westport', u'countrycode': u'us', u'city_id': u'20145329', u'longitude': u'-124.10299682617188', u'nr_hotels': u'4', u'latitude': u'46.89030075073242'} +error: (1062, "Duplicate entry 'winthrop-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Winthrop', u'countrycode': u'us', u'city_id': u'20145378', u'longitude': u'-120.18499755859375', u'nr_hotels': u'3', u'latitude': u'48.47809982299805'} +error: (1062, "Duplicate entry 'winthrop-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Winthrop', u'countrycode': u'us', u'city_id': u'20145378', u'longitude': u'-120.18499755859375', u'nr_hotels': u'3', u'latitude': u'48.47809982299805'} +error: (1062, "Duplicate entry 'woodland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Woodland', u'countrycode': u'us', u'city_id': u'20145387', u'longitude': u'-122.74299621582031', u'nr_hotels': u'3', u'latitude': u'45.904701232910156'} +error: (1062, "Duplicate entry 'woodland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Woodland', u'countrycode': u'us', u'city_id': u'20145387', u'longitude': u'-122.74299621582031', u'nr_hotels': u'3', u'latitude': u'45.904701232910156'} +error: (1062, "Duplicate entry 'beaver-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beaver', u'countrycode': u'us', u'city_id': u'20145623', u'longitude': u'-81.14250183105469', u'nr_hotels': u'1', u'latitude': u'37.747501373291016'} +error: (1062, "Duplicate entry 'beaver-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beaver', u'countrycode': u'us', u'city_id': u'20145623', u'longitude': u'-81.14250183105469', u'nr_hotels': u'1', u'latitude': u'37.747501373291016'} +error: (1062, "Duplicate entry 'bridgeport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgeport', u'countrycode': u'us', u'city_id': u'20145832', u'longitude': u'-80.25640106201172', u'nr_hotels': u'5', u'latitude': u'39.286399841308594'} +error: (1062, "Duplicate entry 'charleston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Charleston', u'countrycode': u'us', u'city_id': u'20145998', u'longitude': u'-81.63279724121094', u'nr_hotels': u'15', u'latitude': u'38.349700927734375'} +error: (1062, "Duplicate entry 'charl-ston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0427\u0430\u0440\u043b\u044c\u0441\u0442\u043e\u043d', u'countrycode': u'us', u'city_id': u'20145998', u'longitude': u'-81.63279724121094', u'nr_hotels': u'15', u'latitude': u'38.349700927734375'} +error: (1062, "Duplicate entry 'comfort-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Comfort', u'countrycode': u'us', u'city_id': u'20146112', u'longitude': u'-81.61579895019531', u'nr_hotels': u'1', u'latitude': u'38.13029861450195'} +error: (1062, "Duplicate entry 'comfort-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Comfort', u'countrycode': u'us', u'city_id': u'20146112', u'longitude': u'-81.61579895019531', u'nr_hotels': u'1', u'latitude': u'38.13029861450195'} +error: (1062, "Duplicate entry 'cortland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cortland', u'countrycode': u'us', u'city_id': u'20146140', u'longitude': u'-79.42780303955078', u'nr_hotels': u'2', u'latitude': u'39.066898345947266'} +error: (1062, "Duplicate entry 'cortland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cortland', u'countrycode': u'us', u'city_id': u'20146140', u'longitude': u'-79.42780303955078', u'nr_hotels': u'2', u'latitude': u'39.066898345947266'} +error: (1062, "Duplicate entry 'davis-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Davis', u'countrycode': u'us', u'city_id': u'20146239', u'longitude': u'-79.46499633789062', u'nr_hotels': u'1', u'latitude': u'39.12860107421875'} +error: (1062, "Duplicate entry 'davis-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Davis', u'countrycode': u'us', u'city_id': u'20146239', u'longitude': u'-79.46499633789062', u'nr_hotels': u'1', u'latitude': u'39.12860107421875'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517524', u'longitude': u'11.883299827575684', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517524', u'longitude': u'11.883299827575684', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517492', u'longitude': u'16.850000381469727', u'nr_hotels': u'0', u'latitude': u'57.06669998168945'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517492', u'longitude': u'16.850000381469727', u'nr_hotels': u'0', u'latitude': u'57.06669998168945'} +error: (1062, "Duplicate entry 'fairmont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fairmont', u'countrycode': u'us', u'city_id': u'20146514', u'longitude': u'-80.1427993774414', u'nr_hotels': u'3', u'latitude': u'39.48500061035156'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20146546', u'longitude': u'-81.10420227050781', u'nr_hotels': u'2', u'latitude': u'38.052799224853516'} +error: (1062, "Duplicate entry 'fayetteville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fayetteville', u'countrycode': u'us', u'city_id': u'20146546', u'longitude': u'-81.10420227050781', u'nr_hotels': u'2', u'latitude': u'38.052799224853516'} +error: (1062, "Duplicate entry 'hancock-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hancock', u'countrycode': u'us', u'city_id': u'20146866', u'longitude': u'-78.18111419677734', u'nr_hotels': u'1', u'latitude': u'39.701683044433594'} +error: (1062, "Duplicate entry 'hancock-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hancock', u'countrycode': u'us', u'city_id': u'20146866', u'longitude': u'-78.18111419677734', u'nr_hotels': u'1', u'latitude': u'39.701683044433594'} +error: (1062, "Duplicate entry 'huntington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Huntington', u'countrycode': u'us', u'city_id': u'20147067', u'longitude': u'-82.44529724121094', u'nr_hotels': u'4', u'latitude': u'38.4192008972168'} +error: (1062, "Duplicate entry 'huntington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Huntington', u'countrycode': u'us', u'city_id': u'20147067', u'longitude': u'-82.44529724121094', u'nr_hotels': u'4', u'latitude': u'38.4192008972168'} +error: (1062, "Duplicate entry 'inwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Inwood', u'countrycode': u'us', u'city_id': u'20147096', u'longitude': u'-78.04029846191406', u'nr_hotels': u'1', u'latitude': u'39.3577995300293'} +error: (1062, "Duplicate entry 'inwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Inwood', u'countrycode': u'us', u'city_id': u'20147096', u'longitude': u'-78.04029846191406', u'nr_hotels': u'1', u'latitude': u'39.3577995300293'} +error: (1062, "Duplicate entry 'lewisburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lewisburg', u'countrycode': u'us', u'city_id': u'20147370', u'longitude': u'-80.44580078125', u'nr_hotels': u'5', u'latitude': u'37.801700592041016'} +error: (1062, "Duplicate entry 'lewisburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lewisburg', u'countrycode': u'us', u'city_id': u'20147370', u'longitude': u'-80.44580078125', u'nr_hotels': u'5', u'latitude': u'37.801700592041016'} +error: (1062, "Duplicate entry 'morgantown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Morgantown', u'countrycode': u'us', u'city_id': u'20147758', u'longitude': u'-79.95610046386719', u'nr_hotels': u'14', u'latitude': u'39.629398345947266'} +error: (1062, "Duplicate entry 'princeton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Princeton', u'countrycode': u'us', u'city_id': u'20148189', u'longitude': u'-81.10279846191406', u'nr_hotels': u'5', u'latitude': u'37.3661003112793'} +error: (1062, "Duplicate entry 'princeton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Princeton', u'countrycode': u'us', u'city_id': u'20148189', u'longitude': u'-81.10279846191406', u'nr_hotels': u'5', u'latitude': u'37.3661003112793'} +error: (1062, "Duplicate entry 'ripley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ripley', u'countrycode': u'us', u'city_id': u'20148308', u'longitude': u'-81.71080017089844', u'nr_hotels': u'2', u'latitude': u'38.818599700927734'} +error: (1062, "Duplicate entry 'ripley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ripley', u'countrycode': u'us', u'city_id': u'20148308', u'longitude': u'-81.71080017089844', u'nr_hotels': u'2', u'latitude': u'38.818599700927734'} +error: (1062, "Duplicate entry 'saint-albans-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saint Albans', u'countrycode': u'us', u'city_id': u'20148422', u'longitude': u'-81.8364028930664', u'nr_hotels': u'1', u'latitude': u'38.38560104370117'} +error: (1062, "Duplicate entry 'saint-albans-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saint Albans', u'countrycode': u'us', u'city_id': u'20148422', u'longitude': u'-81.8364028930664', u'nr_hotels': u'1', u'latitude': u'38.38560104370117'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516495', u'longitude': u'13.41670036315918', u'nr_hotels': u'1', u'latitude': u'56.66669845581055'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516495', u'longitude': u'13.41670036315918', u'nr_hotels': u'1', u'latitude': u'56.66669845581055'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516492', u'longitude': u'14.683300018310547', u'nr_hotels': u'9', u'latitude': u'56.46670150756836'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516492', u'longitude': u'14.683300018310547', u'nr_hotels': u'9', u'latitude': u'56.46670150756836'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20148885', u'longitude': u'-80.03829956054688', u'nr_hotels': u'1', u'latitude': u'39.099998474121094'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20148885', u'longitude': u'-80.03829956054688', u'nr_hotels': u'1', u'latitude': u'39.099998474121094'} +error: (1062, "Duplicate entry 'vienna-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vienna', u'countrycode': u'us', u'city_id': u'20148956', u'longitude': u'-81.54859924316406', u'nr_hotels': u'1', u'latitude': u'39.326900482177734'} +error: (1062, "Duplicate entry 'vienna-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u0435\u043d\u043d\u0430', u'countrycode': u'us', u'city_id': u'20148956', u'longitude': u'-81.54859924316406', u'nr_hotels': u'1', u'latitude': u'39.326900482177734'} +error: (1062, "Duplicate entry 'wheeling-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wheeling', u'countrycode': u'us', u'city_id': u'20149083', u'longitude': u'-80.72109985351562', u'nr_hotels': u'4', u'latitude': u'40.063899993896484'} +error: (1062, "Duplicate entry 'wheeling-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wheeling', u'countrycode': u'us', u'city_id': u'20149083', u'longitude': u'-80.72109985351562', u'nr_hotels': u'4', u'latitude': u'40.063899993896484'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20149131', u'longitude': u'-81.44830322265625', u'nr_hotels': u'1', u'latitude': u'39.40060043334961'} +error: (1062, "Duplicate entry 'williamstown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Williamstown', u'countrycode': u'us', u'city_id': u'20149131', u'longitude': u'-81.44830322265625', u'nr_hotels': u'1', u'latitude': u'39.40060043334961'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20149310', u'longitude': u'-90.88359832763672', u'nr_hotels': u'2', u'latitude': u'46.592498779296875'} +error: (1062, "Duplicate entry 'ashland-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ashland', u'countrycode': u'us', u'city_id': u'20149310', u'longitude': u'-90.88359832763672', u'nr_hotels': u'2', u'latitude': u'46.592498779296875'} +error: (1062, "Duplicate entry 'baldwin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Baldwin', u'countrycode': u'us', u'city_id': u'20149343', u'longitude': u'-92.37419891357422', u'nr_hotels': u'1', u'latitude': u'44.96670150756836'} +error: (1062, "Duplicate entry 'baldwin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Baldwin', u'countrycode': u'us', u'city_id': u'20149343', u'longitude': u'-92.37419891357422', u'nr_hotels': u'1', u'latitude': u'44.96670150756836'} +error: (1062, "Duplicate entry 'beaver-dam-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Beaver Dam', u'countrycode': u'us', u'city_id': u'20149382', u'longitude': u'-88.83719635009766', u'nr_hotels': u'1', u'latitude': u'43.457801818847656'} +error: (1062, "Duplicate entry 'beaver-dam-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Beaver Dam', u'countrycode': u'us', u'city_id': u'20149382', u'longitude': u'-88.83719635009766', u'nr_hotels': u'1', u'latitude': u'43.457801818847656'} +error: (1062, "Duplicate entry 'belmont-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Belmont', u'countrycode': u'us', u'city_id': u'20149400', u'longitude': u'-90.33419799804688', u'nr_hotels': u'1', u'latitude': u'42.73609924316406'} +error: (1062, "Duplicate entry 'belmont-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Belmont', u'countrycode': u'us', u'city_id': u'20149400', u'longitude': u'-90.33419799804688', u'nr_hotels': u'1', u'latitude': u'42.73609924316406'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20149494', u'longitude': u'-88.10639953613281', u'nr_hotels': u'13', u'latitude': u'43.06060028076172'} +error: (1062, "Duplicate entry 'brookfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brookfield', u'countrycode': u'us', u'city_id': u'20149494', u'longitude': u'-88.10639953613281', u'nr_hotels': u'13', u'latitude': u'43.06060028076172'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20149529', u'longitude': u'-88.2761001586914', u'nr_hotels': u'3', u'latitude': u'42.6781005859375'} +error: (1062, "Duplicate entry 'burlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burlington', u'countrycode': u'us', u'city_id': u'20149529', u'longitude': u'-88.2761001586914', u'nr_hotels': u'3', u'latitude': u'42.6781005859375'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20149555', u'longitude': u'-89.01640319824219', u'nr_hotels': u'1', u'latitude': u'43.00360107421875'} +error: (1062, "Duplicate entry 'cambridge-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cambridge', u'countrycode': u'us', u'city_id': u'20149555', u'longitude': u'-89.01640319824219', u'nr_hotels': u'1', u'latitude': u'43.00360107421875'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20149556', u'longitude': u'-91.743896484375', u'nr_hotels': u'1', u'latitude': u'45.408599853515625'} +error: (1062, "Duplicate entry 'cameron-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Cameron', u'countrycode': u'us', u'city_id': u'20149556', u'longitude': u'-91.743896484375', u'nr_hotels': u'1', u'latitude': u'45.408599853515625'} +error: (1062, "Duplicate entry 'darlington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Darlington', u'countrycode': u'us', u'city_id': u'20149734', u'longitude': u'-90.11750030517578', u'nr_hotels': u'1', u'latitude': u'42.683101654052734'} +error: (1062, "Duplicate entry 'darlington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Darlington', u'countrycode': u'us', u'city_id': u'20149734', u'longitude': u'-90.11750030517578', u'nr_hotels': u'1', u'latitude': u'42.683101654052734'} +error: (1062, "Duplicate entry 'durand-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Durand', u'countrycode': u'us', u'city_id': u'20149803', u'longitude': u'-91.9655990600586', u'nr_hotels': u'1', u'latitude': u'44.626399993896484'} +error: (1062, "Duplicate entry 'durand-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Durand', u'countrycode': u'us', u'city_id': u'20149803', u'longitude': u'-91.9655990600586', u'nr_hotels': u'1', u'latitude': u'44.626399993896484'} +error: (1062, "Duplicate entry 'fontana-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fontana', u'countrycode': u'us', u'city_id': u'20149943', u'longitude': u'-88.57499694824219', u'nr_hotels': u'2', u'latitude': u'42.55139923095703'} +error: (1062, "Duplicate entry 'fontana-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fontana', u'countrycode': u'us', u'city_id': u'20149943', u'longitude': u'-88.57499694824219', u'nr_hotels': u'2', u'latitude': u'42.55139923095703'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Franklin', u'countrycode': u'us', u'city_id': u'20149970', u'longitude': u'-88.03829956054688', u'nr_hotels': u'1', u'latitude': u'42.88859939575195'} +error: (1062, "Duplicate entry 'franklin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0424\u0440\u0430\u043d\u043a\u043b\u0438\u043d', u'countrycode': u'us', u'city_id': u'20149970', u'longitude': u'-88.03829956054688', u'nr_hotels': u'1', u'latitude': u'42.88859939575195'} +error: (1062, "Duplicate entry 'germantown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Germantown', u'countrycode': u'us', u'city_id': u'20150000', u'longitude': u'-88.11029815673828', u'nr_hotels': u'4', u'latitude': u'43.228599548339844'} +error: (1062, "Duplicate entry 'germantown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Germantown', u'countrycode': u'us', u'city_id': u'20150000', u'longitude': u'-88.11029815673828', u'nr_hotels': u'4', u'latitude': u'43.228599548339844'} +error: (1062, "Duplicate entry 'glendale-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Glendale', u'countrycode': u'us', u'city_id': u'20150020', u'longitude': u'-87.93560028076172', u'nr_hotels': u'4', u'latitude': u'43.13529968261719'} +error: (1062, "Duplicate entry 'glendale-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Glendale', u'countrycode': u'us', u'city_id': u'20150020', u'longitude': u'-87.93560028076172', u'nr_hotels': u'4', u'latitude': u'43.13529968261719'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20150036', u'longitude': u'-87.95330047607422', u'nr_hotels': u'2', u'latitude': u'43.319698333740234'} +error: (1062, "Duplicate entry 'grafton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grafton', u'countrycode': u'us', u'city_id': u'20150036', u'longitude': u'-87.95330047607422', u'nr_hotels': u'2', u'latitude': u'43.319698333740234'} +error: (1062, "Duplicate entry 'hartford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hartford', u'countrycode': u'us', u'city_id': u'20150092', u'longitude': u'-88.37889862060547', u'nr_hotels': u'1', u'latitude': u'43.31779861450195'} +error: (1062, "Duplicate entry 'hartford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hartford', u'countrycode': u'us', u'city_id': u'20150092', u'longitude': u'-88.37889862060547', u'nr_hotels': u'1', u'latitude': u'43.31779861450195'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20150187', u'longitude': u'-92.75669860839844', u'nr_hotels': u'3', u'latitude': u'44.974700927734375'} +error: (1062, "Duplicate entry 'hudson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hudson', u'countrycode': u'us', u'city_id': u'20150187', u'longitude': u'-92.75669860839844', u'nr_hotels': u'3', u'latitude': u'44.974700927734375'} +error: (1062, "Duplicate entry 'hurley-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hurley', u'countrycode': u'us', u'city_id': u'20150195', u'longitude': u'-90.1864013671875', u'nr_hotels': u'1', u'latitude': u'46.44969940185547'} +error: (1062, "Duplicate entry 'hurley-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hurley', u'countrycode': u'us', u'city_id': u'20150195', u'longitude': u'-90.1864013671875', u'nr_hotels': u'1', u'latitude': u'46.44969940185547'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20150238', u'longitude': u'-88.16670227050781', u'nr_hotels': u'1', u'latitude': u'43.32389831542969'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20150238', u'longitude': u'-88.16670227050781', u'nr_hotels': u'1', u'latitude': u'43.32389831542969'} +error: (1062, "Duplicate entry 'lancaster-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lancaster', u'countrycode': u'us', u'city_id': u'20150370', u'longitude': u'-90.71060180664062', u'nr_hotels': u'2', u'latitude': u'42.84749984741211'} +error: (1062, "Duplicate entry 'lankaster-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0430\u043d\u043a\u0430\u0441\u0442\u0435\u0440', u'countrycode': u'us', u'city_id': u'20150370', u'longitude': u'-90.71060180664062', u'nr_hotels': u'2', u'latitude': u'42.84749984741211'} +error: (1062, "Duplicate entry 'lodi-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lodi', u'countrycode': u'us', u'city_id': u'20150442', u'longitude': u'-89.52639770507812', u'nr_hotels': u'2', u'latitude': u'43.313899993896484'} +error: (1062, "Duplicate entry 'lodi-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Lodi', u'countrycode': u'us', u'city_id': u'20150442', u'longitude': u'-89.52639770507812', u'nr_hotels': u'2', u'latitude': u'43.313899993896484'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20150485', u'longitude': u'-89.3843994140625', u'nr_hotels': u'38', u'latitude': u'43.074710845947266'} +error: (1062, "Duplicate entry 'madison-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Madison', u'countrycode': u'us', u'city_id': u'20150485', u'longitude': u'-89.3843994140625', u'nr_hotels': u'38', u'latitude': u'43.074710845947266'} +error: (1062, "Duplicate entry 'marshfield-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marshfield', u'countrycode': u'us', u'city_id': u'20150523', u'longitude': u'-90.17169952392578', u'nr_hotels': u'5', u'latitude': u'44.66889953613281'} +error: (1062, "Duplicate entry 'marshfield-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Marshfield', u'countrycode': u'us', u'city_id': u'20150523', u'longitude': u'-90.17169952392578', u'nr_hotels': u'5', u'latitude': u'44.66889953613281'} +error: (1062, "Duplicate entry 'mercer-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mercer', u'countrycode': u'us', u'city_id': u'20150569', u'longitude': u'-90.0625', u'nr_hotels': u'1', u'latitude': u'46.16559982299805'} +error: (1062, "Duplicate entry 'mercer-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mercer', u'countrycode': u'us', u'city_id': u'20150569', u'longitude': u'-90.0625', u'nr_hotels': u'1', u'latitude': u'46.16559982299805'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20150617', u'longitude': u'-89.63829803466797', u'nr_hotels': u'1', u'latitude': u'42.60110092163086'} +error: (1062, "Duplicate entry 'monroe-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Monroe', u'countrycode': u'us', u'city_id': u'20150617', u'longitude': u'-89.63829803466797', u'nr_hotels': u'1', u'latitude': u'42.60110092163086'} +error: (1062, "Duplicate entry 'mount-morris-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Morris', u'countrycode': u'us', u'city_id': u'20150646', u'longitude': u'-89.19059753417969', u'nr_hotels': u'1', u'latitude': u'44.11439895629883'} +error: (1062, "Duplicate entry 'mount-morris-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Mount Morris', u'countrycode': u'us', u'city_id': u'20150646', u'longitude': u'-89.19059753417969', u'nr_hotels': u'1', u'latitude': u'44.11439895629883'} +error: (1062, "Duplicate entry 'new-london-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'New London', u'countrycode': u'us', u'city_id': u'20150699', u'longitude': u'-88.73970031738281', u'nr_hotels': u'2', u'latitude': u'44.392799377441406'} +error: (1062, "Duplicate entry 'new-london-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'New London', u'countrycode': u'us', u'city_id': u'20150699', u'longitude': u'-88.73970031738281', u'nr_hotels': u'2', u'latitude': u'44.392799377441406'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20150912', u'longitude': u'-87.97689819335938', u'nr_hotels': u'2', u'latitude': u'43.748600006103516'} +error: (1062, "Duplicate entry 'plymouth-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Plymouth', u'countrycode': u'us', u'city_id': u'20150912', u'longitude': u'-87.97689819335938', u'nr_hotels': u'2', u'latitude': u'43.748600006103516'} +error: (1062, "Duplicate entry 'portage-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Portage', u'countrycode': u'us', u'city_id': u'20150929', u'longitude': u'-89.4625015258789', u'nr_hotels': u'3', u'latitude': u'43.53919982910156'} +error: (1062, "Duplicate entry 'portage-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Portage', u'countrycode': u'us', u'city_id': u'20150929', u'longitude': u'-89.4625015258789', u'nr_hotels': u'3', u'latitude': u'43.53919982910156'} +error: (1062, "Duplicate entry 'ripon-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ripon', u'countrycode': u'us', u'city_id': u'20151032', u'longitude': u'-88.83580017089844', u'nr_hotels': u'2', u'latitude': u'43.842201232910156'} +error: (1062, "Duplicate entry 'ripon-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ripon', u'countrycode': u'us', u'city_id': u'20151032', u'longitude': u'-88.83580017089844', u'nr_hotels': u'2', u'latitude': u'43.842201232910156'} +error: (1062, "Duplicate entry 'shell-lake-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shell Lake', u'countrycode': u'us', u'city_id': u'20151169', u'longitude': u'-91.92530059814453', u'nr_hotels': u'1', u'latitude': u'45.73939895629883'} +error: (1062, "Duplicate entry 'shell-lake-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shell Lake', u'countrycode': u'us', u'city_id': u'20151169', u'longitude': u'-91.92530059814453', u'nr_hotels': u'1', u'latitude': u'45.73939895629883'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20151229', u'longitude': u'-90.81279754638672', u'nr_hotels': u'4', u'latitude': u'43.94419860839844'} +error: (1062, "Duplicate entry 'sparta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sparta', u'countrycode': u'us', u'city_id': u'20151229', u'longitude': u'-90.81279754638672', u'nr_hotels': u'4', u'latitude': u'43.94419860839844'} +error: (1062, "Duplicate entry 'stoughton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Stoughton', u'countrycode': u'us', u'city_id': u'20151282', u'longitude': u'-89.2177963256836', u'nr_hotels': u'1', u'latitude': u'42.916900634765625'} +error: (1062, "Duplicate entry 'stoughton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Stoughton', u'countrycode': u'us', u'city_id': u'20151282', u'longitude': u'-89.2177963256836', u'nr_hotels': u'1', u'latitude': u'42.916900634765625'} +error: (1062, "Duplicate entry 'superior-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Superior', u'countrycode': u'us', u'city_id': u'20151309', u'longitude': u'-92.10389709472656', u'nr_hotels': u'3', u'latitude': u'46.72079849243164'} +error: (1062, "Duplicate entry 'superior-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Superior', u'countrycode': u'us', u'city_id': u'20151309', u'longitude': u'-92.10389709472656', u'nr_hotels': u'3', u'latitude': u'46.72079849243164'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20151400', u'longitude': u'-91.54859924316406', u'nr_hotels': u'2', u'latitude': u'44.843299865722656'} +error: (1062, "Duplicate entry 'union-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Union', u'countrycode': u'us', u'city_id': u'20151400', u'longitude': u'-91.54859924316406', u'nr_hotels': u'2', u'latitude': u'44.843299865722656'} +error: (1062, "Duplicate entry 'verona-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Verona', u'countrycode': u'us', u'city_id': u'20151426', u'longitude': u'-89.53309631347656', u'nr_hotels': u'2', u'latitude': u'42.99079895019531'} +error: (1062, "Duplicate entry 'verona-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Verona', u'countrycode': u'us', u'city_id': u'20151426', u'longitude': u'-89.53309631347656', u'nr_hotels': u'2', u'latitude': u'42.99079895019531'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20151454', u'longitude': u'-88.21420288085938', u'nr_hotels': u'1', u'latitude': u'42.763099670410156'} +error: (1062, "Duplicate entry 'waterford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Waterford', u'countrycode': u'us', u'city_id': u'20151454', u'longitude': u'-88.21420288085938', u'nr_hotels': u'1', u'latitude': u'42.763099670410156'} +error: (1062, "Duplicate entry 'watertown-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Watertown', u'countrycode': u'us', u'city_id': u'20151456', u'longitude': u'-88.72889709472656', u'nr_hotels': u'1', u'latitude': u'43.194698333740234'} +error: (1062, "Duplicate entry 'watertown-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Watertown', u'countrycode': u'us', u'city_id': u'20151456', u'longitude': u'-88.72889709472656', u'nr_hotels': u'1', u'latitude': u'43.194698333740234'} +error: (1062, "Duplicate entry 'orsa-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Orsa', u'countrycode': u'se', u'city_id': u'-2510420', u'longitude': u'14.716699600219727', u'nr_hotels': u'1', u'latitude': u'61.18330001831055'} +error: (1062, "Duplicate entry 'orsa-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Orsa', u'countrycode': u'se', u'city_id': u'-2510420', u'longitude': u'14.716699600219727', u'nr_hotels': u'1', u'latitude': u'61.18330001831055'} +error: (1062, "Duplicate entry 'weston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Weston', u'countrycode': u'us', u'city_id': u'20151510', u'longitude': u'-89.54750061035156', u'nr_hotels': u'1', u'latitude': u'44.89080047607422'} +error: (1062, "Duplicate entry 'weston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Weston', u'countrycode': u'us', u'city_id': u'20151510', u'longitude': u'-89.54750061035156', u'nr_hotels': u'1', u'latitude': u'44.89080047607422'} +error: (1062, "Duplicate entry 'windsor-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Windsor', u'countrycode': u'us', u'city_id': u'20151553', u'longitude': u'-89.34140014648438', u'nr_hotels': u'1', u'latitude': u'43.218299865722656'} +error: (1062, "Duplicate entry 'vindzor-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0412\u0438\u043d\u0434\u0437\u043e\u0440', u'countrycode': u'us', u'city_id': u'20151553', u'longitude': u'-89.34140014648438', u'nr_hotels': u'1', u'latitude': u'43.218299865722656'} +error: (1062, "Duplicate entry 'alpine-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alpine', u'countrycode': u'us', u'city_id': u'20151617', u'longitude': u'-111.03399658203125', u'nr_hotels': u'2', u'latitude': u'43.17530059814453'} +error: (1062, "Duplicate entry 'alpine-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alpine', u'countrycode': u'us', u'city_id': u'20151617', u'longitude': u'-111.03399658203125', u'nr_hotels': u'2', u'latitude': u'43.17530059814453'} +error: (1062, "Duplicate entry 'alta-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alta', u'countrycode': u'us', u'city_id': u'20151619', u'longitude': u'-111.03600311279297', u'nr_hotels': u'1', u'latitude': u'43.75389862060547'} +error: (1062, "Duplicate entry 'alta-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alta', u'countrycode': u'us', u'city_id': u'20151619', u'longitude': u'-111.03600311279297', u'nr_hotels': u'1', u'latitude': u'43.75389862060547'} +error: (1062, "Duplicate entry 'alva-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Alva', u'countrycode': u'us', u'city_id': u'20151622', u'longitude': u'-104.44100189208984', u'nr_hotels': u'1', u'latitude': u'44.694698333740234'} +error: (1062, "Duplicate entry 'alva-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Alva', u'countrycode': u'us', u'city_id': u'20151622', u'longitude': u'-104.44100189208984', u'nr_hotels': u'1', u'latitude': u'44.694698333740234'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buffalo', u'countrycode': u'us', u'city_id': u'20151683', u'longitude': u'-106.697998046875', u'nr_hotels': u'8', u'latitude': u'44.34830093383789'} +error: (1062, "Duplicate entry 'buffalo-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buffalo', u'countrycode': u'us', u'city_id': u'20151683', u'longitude': u'-106.697998046875', u'nr_hotels': u'8', u'latitude': u'44.34830093383789'} +error: (1062, "Duplicate entry 'buford-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Buford', u'countrycode': u'us', u'city_id': u'20151685', u'longitude': u'-105.30400085449219', u'nr_hotels': u'1', u'latitude': u'41.12189865112305'} +error: (1062, "Duplicate entry 'buford-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Buford', u'countrycode': u'us', u'city_id': u'20151685', u'longitude': u'-105.30400085449219', u'nr_hotels': u'1', u'latitude': u'41.12189865112305'} +error: (1062, "Duplicate entry 'douglas-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Douglas', u'countrycode': u'us', u'city_id': u'20151749', u'longitude': u'-105.38200378417969', u'nr_hotels': u'1', u'latitude': u'42.759700775146484'} +error: (1062, "Duplicate entry 'douglas-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Douglas', u'countrycode': u'us', u'city_id': u'20151749', u'longitude': u'-105.38200378417969', u'nr_hotels': u'1', u'latitude': u'42.759700775146484'} +error: (1062, "Duplicate entry 'evanston-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Evanston', u'countrycode': u'us', u'city_id': u'20151779', u'longitude': u'-110.96299743652344', u'nr_hotels': u'10', u'latitude': u'41.2682991027832'} +error: (1062, "Duplicate entry 'evanston-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Evanston', u'countrycode': u'us', u'city_id': u'20151779', u'longitude': u'-110.96299743652344', u'nr_hotels': u'10', u'latitude': u'41.2682991027832'} +error: (1062, "Duplicate entry 'green-river-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Green River', u'countrycode': u'us', u'city_id': u'20151813', u'longitude': u'-109.46600341796875', u'nr_hotels': u'2', u'latitude': u'41.52859878540039'} +error: (1062, "Duplicate entry 'green-river-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Green River', u'countrycode': u'us', u'city_id': u'20151813', u'longitude': u'-109.46600341796875', u'nr_hotels': u'2', u'latitude': u'41.52859878540039'} +error: (1062, "Duplicate entry 'jackson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Jackson', u'countrycode': u'us', u'city_id': u'20151854', u'longitude': u'-110.76200103759766', u'nr_hotels': u'37', u'latitude': u'43.47999954223633'} +error: (1062, "Duplicate entry 'dzhekson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0414\u0436\u0435\u043a\u0441\u043e\u043d', u'countrycode': u'us', u'city_id': u'20151854', u'longitude': u'-110.76200103759766', u'nr_hotels': u'37', u'latitude': u'43.47999954223633'} +error: (1062, "Duplicate entry 'powell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Powell', u'countrycode': u'us', u'city_id': u'20151992', u'longitude': u'-108.75700378417969', u'nr_hotels': u'1', u'latitude': u'44.75389862060547'} +error: (1062, "Duplicate entry 'powell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Powell', u'countrycode': u'us', u'city_id': u'20151992', u'longitude': u'-108.75700378417969', u'nr_hotels': u'1', u'latitude': u'44.75389862060547'} +error: (1062, "Duplicate entry 'saratoga-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Saratoga', u'countrycode': u'us', u'city_id': u'20152037', u'longitude': u'-106.80599975585938', u'nr_hotels': u'1', u'latitude': u'41.45500183105469'} +error: (1062, "Duplicate entry 'saratoga-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Saratoga', u'countrycode': u'us', u'city_id': u'20152037', u'longitude': u'-106.80599975585938', u'nr_hotels': u'1', u'latitude': u'41.45500183105469'} +error: (1062, "Duplicate entry 'sheridan-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sheridan', u'countrycode': u'us', u'city_id': u'20152044', u'longitude': u'-106.95600128173828', u'nr_hotels': u'14', u'latitude': u'44.79719924926758'} +error: (1062, "Duplicate entry 'sheridan-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sheridan', u'countrycode': u'us', u'city_id': u'20152044', u'longitude': u'-106.95600128173828', u'nr_hotels': u'14', u'latitude': u'44.79719924926758'} +error: (1062, "Duplicate entry 'torrington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torrington', u'countrycode': u'us', u'city_id': u'20152098', u'longitude': u'-104.18099975585938', u'nr_hotels': u'2', u'latitude': u'42.064998626708984'} +error: (1062, "Duplicate entry 'torrington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torrington', u'countrycode': u'us', u'city_id': u'20152098', u'longitude': u'-104.18099975585938', u'nr_hotels': u'2', u'latitude': u'42.064998626708984'} +error: (1062, "Duplicate entry 'wilson-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Wilson', u'countrycode': u'us', u'city_id': u'20152140', u'longitude': u'-110.8740005493164', u'nr_hotels': u'5', u'latitude': u'43.50080108642578'} +error: (1062, "Duplicate entry 'wilson-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Wilson', u'countrycode': u'us', u'city_id': u'20152140', u'longitude': u'-110.8740005493164', u'nr_hotels': u'5', u'latitude': u'43.50080108642578'} +error: (1062, "Duplicate entry 'inverness-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Inverness', u'countrycode': u'us', u'city_id': u'900040176', u'longitude': u'-82.33039855957031', u'nr_hotels': u'3', u'latitude': u'28.835500717163086'} +error: (1062, "Duplicate entry 'inverness-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Inverness', u'countrycode': u'us', u'city_id': u'900040176', u'longitude': u'-82.33039855957031', u'nr_hotels': u'3', u'latitude': u'28.835500717163086'} +error: (1062, "Duplicate entry 'hawthorne-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hawthorne', u'countrycode': u'us', u'city_id': u'900040177', u'longitude': u'-118.34400177001953', u'nr_hotels': u'8', u'latitude': u'33.91600036621094'} +error: (1062, "Duplicate entry 'mount-pleasant-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mount Pleasant', u'countrycode': u'us', u'city_id': u'900040258', u'longitude': u'-79.84829711914062', u'nr_hotels': u'0', u'latitude': u'32.80289840698242'} +error: (1062, "Duplicate entry 'bridgewater-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bridgewater', u'countrycode': u'us', u'city_id': u'900040679', u'longitude': u'-74.62329864501953', u'nr_hotels': u'4', u'latitude': u'40.595699310302734'} +error: (1062, "Duplicate entry 'bridgewater-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bridgewater', u'countrycode': u'us', u'city_id': u'900040679', u'longitude': u'-74.62329864501953', u'nr_hotels': u'4', u'latitude': u'40.595699310302734'} +error: (1062, "Duplicate entry 'sandy-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandy', u'countrycode': u'us', u'city_id': u'900040802', u'longitude': u'-111.87200164794922', u'nr_hotels': u'8', u'latitude': u'40.5807991027832'} +error: (1062, "Duplicate entry 'commerce-city-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Commerce City', u'countrycode': u'us', u'city_id': u'900040842', u'longitude': u'-104.79100036621094', u'nr_hotels': u'1', u'latitude': u'39.85639953613281'} +error: (1062, "Duplicate entry 'commerce-city-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Commerce City', u'countrycode': u'us', u'city_id': u'900040842', u'longitude': u'-104.79100036621094', u'nr_hotels': u'1', u'latitude': u'39.85639953613281'} +error: (1062, "Duplicate entry 'grand-island-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Grand Island', u'countrycode': u'us', u'city_id': u'900040939', u'longitude': u'-78.96520233154297', u'nr_hotels': u'3', u'latitude': u'43.00709915161133'} +error: (1062, "Duplicate entry 'grand-island-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Grand Island', u'countrycode': u'us', u'city_id': u'900040939', u'longitude': u'-78.96520233154297', u'nr_hotels': u'3', u'latitude': u'43.00709915161133'} +error: (1062, "Duplicate entry 'n-yuport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'900040984', u'longitude': u'-83.18769836425781', u'nr_hotels': u'6', u'latitude': u'35.96699905395508'} +error: (1062, "Duplicate entry 'easton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Easton', u'countrycode': u'us', u'city_id': u'900040998', u'longitude': u'-75.220703125', u'nr_hotels': u'6', u'latitude': u'40.68840026855469'} +error: (1062, "Duplicate entry 'kingwood-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kingwood', u'countrycode': u'us', u'city_id': u'900041028', u'longitude': u'-95.18620300292969', u'nr_hotels': u'6', u'latitude': u'30.057899475097656'} +error: (1062, "Duplicate entry 'kingwood-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kingwood', u'countrycode': u'us', u'city_id': u'900041028', u'longitude': u'-95.18620300292969', u'nr_hotels': u'6', u'latitude': u'30.057899475097656'} +error: (1062, "Duplicate entry 'newport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newport', u'countrycode': u'us', u'city_id': u'900048609', u'longitude': u'-124.06300354003906', u'nr_hotels': u'24', u'latitude': u'44.63249969482422'} +error: (1062, "Duplicate entry 'n-yuport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'900048609', u'longitude': u'-124.06300354003906', u'nr_hotels': u'24', u'latitude': u'44.63249969482422'} +error: (1062, "Duplicate entry 'moholm-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Moholm', u'countrycode': u'se', u'city_id': u'-2504850', u'longitude': u'14.116700172424316', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'moholm-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Moholm', u'countrycode': u'se', u'city_id': u'-2504850', u'longitude': u'14.116700172424316', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'lincoln-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Lincoln', u'countrycode': u'us', u'city_id': u'900049444', u'longitude': u'-71.43502807617188', u'nr_hotels': u'1', u'latitude': u'41.9211311340332'} +error: (1062, "Duplicate entry 'linkol-n-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041b\u0438\u043d\u043a\u043e\u043b\u044c\u043d', u'countrycode': u'us', u'city_id': u'900049444', u'longitude': u'-71.43502807617188', u'nr_hotels': u'1', u'latitude': u'41.9211311340332'} +error: (1062, "Duplicate entry 'newport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newport', u'countrycode': u'us', u'city_id': u'900049477', u'longitude': u'-91.28179168701172', u'nr_hotels': u'1', u'latitude': u'35.604801177978516'} +error: (1062, "Duplicate entry 'n-yuport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'900049477', u'longitude': u'-91.28179168701172', u'nr_hotels': u'1', u'latitude': u'35.604801177978516'} +error: (1062, "Duplicate entry 'york-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'York', u'countrycode': u'us', u'city_id': u'900049613', u'longitude': u'-70.64826965332031', u'nr_hotels': u'2', u'latitude': u'43.1617431640625'} +error: (1062, "Duplicate entry 'york-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'York', u'countrycode': u'us', u'city_id': u'900049613', u'longitude': u'-70.64826965332031', u'nr_hotels': u'2', u'latitude': u'43.1617431640625'} +error: (1062, "Duplicate entry 'fort-bragg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Fort Bragg', u'countrycode': u'us', u'city_id': u'900049932', u'longitude': u'-78.9991683959961', u'nr_hotels': u'1', u'latitude': u'35.13916778564453'} +error: (1062, "Duplicate entry 'fort-bragg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Fort Bragg', u'countrycode': u'us', u'city_id': u'900049932', u'longitude': u'-78.9991683959961', u'nr_hotels': u'1', u'latitude': u'35.13916778564453'} +error: (1062, "Duplicate entry 'southampton-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Southampton', u'countrycode': u'us', u'city_id': u'900049962', u'longitude': u'-74.7183609008789', u'nr_hotels': u'2', u'latitude': u'39.92599868774414'} +error: (1062, "Duplicate entry 'southampton-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Southampton', u'countrycode': u'us', u'city_id': u'900049962', u'longitude': u'-74.7183609008789', u'nr_hotels': u'2', u'latitude': u'39.92599868774414'} +error: (1062, "Duplicate entry 'mellby-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Mellby', u'countrycode': u'se', u'city_id': u'-2504231', u'longitude': u'16.533300399780273', u'nr_hotels': u'2', u'latitude': u'56.400001525878906'} +error: (1062, "Duplicate entry 'newport-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Newport', u'countrycode': u'us', u'city_id': u'900050727', u'longitude': u'-84.49624633789062', u'nr_hotels': u'2', u'latitude': u'39.09170150756836'} +error: (1062, "Duplicate entry 'n-yuport-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041d\u044c\u044e\u043f\u043e\u0440\u0442', u'countrycode': u'us', u'city_id': u'900050727', u'longitude': u'-84.49624633789062', u'nr_hotels': u'2', u'latitude': u'39.09170150756836'} +error: (1062, "Duplicate entry 'kiowa-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kiowa', u'countrycode': u'us', u'city_id': u'900051101', u'longitude': u'-98.48500061035156', u'nr_hotels': u'1', u'latitude': u'37.016998291015625'} +error: (1062, "Duplicate entry 'kiowa-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kiowa', u'countrycode': u'us', u'city_id': u'900051101', u'longitude': u'-98.48500061035156', u'nr_hotels': u'1', u'latitude': u'37.016998291015625'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'900051113', u'longitude': u'-87.17445373535156', u'nr_hotels': u'2', u'latitude': u'38.66120910644531'} +error: (1062, "Duplicate entry 'washington-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Washington', u'countrycode': u'us', u'city_id': u'900051113', u'longitude': u'-87.17445373535156', u'nr_hotels': u'2', u'latitude': u'38.66120910644531'} +error: (1062, "Duplicate entry 'marieholm-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Marieholm', u'countrycode': u'se', u'city_id': u'-2503635', u'longitude': u'13.149999618530273', u'nr_hotels': u'0', u'latitude': u'55.86669921875'} +error: (1062, "Duplicate entry 'berlin-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berlin', u'countrycode': u'us', u'city_id': u'900051139', u'longitude': u'-72.7721176147461', u'nr_hotels': u'1', u'latitude': u'41.61338806152344'} +error: (1062, "Duplicate entry 'berlin-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berlin', u'countrycode': u'us', u'city_id': u'900051139', u'longitude': u'-72.7721176147461', u'nr_hotels': u'1', u'latitude': u'41.61338806152344'} +error: (1062, "Duplicate entry 'ogdensburg-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ogdensburg', u'countrycode': u'us', u'city_id': u'900051206', u'longitude': u'-75.48809814453125', u'nr_hotels': u'1', u'latitude': u'44.69350051879883'} +error: (1062, "Duplicate entry 'ogdensburg-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ogdensburg', u'countrycode': u'us', u'city_id': u'900051206', u'longitude': u'-75.48809814453125', u'nr_hotels': u'1', u'latitude': u'44.69350051879883'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'900051238', u'longitude': u'-88.79840087890625', u'nr_hotels': u'2', u'latitude': u'39.40741729736328'} +error: (1062, "Duplicate entry 'shelbyville-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Shelbyville', u'countrycode': u'us', u'city_id': u'900051238', u'longitude': u'-88.79840087890625', u'nr_hotels': u'2', u'latitude': u'39.40741729736328'} +error: (1062, "Duplicate entry 'howell-us' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Howell', u'countrycode': u'us', u'city_id': u'900051454', u'longitude': u'-74.20800018310547', u'nr_hotels': u'1', u'latitude': u'40.163700103759766'} +error: (1062, "Duplicate entry 'howell-us' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Howell', u'countrycode': u'us', u'city_id': u'900051454', u'longitude': u'-74.20800018310547', u'nr_hotels': u'1', u'latitude': u'40.163700103759766'} +error: (1062, "Duplicate entry 'yablunytsya-ua' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Yablunytsya', u'countrycode': u'ua', u'city_id': u'-1059226', u'longitude': u'24.916400909423828', u'nr_hotels': u'1', u'latitude': u'48.03329849243164'} +error: (1062, "Duplicate entry 'yablunytsya-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Yablunytsya', u'countrycode': u'ua', u'city_id': u'-1059226', u'longitude': u'24.916400909423828', u'nr_hotels': u'1', u'latitude': u'48.03329849243164'} +error: (1062, "Duplicate entry 'podgornoye-ua' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Podgornoye', u'countrycode': u'ua', u'city_id': u'-1050876', u'longitude': u'33.81669998168945', u'nr_hotels': u'1', u'latitude': u'44.45000076293945'} +error: (1062, "Duplicate entry 'podgornoye-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Podgornoye', u'countrycode': u'ua', u'city_id': u'-1050876', u'longitude': u'33.81669998168945', u'nr_hotels': u'1', u'latitude': u'44.45000076293945'} +error: (1062, "Duplicate entry 'kode-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kode', u'countrycode': u'se', u'city_id': u'-2495432', u'longitude': u'11.850000381469727', u'nr_hotels': u'1', u'latitude': u'57.93330001831055'} +error: (1062, "Duplicate entry 'kode-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kode', u'countrycode': u'se', u'city_id': u'-2495432', u'longitude': u'11.850000381469727', u'nr_hotels': u'1', u'latitude': u'57.93330001831055'} +error: (1062, "Duplicate entry 'karlsborg-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Karlsborg', u'countrycode': u'se', u'city_id': u'-2493548', u'longitude': u'14.5', u'nr_hotels': u'0', u'latitude': u'58.5'} +error: (1062, "Duplicate entry 'karlsborg-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Karlsborg', u'countrycode': u'se', u'city_id': u'-2493548', u'longitude': u'14.5', u'nr_hotels': u'0', u'latitude': u'58.5'} +error: (1062, "Duplicate entry 'hult-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hult', u'countrycode': u'se', u'city_id': u'-2490452', u'longitude': u'15.133299827575684', u'nr_hotels': u'4', u'latitude': u'57.63330078125'} +error: (1062, "Duplicate entry 'hult-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hult', u'countrycode': u'se', u'city_id': u'-2490452', u'longitude': u'15.133299827575684', u'nr_hotels': u'4', u'latitude': u'57.63330078125'} +error: (1062, "Duplicate entry 'hult-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hult', u'countrycode': u'se', u'city_id': u'-2490445', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.099998474121094'} +error: (1062, "Duplicate entry 'hult-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hult', u'countrycode': u'se', u'city_id': u'-2490445', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.099998474121094'} +error: (1062, "Duplicate entry 'hestra-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Hestra', u'countrycode': u'se', u'city_id': u'-2488351', u'longitude': u'13.816699981689453', u'nr_hotels': u'1', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'hestra-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Hestra', u'countrycode': u'se', u'city_id': u'-2488351', u'longitude': u'13.816699981689453', u'nr_hotels': u'1', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'shodnitsa-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0421\u0445\u043e\u0434\u043d\u0438\u0446\u0430', u'countrycode': u'ua', u'city_id': u'900050690', u'longitude': u'23.347999572753906', u'nr_hotels': u'4', u'latitude': u'49.229000091552734'} +error: (1062, "Duplicate entry 'berezovka-ua' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berezovka', u'countrycode': u'ua', u'city_id': u'900051153', u'longitude': u'24.695556640625', u'nr_hotels': u'0', u'latitude': u'48.82472229003906'} +error: (1062, "Duplicate entry 'berezovka-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berezovka', u'countrycode': u'ua', u'city_id': u'900051153', u'longitude': u'24.695556640625', u'nr_hotels': u'0', u'latitude': u'48.82472229003906'} +error: (1062, "Duplicate entry 'tung-pu-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tung-pu', u'countrycode': u'tw', u'city_id': u'-2639727', u'longitude': u'120.92900085449219', u'nr_hotels': u'1', u'latitude': u'23.56220054626465'} +error: (1062, "Duplicate entry 'tung-pu-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tung-pu', u'countrycode': u'tw', u'city_id': u'-2639727', u'longitude': u'120.92900085449219', u'nr_hotels': u'1', u'latitude': u'23.56220054626465'} +error: (1062, "Duplicate entry 'hua-jen-ts-un-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u"Hua-jen-ts'un", u'countrycode': u'tw', u'city_id': u'-2631685', u'longitude': u'121.5999984741211', u'nr_hotels': u'4', u'latitude': u'23.933300018310547'} +error: (1062, "Duplicate entry 'hua-jen-ts-un-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u"Hua-jen-ts'un", u'countrycode': u'tw', u'city_id': u'-2631685', u'longitude': u'121.5999984741211', u'nr_hotels': u'4', u'latitude': u'23.933300018310547'} +error: (1062, "Duplicate entry 'dyvik-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Dyvik', u'countrycode': u'se', u'city_id': u'-2477258', u'longitude': u'17.783300399780273', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'dyvik-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Dyvik', u'countrycode': u'se', u'city_id': u'-2477258', u'longitude': u'17.783300399780273', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'tainan-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tainan', u'countrycode': u'tw', u'city_id': u'900039093', u'longitude': u'120.34500122070312', u'nr_hotels': u'2', u'latitude': u'23.150800704956055'} +error: (1062, "Duplicate entry 'tainan-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tainan', u'countrycode': u'tw', u'city_id': u'900039093', u'longitude': u'120.34500122070312', u'nr_hotels': u'2', u'latitude': u'23.150800704956055'} +error: (1062, "Duplicate entry 'by-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'By', u'countrycode': u'se', u'city_id': u'-2475601', u'longitude': u'13.58329963684082', u'nr_hotels': u'2', u'latitude': u'59.93330001831055'} +error: (1062, "Duplicate entry 'by-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'By', u'countrycode': u'se', u'city_id': u'-2475601', u'longitude': u'13.58329963684082', u'nr_hotels': u'2', u'latitude': u'59.93330001831055'} +error: (1062, "Duplicate entry 'by-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'By', u'countrycode': u'se', u'city_id': u'-2475596', u'longitude': u'13.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'by-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'By', u'countrycode': u'se', u'city_id': u'-2475596', u'longitude': u'13.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'burseryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Burseryd', u'countrycode': u'se', u'city_id': u'-2475484', u'longitude': u'13.283300399780273', u'nr_hotels': u'4', u'latitude': u'57.20000076293945'} +error: (1062, "Duplicate entry 'burseryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Burseryd', u'countrycode': u'se', u'city_id': u'-2475484', u'longitude': u'13.283300399780273', u'nr_hotels': u'4', u'latitude': u'57.20000076293945'} +error: (1062, "Duplicate entry 'brandstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Brandstorp', u'countrycode': u'se', u'city_id': u'-2474228', u'longitude': u'14.183300018310547', u'nr_hotels': u'3', u'latitude': u'58.099998474121094'} +error: (1062, "Duplicate entry 'brandstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Brandstorp', u'countrycode': u'se', u'city_id': u'-2474228', u'longitude': u'14.183300018310547', u'nr_hotels': u'3', u'latitude': u'58.099998474121094'} +error: (1062, "Duplicate entry 'bolmstad-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bolmstad', u'countrycode': u'se', u'city_id': u'-2473382', u'longitude': u'13.76669979095459', u'nr_hotels': u'15', u'latitude': u'56.900001525878906'} +error: (1062, "Duplicate entry 'bolmstad-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bolmstad', u'countrycode': u'se', u'city_id': u'-2473382', u'longitude': u'13.76669979095459', u'nr_hotels': u'15', u'latitude': u'56.900001525878906'} +error: (1062, "Duplicate entry 'boda-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Boda', u'countrycode': u'se', u'city_id': u'-2472914', u'longitude': u'12.966699600219727', u'nr_hotels': u'1', u'latitude': u'57.20000076293945'} +error: (1062, "Duplicate entry 'boda-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Boda', u'countrycode': u'se', u'city_id': u'-2472914', u'longitude': u'12.966699600219727', u'nr_hotels': u'1', u'latitude': u'57.20000076293945'} +error: (1062, "Duplicate entry 'boda-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Boda', u'countrycode': u'se', u'city_id': u'-2472909', u'longitude': u'16.450000762939453', u'nr_hotels': u'1', u'latitude': u'56.78329849243164'} +error: (1062, "Duplicate entry 'boda-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Boda', u'countrycode': u'se', u'city_id': u'-2472909', u'longitude': u'16.450000762939453', u'nr_hotels': u'1', u'latitude': u'56.78329849243164'} +error: (1062, "Duplicate entry 'bergby-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bergby', u'countrycode': u'se', u'city_id': u'-2471020', u'longitude': u'18.75', u'nr_hotels': u'2', u'latitude': u'60.04999923706055'} +error: (1062, "Duplicate entry 'berga-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berga', u'countrycode': u'se', u'city_id': u'-2470943', u'longitude': u'16.033300399780273', u'nr_hotels': u'1', u'latitude': u'57.21670150756836'} +error: (1062, "Duplicate entry 'berga-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berga', u'countrycode': u'se', u'city_id': u'-2470943', u'longitude': u'16.033300399780273', u'nr_hotels': u'1', u'latitude': u'57.21670150756836'} +error: (1062, "Duplicate entry 'arvika-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arvika', u'countrycode': u'se', u'city_id': u'-2468638', u'longitude': u'12.633299827575684', u'nr_hotels': u'1', u'latitude': u'59.66669845581055'} +error: (1062, "Duplicate entry 'arvika-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arvika', u'countrycode': u'se', u'city_id': u'-2468638', u'longitude': u'12.633299827575684', u'nr_hotels': u'1', u'latitude': u'59.66669845581055'} +error: (1062, "Duplicate entry 'arboga-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Arboga', u'countrycode': u'se', u'city_id': u'-2468269', u'longitude': u'15.91670036315918', u'nr_hotels': u'1', u'latitude': u'59.38330078125'} +error: (1062, "Duplicate entry 'arboga-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Arboga', u'countrycode': u'se', u'city_id': u'-2468269', u'longitude': u'15.91670036315918', u'nr_hotels': u'1', u'latitude': u'59.38330078125'} +error: (1062, "Duplicate entry 'anderstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Anderstorp', u'countrycode': u'se', u'city_id': u'-2467676', u'longitude': u'13.600000381469727', u'nr_hotels': u'2', u'latitude': u'57.266700744628906'} +error: (1062, "Duplicate entry 'anderstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Anderstorp', u'countrycode': u'se', u'city_id': u'-2467676', u'longitude': u'13.600000381469727', u'nr_hotels': u'2', u'latitude': u'57.266700744628906'} +error: (1062, "Duplicate entry 'kemer-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kemer', u'countrycode': u'tr', u'city_id': u'-759455', u'longitude': u'30.566699981689453', u'nr_hotels': u'119', u'latitude': u'36.599998474121094'} +error: (1062, "Duplicate entry 'kemer-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0435\u043c\u0435\u0440', u'countrycode': u'tr', u'city_id': u'-759455', u'longitude': u'30.566699981689453', u'nr_hotels': u'119', u'latitude': u'36.599998474121094'} +error: (1062, "Duplicate entry 'karaburun-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Karaburun', u'countrycode': u'tr', u'city_id': u'-756423', u'longitude': u'26.516700744628906', u'nr_hotels': u'12', u'latitude': u'38.61669921875'} +error: (1062, "Duplicate entry 'karaburun-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u0430\u0431\u0443\u0440\u0443\u043d', u'countrycode': u'tr', u'city_id': u'-756423', u'longitude': u'26.516700744628906', u'nr_hotels': u'12', u'latitude': u'38.61669921875'} +error: (1062, "Duplicate entry 'berga-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Berga', u'countrycode': u'se', u'city_id': u'900040773', u'longitude': u'12.382499694824219', u'nr_hotels': u'1', u'latitude': u'57.925498962402344'} +error: (1062, "Duplicate entry 'berga-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Berga', u'countrycode': u'se', u'city_id': u'900040773', u'longitude': u'12.382499694824219', u'nr_hotels': u'1', u'latitude': u'57.925498962402344'} +error: (1062, "Duplicate entry 'kristianstad-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kristianstad', u'countrycode': u'se', u'city_id': u'900044014', u'longitude': u'14.08549976348877', u'nr_hotels': u'0', u'latitude': u'55.92169952392578'} +error: (1062, "Duplicate entry 'kristianstad-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Kristianstad', u'countrycode': u'se', u'city_id': u'900044014', u'longitude': u'14.08549976348877', u'nr_hotels': u'0', u'latitude': u'55.92169952392578'} +error: (1062, "Duplicate entry 'sydkoster-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sydkoster', u'countrycode': u'se', u'city_id': u'900049506', u'longitude': u'11.074299812316895', u'nr_hotels': u'4', u'latitude': u'58.893001556396484'} +error: (1062, "Duplicate entry 'sydkoster-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sydkoster', u'countrycode': u'se', u'city_id': u'900049506', u'longitude': u'11.074299812316895', u'nr_hotels': u'4', u'latitude': u'58.893001556396484'} +error: (1062, "Duplicate entry 'unnaryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Unnaryd', u'countrycode': u'se', u'city_id': u'900051046', u'longitude': u'13.51669979095459', u'nr_hotels': u'5', u'latitude': u'56.95000076293945'} +error: (1062, "Duplicate entry 'unnaryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Unnaryd', u'countrycode': u'se', u'city_id': u'900051046', u'longitude': u'13.51669979095459', u'nr_hotels': u'5', u'latitude': u'56.95000076293945'} +error: (1062, "Duplicate entry 'bademli-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bademli', u'countrycode': u'tr', u'city_id': u'-737216', u'longitude': u'26.950000762939453', u'nr_hotels': u'2', u'latitude': u'38.38330078125'} +error: (1062, "Duplicate entry 'bademli-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bademli', u'countrycode': u'tr', u'city_id': u'-737216', u'longitude': u'26.950000762939453', u'nr_hotels': u'2', u'latitude': u'38.38330078125'} +error: (1062, "Duplicate entry 'khao-kho-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Khao Kho', u'countrycode': u'th', u'city_id': u'-3406256', u'longitude': u'101.01699829101562', u'nr_hotels': u'10', u'latitude': u'16.766700744628906'} +error: (1062, "Duplicate entry 'khao-kho-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0445\u0430\u043e-\u041a\u0445\u043e', u'countrycode': u'th', u'city_id': u'-3406256', u'longitude': u'101.01699829101562', u'nr_hotels': u'10', u'latitude': u'16.766700744628906'} +error: (1062, "Duplicate entry 'ban-rai-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Rai', u'countrycode': u'th', u'city_id': u'-3243069', u'longitude': u'99.52110290527344', u'nr_hotels': u'2', u'latitude': u'15.082500457763672'} +error: (1062, "Duplicate entry 'ban-rai-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Rai', u'countrycode': u'th', u'city_id': u'-3243069', u'longitude': u'99.52110290527344', u'nr_hotels': u'2', u'latitude': u'15.082500457763672'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242885', u'longitude': u'98.9000015258789', u'nr_hotels': u'7', u'latitude': u'18.75'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242885', u'longitude': u'98.9000015258789', u'nr_hotels': u'7', u'latitude': u'18.75'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242868', u'longitude': u'100.98300170898438', u'nr_hotels': u'1', u'latitude': u'12.949999809265137'} +error: (1062, "Duplicate entry 'ban-mai-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Mai', u'countrycode': u'th', u'city_id': u'-3238750', u'longitude': u'98.98139953613281', u'nr_hotels': u'2', u'latitude': u'18.98080062866211'} +error: (1062, "Duplicate entry 'ban-mai-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Mai', u'countrycode': u'th', u'city_id': u'-3238750', u'longitude': u'98.98139953613281', u'nr_hotels': u'2', u'latitude': u'18.98080062866211'} +error: (1062, "Duplicate entry 'klaeng-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Klaeng', u'countrycode': u'th', u'city_id': u'-3237460', u'longitude': u'101.5', u'nr_hotels': u'11', u'latitude': u'12.633299827575684'} +error: (1062, "Duplicate entry 'ban-kao-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Kao', u'countrycode': u'th', u'city_id': u'-3236065', u'longitude': u'99.31670379638672', u'nr_hotels': u'3', u'latitude': u'13.966699600219727'} +error: (1062, "Duplicate entry 'ban-kao-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Kao', u'countrycode': u'th', u'city_id': u'-3236065', u'longitude': u'99.31670379638672', u'nr_hotels': u'3', u'latitude': u'13.966699600219727'} +error: (1062, "Duplicate entry 'khao-kho-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Khao Kho', u'countrycode': u'th', u'city_id': u'-3406256', u'longitude': u'101.01699829101562', u'nr_hotels': u'10', u'latitude': u'16.766700744628906'} +error: (1062, "Duplicate entry 'khao-kho-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0445\u0430\u043e-\u041a\u0445\u043e', u'countrycode': u'th', u'city_id': u'-3406256', u'longitude': u'101.01699829101562', u'nr_hotels': u'10', u'latitude': u'16.766700744628906'} +error: (1062, "Duplicate entry 'chiangmaj-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0427\u0438\u0430\u043d\u0433\u043c\u0430\u0439', u'countrycode': u'th', u'city_id': u'9010106', u'longitude': u'99.00810241699219', u'nr_hotels': u'5', u'latitude': u'18.795000076293945'} +error: (1062, "Duplicate entry 'chiang-mai-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Chiang Mai', u'countrycode': u'th', u'city_id': u'-3247115', u'longitude': u'98.98169708251953', u'nr_hotels': u'536', u'latitude': u'18.790300369262695'} +error: (1062, "Duplicate entry 'kanchanaburi-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kanchanaburi', u'countrycode': u'th', u'city_id': u'900048280', u'longitude': u'99.41169738769531', u'nr_hotels': u'0', u'latitude': u'14.0556001663208'} +error: (1062, "Duplicate entry 'kanchanaburi-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043d\u0447\u0430\u043d\u0430\u0431\u0443\u0440\u0438', u'countrycode': u'th', u'city_id': u'900048280', u'longitude': u'99.41169738769531', u'nr_hotels': u'0', u'latitude': u'14.0556001663208'} +error: (1062, "Duplicate entry 'ban-rai-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Rai', u'countrycode': u'th', u'city_id': u'-3243069', u'longitude': u'99.52110290527344', u'nr_hotels': u'2', u'latitude': u'15.082500457763672'} +error: (1062, "Duplicate entry 'ban-rai-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Rai', u'countrycode': u'th', u'city_id': u'-3243069', u'longitude': u'99.52110290527344', u'nr_hotels': u'2', u'latitude': u'15.082500457763672'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242885', u'longitude': u'98.9000015258789', u'nr_hotels': u'7', u'latitude': u'18.75'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242885', u'longitude': u'98.9000015258789', u'nr_hotels': u'7', u'latitude': u'18.75'} +error: (1062, "Duplicate entry 'ban-pong-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Pong', u'countrycode': u'th', u'city_id': u'-3242868', u'longitude': u'100.98300170898438', u'nr_hotels': u'1', u'latitude': u'12.949999809265137'} +error: (1062, "Duplicate entry 'ban-mai-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Mai', u'countrycode': u'th', u'city_id': u'-3238750', u'longitude': u'98.98139953613281', u'nr_hotels': u'2', u'latitude': u'18.98080062866211'} +error: (1062, "Duplicate entry 'ban-mai-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Mai', u'countrycode': u'th', u'city_id': u'-3238750', u'longitude': u'98.98139953613281', u'nr_hotels': u'2', u'latitude': u'18.98080062866211'} +error: (1062, "Duplicate entry 'klaeng-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Klaeng', u'countrycode': u'th', u'city_id': u'-3237460', u'longitude': u'101.5', u'nr_hotels': u'11', u'latitude': u'12.633299827575684'} +error: (1062, "Duplicate entry 'ban-kao-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ban Kao', u'countrycode': u'th', u'city_id': u'-3236065', u'longitude': u'99.31670379638672', u'nr_hotels': u'3', u'latitude': u'13.966699600219727'} +error: (1062, "Duplicate entry 'ban-kao-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ban Kao', u'countrycode': u'th', u'city_id': u'-3236065', u'longitude': u'99.31670379638672', u'nr_hotels': u'3', u'latitude': u'13.966699600219727'} +error: (1062, "Duplicate entry 'chiangmaj-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u0427\u0438\u0430\u043d\u0433\u043c\u0430\u0439', u'countrycode': u'th', u'city_id': u'9010106', u'longitude': u'99.00810241699219', u'nr_hotels': u'5', u'latitude': u'18.795000076293945'} +error: (1062, "Duplicate entry 'kanchanaburi-th' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kanchanaburi', u'countrycode': u'th', u'city_id': u'900048280', u'longitude': u'99.41169738769531', u'nr_hotels': u'0', u'latitude': u'14.0556001663208'} +error: (1062, "Duplicate entry 'kanchanaburi-th' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u043d\u0447\u0430\u043d\u0430\u0431\u0443\u0440\u0438', u'countrycode': u'th', u'city_id': u'900048280', u'longitude': u'99.41169738769531', u'nr_hotels': u'0', u'latitude': u'14.0556001663208'} +error: (1062, "Duplicate entry 'kemer-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Kemer', u'countrycode': u'tr', u'city_id': u'-759455', u'longitude': u'30.566699981689453', u'nr_hotels': u'119', u'latitude': u'36.599998474121094'} +error: (1062, "Duplicate entry 'kemer-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0435\u043c\u0435\u0440', u'countrycode': u'tr', u'city_id': u'-759455', u'longitude': u'30.566699981689453', u'nr_hotels': u'119', u'latitude': u'36.599998474121094'} +error: (1062, "Duplicate entry 'karacasu-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Karacasu', u'countrycode': u'tr', u'city_id': u'-756670', u'longitude': u'31.61669921875', u'nr_hotels': u'1', u'latitude': u'40.68330001831055'} +error: (1062, "Duplicate entry 'karaburun-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Karaburun', u'countrycode': u'tr', u'city_id': u'-756423', u'longitude': u'26.516700744628906', u'nr_hotels': u'12', u'latitude': u'38.61669921875'} +error: (1062, "Duplicate entry 'karaburun-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'\u041a\u0430\u0440\u0430\u0431\u0443\u0440\u0443\u043d', u'countrycode': u'tr', u'city_id': u'-756423', u'longitude': u'26.516700744628906', u'nr_hotels': u'12', u'latitude': u'38.61669921875'} +error: (1062, "Duplicate entry 'bademli-tr' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Bademli', u'countrycode': u'tr', u'city_id': u'-737216', u'longitude': u'26.950000762939453', u'nr_hotels': u'2', u'latitude': u'38.38330078125'} +error: (1062, "Duplicate entry 'bademli-tr' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Bademli', u'countrycode': u'tr', u'city_id': u'-737216', u'longitude': u'26.950000762939453', u'nr_hotels': u'2', u'latitude': u'38.38330078125'} +error: (1062, "Duplicate entry 'visby-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Visby', u'countrycode': u'se', u'city_id': u'-2536120', u'longitude': u'18.299999237060547', u'nr_hotels': u'48', u'latitude': u'57.63330078125'} +error: (1062, "Duplicate entry 'vaxholm-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Vaxholm', u'countrycode': u'se', u'city_id': u'-2535221', u'longitude': u'18.33329963684082', u'nr_hotels': u'8', u'latitude': u'59.400001525878906'} +error: (1062, "Duplicate entry 'varberg-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Varberg', u'countrycode': u'se', u'city_id': u'-2533705', u'longitude': u'12.216699600219727', u'nr_hotels': u'4', u'latitude': u'57.11669921875'} +error: (1062, "Duplicate entry 'varberg-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Varberg', u'countrycode': u'se', u'city_id': u'-2533705', u'longitude': u'12.216699600219727', u'nr_hotels': u'4', u'latitude': u'57.11669921875'} +error: (1062, "Duplicate entry 'ubbhult-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ubbhult', u'countrycode': u'se', u'city_id': u'-2531852', u'longitude': u'12.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.56669998168945'} +error: (1062, "Duplicate entry 'ubbhult-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ubbhult', u'countrycode': u'se', u'city_id': u'-2531852', u'longitude': u'12.300000190734863', u'nr_hotels': u'1', u'latitude': u'57.56669998168945'} +error: (1062, "Duplicate entry 'tuna-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tuna', u'countrycode': u'se', u'city_id': u'-2531475', u'longitude': u'16.100000381469727', u'nr_hotels': u'2', u'latitude': u'57.58330154418945'} +error: (1062, "Duplicate entry 'tuna-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tuna', u'countrycode': u'se', u'city_id': u'-2531475', u'longitude': u'16.100000381469727', u'nr_hotels': u'2', u'latitude': u'57.58330154418945'} +error: (1062, "Duplicate entry 'tung-pu-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tung-pu', u'countrycode': u'tw', u'city_id': u'-2639727', u'longitude': u'120.92900085449219', u'nr_hotels': u'1', u'latitude': u'23.56220054626465'} +error: (1062, "Duplicate entry 'tung-pu-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tung-pu', u'countrycode': u'tw', u'city_id': u'-2639727', u'longitude': u'120.92900085449219', u'nr_hotels': u'1', u'latitude': u'23.56220054626465'} +error: (1062, "Duplicate entry 'torup-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torup', u'countrycode': u'se', u'city_id': u'-2530751', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'torup-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torup', u'countrycode': u'se', u'city_id': u'-2530751', u'longitude': u'13.616700172424316', u'nr_hotels': u'1', u'latitude': u'55.983299255371094'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530438', u'longitude': u'17', u'nr_hotels': u'1', u'latitude': u'58.91669845581055'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530438', u'longitude': u'17', u'nr_hotels': u'1', u'latitude': u'58.91669845581055'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530434', u'longitude': u'12.550000190734863', u'nr_hotels': u'1', u'latitude': u'58.56669998168945'} +error: (1062, "Duplicate entry 'torp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torp', u'countrycode': u'se', u'city_id': u'-2530434', u'longitude': u'12.550000190734863', u'nr_hotels': u'1', u'latitude': u'58.56669998168945'} +error: (1062, "Duplicate entry 'torne-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Torne', u'countrycode': u'se', u'city_id': u'-2530337', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'56.70000076293945'} +error: (1062, "Duplicate entry 'torne-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Torne', u'countrycode': u'se', u'city_id': u'-2530337', u'longitude': u'14.600000381469727', u'nr_hotels': u'2', u'latitude': u'56.70000076293945'} +error: (1062, "Duplicate entry 'tidaholm-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tidaholm', u'countrycode': u'se', u'city_id': u'-2529295', u'longitude': u'14', u'nr_hotels': u'2', u'latitude': u'58.183101654052734'} +error: (1062, "Duplicate entry 'tidaholm-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tidaholm', u'countrycode': u'se', u'city_id': u'-2529295', u'longitude': u'14', u'nr_hotels': u'2', u'latitude': u'58.183101654052734'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528359', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528359', u'longitude': u'14.316699981689453', u'nr_hotels': u'2', u'latitude': u'57.43330001831055'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528349', u'longitude': u'13.933300018310547', u'nr_hotels': u'1', u'latitude': u'55.483299255371094'} +error: (1062, "Duplicate entry 'svenstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svenstorp', u'countrycode': u'se', u'city_id': u'-2528349', u'longitude': u'13.933300018310547', u'nr_hotels': u'1', u'latitude': u'55.483299255371094'} +error: (1062, "Duplicate entry 'svanskog-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Svanskog', u'countrycode': u'se', u'city_id': u'-2527831', u'longitude': u'12.550000190734863', u'nr_hotels': u'11', u'latitude': u'59.18330001831055'} +error: (1062, "Duplicate entry 'svanskog-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Svanskog', u'countrycode': u'se', u'city_id': u'-2527831', u'longitude': u'12.550000190734863', u'nr_hotels': u'11', u'latitude': u'59.18330001831055'} +error: (1062, "Duplicate entry 'sunne-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sunne', u'countrycode': u'se', u'city_id': u'-2527510', u'longitude': u'13.100000381469727', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'sunne-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sunne', u'countrycode': u'se', u'city_id': u'-2527510', u'longitude': u'13.100000381469727', u'nr_hotels': u'1', u'latitude': u'59.86669921875'} +error: (1062, "Duplicate entry 'hua-jen-ts-un-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u"Hua-jen-ts'un", u'countrycode': u'tw', u'city_id': u'-2631685', u'longitude': u'121.5999984741211', u'nr_hotels': u'4', u'latitude': u'23.933300018310547'} +error: (1062, "Duplicate entry 'hua-jen-ts-un-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u"Hua-jen-ts'un", u'countrycode': u'tw', u'city_id': u'-2631685', u'longitude': u'121.5999984741211', u'nr_hotels': u'4', u'latitude': u'23.933300018310547'} +error: (1062, "Duplicate entry 'strand-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Strand', u'countrycode': u'se', u'city_id': u'-2526721', u'longitude': u'16.86669921875', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'strand-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Strand', u'countrycode': u'se', u'city_id': u'-2526721', u'longitude': u'16.86669921875', u'nr_hotels': u'0', u'latitude': u'58.88330078125'} +error: (1062, "Duplicate entry 'tainan-tw' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Tainan', u'countrycode': u'tw', u'city_id': u'900039093', u'longitude': u'120.34500122070312', u'nr_hotels': u'2', u'latitude': u'23.150800704956055'} +error: (1062, "Duplicate entry 'tainan-tw' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Tainan', u'countrycode': u'tw', u'city_id': u'900039093', u'longitude': u'120.34500122070312', u'nr_hotels': u'2', u'latitude': u'23.150800704956055'} +error: (1062, "Duplicate entry 'smedstorp-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Smedstorp', u'countrycode': u'se', u'city_id': u'-2521336', u'longitude': u'14.116700172424316', u'nr_hotels': u'4', u'latitude': u'55.56669998168945'} +error: (1062, "Duplicate entry 'smedstorp-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Smedstorp', u'countrycode': u'se', u'city_id': u'-2521336', u'longitude': u'14.116700172424316', u'nr_hotels': u'4', u'latitude': u'55.56669998168945'} +error: (1062, "Duplicate entry 'yablunytsya-ua' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Yablunytsya', u'countrycode': u'ua', u'city_id': u'-1059226', u'longitude': u'24.916400909423828', u'nr_hotels': u'1', u'latitude': u'48.03329849243164'} +error: (1062, "Duplicate entry 'yablunytsya-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Yablunytsya', u'countrycode': u'ua', u'city_id': u'-1059226', u'longitude': u'24.916400909423828', u'nr_hotels': u'1', u'latitude': u'48.03329849243164'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517524', u'longitude': u'11.883299827575684', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517524', u'longitude': u'11.883299827575684', u'nr_hotels': u'1', u'latitude': u'58.599998474121094'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517492', u'longitude': u'16.850000381469727', u'nr_hotels': u'0', u'latitude': u'57.06669998168945'} +error: (1062, "Duplicate entry 'sandviken-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Sandviken', u'countrycode': u'se', u'city_id': u'-2517492', u'longitude': u'16.850000381469727', u'nr_hotels': u'0', u'latitude': u'57.06669998168945'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516495', u'longitude': u'13.41670036315918', u'nr_hotels': u'1', u'latitude': u'56.66669845581055'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516495', u'longitude': u'13.41670036315918', u'nr_hotels': u'1', u'latitude': u'56.66669845581055'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516492', u'longitude': u'14.683300018310547', u'nr_hotels': u'9', u'latitude': u'56.46670150756836'} +error: (1062, "Duplicate entry 'ryd-se' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Ryd', u'countrycode': u'se', u'city_id': u'-2516492', u'longitude': u'14.683300018310547', u'nr_hotels': u'9', u'latitude': u'56.46670150756836'} +error: (1062, "Duplicate entry 'podgornoye-ua' for key 'url'") + city: {u'languagecode': u'en', u'name': u'Podgornoye', u'countrycode': u'ua', u'city_id': u'-1050876', u'longitude': u'33.81669998168945', u'nr_hotels': u'1', u'latitude': u'44.45000076293945'} +error: (1062, "Duplicate entry 'podgornoye-ua' for key 'url'") + city: {u'languagecode': u'ru', u'name': u'Podgornoye', u'countrycode': u'ua', u'city_id': u'-1050876', u'longitude': u'33.81669998168945', u'nr_hotels': u'1', u'latitude': u'44.45000076293945'} diff --git a/city/management/commands/fill_city.py b/city/management/commands/fill_city.py new file mode 100644 index 00000000..098f9846 --- /dev/null +++ b/city/management/commands/fill_city.py @@ -0,0 +1,128 @@ +from django.core.management.base import BaseCommand, CommandError +import urllib2, base64, json + +from country.models import Country +from city.models import City +from functions.form_check import translit_with_separator +import string, random + +def random_url(): + salt = 'randomurl-' + r = ''.join(random.choice(string.ascii_lowercase) for _ in range(8)) + return salt+r + + +class Command(BaseCommand): + # booking data + b_username = 'expomap' + b_password = '33xp00m33p' + + def fill_city(self, d): + lang = d['languagecode'] + id = d['city_id'] + country_code = d['countrycode'] + name = d['name'] + + country = Country.objects.filter(country_code=country_code)[0] + + try: + + city = City.objects.get(id=id) + except City.DoesNotExist: + try: + url = translit_with_separator(name)+'-%s'%country_code + except: + url = random_url() + + city = City(country=country, id=id, url=url) + city.translate(lang) + city.name = name + try: + city.save() + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + + try: + url = translit_with_separator(name)+'-%s'%country_code + except: + url = random_url() + + city.url = url + try: + city.save() + + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + try: + tr = City._meta.translations_model.objects.get(language_code=lang,master__id=getattr(city, 'id')) + except: + city.translate(lang) + city.name = name + try: + city.save() + return + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + tr.name = name + tr.save() + return + + + def handle(self, *args, **options): + ROWS = 1000 + + qs = Country.objects.filter() + codes = [country.country_code for country in qs] + #print(codes[86:]) + + + for code in codes[86:]:# start from 7 cause previous already filled(delete this) + offset= 0 + run = True + while(run): + url = 'https://distribution-xml.booking.com/json/bookings.getCities?countrycodes=%s&rows=%s&offset=%s&lanuagecodes=ru,en'%(code ,ROWS, offset) + request = urllib2.Request(url) + base64string = base64.encodestring('%s:%s' % (self.b_username, self.b_password)).replace('\n', '') + request.add_header("Authorization", "Basic %s" % base64string) + try: + response = urllib2.urlopen(request) + except urllib2.HTTPError, e: + continue + #raise CommandError('request failed. code error: %s'%code) + except urllib2.URLError, e: + continue + #raise CommandError('request failed. code error: %s'%code) + if response: + try: + json_list = response.read() + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n'%str(e)) + continue + else: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: bad request\n') + continue + try: + cities = json.loads(json_list) + except: + continue + + for city in cities: + if isinstance(city, dict): + self.fill_city(city) + print('city: %s, country: %s, language: %s'%(city.get('name'), city.get('countrycode'), city.get('languagecode'))) + + if len(cities) < ROWS: + run = False + else: + offset += ROWS \ No newline at end of file diff --git a/city/management/commands/fill_city_desc.py b/city/management/commands/fill_city_desc.py new file mode 100644 index 00000000..b2258a16 --- /dev/null +++ b/city/management/commands/fill_city_desc.py @@ -0,0 +1,129 @@ +from django.core.management.base import BaseCommand, CommandError +import urllib2, base64, json + +from country.models import Country +from city.models import City +from functions.form_check import translit_with_separator +import string, random + +def random_url(): + salt = 'randomurl-' + r = ''.join(random.choice(string.ascii_lowercase) for _ in range(8)) + return salt+r + + +class Command(BaseCommand): + # booking data + b_username = 'expomap' + b_password = '33xp00m33p' + + def fill_city(self, d): + lang = d['languagecode'] + id = d['city_id'] + country_code = d['countrycode'] + name = d['name'] + + country = Country.objects.filter(country_code=country_code)[0] + + try: + + city = City.objects.get(id=id) + except City.DoesNotExist: + try: + url = translit_with_separator(name)+'-%s'%country_code + except: + url = random_url() + + city = City(country=country, id=id, url=url) + city.translate(lang) + city.name = name + try: + city.save() + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + + try: + url = translit_with_separator(name)+'-%s'%country_code + except: + url = random_url() + + city.url = url + try: + city.save() + + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + try: + tr = City._meta.translations_model.objects.get(language_code=lang,master__id=getattr(city, 'id')) + except: + city.translate(lang) + city.name = name + try: + city.save() + return + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n city: %s\n'%(str(e), str(d))) + return + + tr.name = name + tr.save() + return + + + def handle(self, *args, **options): + ROWS = 1000 + + qs = Country.objects.filter() + codes = [country.country_code for country in qs] + + #print(sorted(codes, reverse=True)) + + + for code in sorted(codes, reverse=True): + offset= 0 + run = True + while(run): + url = 'https://distribution-xml.booking.com/json/bookings.getCities?countrycodes=%s&rows=%s&offset=%s&lanuagecodes=ru,en'%(code ,ROWS, offset) + request = urllib2.Request(url) + base64string = base64.encodestring('%s:%s' % (self.b_username, self.b_password)).replace('\n', '') + request.add_header("Authorization", "Basic %s" % base64string) + try: + response = urllib2.urlopen(request) + except urllib2.HTTPError, e: + continue + #raise CommandError('request failed. code error: %s'%code) + except urllib2.URLError, e: + continue + #raise CommandError('request failed. code error: %s'%code) + if response: + try: + json_list = response.read() + except Exception, e: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: %s\n'%str(e)) + continue + else: + with open('/home/kotzilla/Documents/qwer/proj/city/management/commands/errors.txt', 'a') as f: + f.write('error: bad request\n') + continue + try: + cities = json.loads(json_list) + except: + continue + + for city in cities: + if isinstance(city, dict): + self.fill_city(city) + print('city: %s, country: %s, language: %s'%(city.get('name'), city.get('countrycode'), city.get('languagecode'))) + + if len(cities) < ROWS: + run = False + else: + offset += ROWS diff --git a/city/models.py b/city/models.py index 916ac34f..2d4360c2 100644 --- a/city/models.py +++ b/city/models.py @@ -48,7 +48,7 @@ class City(TranslatableModel): descriptions = models.CharField(max_length=255), keywords = models.CharField(max_length=255), ) - #fields saves information about creating and changing model + # fields saves information about creating and changing model created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) diff --git a/city/search_indexes.py b/city/search_indexes.py new file mode 100644 index 00000000..52e04742 --- /dev/null +++ b/city/search_indexes.py @@ -0,0 +1,12 @@ +from haystack import indexes +from models import City + +class CityIndex(indexes.SearchIndex, indexes.Indexable): + text = indexes.CharField(document=True) + name = indexes.CharField(model_attr='name') + + def get_model(self): + return City + + def index_queryset(self, using=None): + return self.get_model().objects.all() \ No newline at end of file diff --git a/company/admin.py b/company/admin.py index ad181a14..1a0f8b13 100644 --- a/company/admin.py +++ b/company/admin.py @@ -89,8 +89,9 @@ def company_change(request, url): data['descriptions_%s' % code] = obj.descriptions #fill form form = CompanyForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = company.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.filter(theme__in=data['theme'])] args = {} diff --git a/conference/admin.py b/conference/admin.py index b977e60f..25931216 100644 --- a/conference/admin.py +++ b/conference/admin.py @@ -190,8 +190,9 @@ def conference_change(request, url): data['descriptions_%s' % code] = obj.descriptions #initial form form = ConferenceChangeForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = conference.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.filter(theme__in=data['theme'])] #get existing statistic statistic = Statistic.objects.filter(conference=getattr(conference, 'id')) diff --git a/conference/models.py b/conference/models.py index f825a15d..a56c30f6 100644 --- a/conference/models.py +++ b/conference/models.py @@ -88,7 +88,9 @@ class Conference(TranslatableModel, EventMixin): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) - views = models.PositiveIntegerField(null=True) + main_page = models.PositiveIntegerField(default=0, db_index=True) + + views = models.PositiveIntegerField(default=0) def __unicode__(self): return self.lazy_translation_getter('name', unicode(self.pk)) diff --git a/country/admin.py b/country/admin.py index 78df920c..754fe5a4 100644 --- a/country/admin.py +++ b/country/admin.py @@ -4,13 +4,10 @@ from django.http import HttpResponseRedirect, HttpResponse from django.core.context_processors import csrf from django.conf import settings from django.contrib.contenttypes.models import ContentType -from django.contrib.auth.decorators import login_required -from django.db.models.loading import get_model -from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage #models and forms from models import Country from forms import CountryForm, CountryDeleteForm -from file.models import FileModel, TmpFile +from file.models import FileModel from file.forms import FileModelForm #custom views from functions.custom_views import objects_list, add_object_with_file, delete_object, filtered_list @@ -72,7 +69,7 @@ def country_change(request, url): else: #fill form with data from database data = {'population' : c.population, 'teritory' : c.teritory, #data from NOT translated fields - 'timezone' : c.timezone, 'region' : c.region, 'country_id' : country_id, + 'timezone' : c.timezone, 'country_id' : country_id, 'phone_code' : c.phone_code, 'time_delivery' : c.time_delivery} if c.capital: diff --git a/country/forms.py b/country/forms.py index f6e5d185..641fe422 100644 --- a/country/forms.py +++ b/country/forms.py @@ -6,7 +6,7 @@ from tinymce.widgets import TinyMCE from django.core.exceptions import ValidationError from django.forms.util import ErrorList #models -from models import Country, City, REGIONS +from models import Country, City from directories.models import Language, Currency, Iata #functions from functions.translate import fill_with_signal @@ -53,7 +53,6 @@ class CountryForm(forms.Form): widget=forms.TextInput(attrs={'placeholder':'Код страны'})) time_delivery = forms.CharField(label='Срок выдачи', required=False, widget=forms.TextInput(attrs={'placeholder':'Срок выдачи'})) - region = forms.ChoiceField(label='Регион', choices=((item, item) for item in REGIONS)) #services = forms.MultipleChoiceField(label='Сервисы', required=False, choices=); #field for comparing tmp files @@ -127,17 +126,11 @@ class CountryForm(forms.Form): country.language.clear() country.currency.clear() - if data.get("name_en"): - country.url = translit_with_separator(data['name_en'].strip()).lower() - else: - country.url = translit_with_separator(data['name_ru'].strip()).lower() - country.population = data['population'] country.teritory = data['teritory'] country.timezone = data['timezone'] country.phone_code = data['phone_code'] country.time_delivery = data['time_delivery'] - country.region = data['region'] if data.get('capital'): country.capital = City.objects.get(id=data['capital']) @@ -161,19 +154,6 @@ class CountryForm(forms.Form): check_tmp_files(country, data['key']) - def clean(self): - data = self.cleaned_data - id = data.get('country_id') - name_ru = data.get('name_ru') - - country = Country.objects.filter(url=translit_with_separator(name_ru)) - if country and str(country[0].id) != id: - msg = 'Страна с таким названием уже существует' - self._errors['name_ru'] = ErrorList([msg]) - del data['name_ru'] - - return data - def clean_phone_code(self): """ phone code checking diff --git a/country/models.py b/country/models.py index 0a393c2b..78fdb263 100644 --- a/country/models.py +++ b/country/models.py @@ -17,7 +17,6 @@ from django.utils.translation import get_language as lang # check if table exist and create flags if true flags = [str(item.id) for item in Service.objects.all()] if db_table_exists('service_service') else [] -REGIONS =('europa', 'asia', 'america', 'africa') class CountryManager(TranslationManager): def all(self): @@ -33,6 +32,11 @@ class CountryManager(TranslationManager): except: return None +class Area(TranslatableModel): + translations = TranslatedFields( + name = models.CharField(max_length=255), + ) + class Country(TranslatableModel): """ Create Country model @@ -45,6 +49,7 @@ class Country(TranslatableModel): services = BitField(flags=flags) url = models.SlugField(unique=True) # relations + area = models.ForeignKey(Area) big_cities = models.ManyToManyField(City, blank=True, null=True, related_name='cities') capital = models.ForeignKey(City,blank=True, null=True, on_delete=models.PROTECT, related_name='capital') language = models.ManyToManyField(Language, blank=True, null=True) @@ -56,8 +61,7 @@ class Country(TranslatableModel): phone_code = models.PositiveIntegerField(blank=True, null=True) time_delivery = models.PositiveSmallIntegerField(blank=True, null=True) - # - region = EnumField(values=REGIONS) + # fields saves information about creating and changing model created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) @@ -73,11 +77,12 @@ class Country(TranslatableModel): documents = models.TextField(blank=True),#pdf? consulate = models.TextField(blank=True), #-----meta data - title = models.CharField(max_length=250), - descriptions = models.CharField(max_length=250), - keywords = models.CharField(max_length=250), + title = models.CharField(max_length=255), + descriptions = models.CharField(max_length=255), + keywords = models.CharField(max_length=255), ) + country_code = models.CharField(max_length=2) # class Meta: # ordering = ['translations__name'] diff --git a/django_messages/__init__.py b/django_messages/__init__.py new file mode 100644 index 00000000..c35c9804 --- /dev/null +++ b/django_messages/__init__.py @@ -0,0 +1,3 @@ +VERSION = (0, 5, 0,) +__version__ = '.'.join(map(str, VERSION)) +default_app_config = 'django_messages.apps.DjangoMessagesConfig' \ No newline at end of file diff --git a/django_messages/admin.py b/django_messages/admin.py new file mode 100644 index 00000000..91d004a1 --- /dev/null +++ b/django_messages/admin.py @@ -0,0 +1,112 @@ +from django import forms +from django.conf import settings +from django.utils.translation import gettext_lazy as _ +from django.contrib import admin +from django.contrib.auth.models import Group + +from django_messages.utils import get_user_model +User = get_user_model() + +if "notification" in settings.INSTALLED_APPS: + from notification import models as notification +else: + notification = None + +from django_messages.models import Message + +class MessageAdminForm(forms.ModelForm): + """ + Custom AdminForm to enable messages to groups and all users. + """ + group = forms.ChoiceField(label=_('group'), required=False, + help_text=_('Creates the message optionally for all users or a group of users.')) + + def __init__(self, *args, **kwargs): + super(MessageAdminForm, self).__init__(*args, **kwargs) + self.fields['group'].choices = self._get_group_choices() + self.fields['recipient'].required = True + + def _get_group_choices(self): + return [('', u'---------'), ('all', _('All users'))] + \ + [(group.pk, group.name) for group in Group.objects.all()] + + class Meta: + model = Message + fields = ('sender', 'recipient', 'group', 'parent_msg', 'subject', + 'body', 'sent_at', 'read_at', 'replied_at', 'sender_deleted_at', + 'recipient_deleted_at') + +class MessageAdmin(admin.ModelAdmin): + form = MessageAdminForm + fieldsets = ( + (None, { + 'fields': ( + 'sender', + ('recipient', 'group'), + ), + }), + (_('Message'), { + 'fields': ( + 'parent_msg', + 'subject', 'body', + ), + 'classes': ('monospace' ), + }), + (_('Date/time'), { + 'fields': ( + 'sent_at', 'read_at', 'replied_at', + 'sender_deleted_at', 'recipient_deleted_at', + ), + 'classes': ('collapse', 'wide'), + }), + ) + list_display = ('subject', 'sender', 'recipient', 'sent_at', 'read_at') + list_filter = ('sent_at', 'sender', 'recipient') + search_fields = ('subject', 'body') + raw_id_fields = ('sender', 'recipient', 'parent_msg') + + def save_model(self, request, obj, form, change): + """ + Saves the message for the recipient and looks in the form instance + for other possible recipients. Prevents duplication by excludin the + original recipient from the list of optional recipients. + + When changing an existing message and choosing optional recipients, + the message is effectively resent to those users. + """ + obj.save() + + if notification: + # Getting the appropriate notice labels for the sender and recipients. + if obj.parent_msg is None: + sender_label = 'messages_sent' + recipients_label = 'messages_received' + else: + sender_label = 'messages_replied' + recipients_label = 'messages_reply_received' + + # Notification for the sender. + notification.send([obj.sender], sender_label, {'message': obj,}) + + if form.cleaned_data['group'] == 'all': + # send to all users + recipients = User.objects.exclude(pk=obj.recipient.pk) + else: + # send to a group of users + recipients = [] + group = form.cleaned_data['group'] + if group: + group = Group.objects.get(pk=group) + recipients.extend( + list(group.user_set.exclude(pk=obj.recipient.pk))) + # create messages for all found recipients + for user in recipients: + obj.pk = None + obj.recipient = user + obj.save() + + if notification: + # Notification for the recipient. + notification.send([user], recipients_label, {'message' : obj,}) + +admin.site.register(Message, MessageAdmin) diff --git a/django_messages/apps.py b/django_messages/apps.py new file mode 100644 index 00000000..c7a4f268 --- /dev/null +++ b/django_messages/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig +from django.utils.translation import ugettext_lazy as _ + +class DjangoMessagesConfig(AppConfig): + name = 'django_messages' + verbose_name = _('Messages') diff --git a/django_messages/context_processors.py b/django_messages/context_processors.py new file mode 100644 index 00000000..e6494129 --- /dev/null +++ b/django_messages/context_processors.py @@ -0,0 +1,7 @@ +from django_messages.models import inbox_count_for + +def inbox(request): + if request.user.is_authenticated(): + return {'messages_inbox_count': inbox_count_for(request.user)} + else: + return {} diff --git a/django_messages/expomap_urls.py b/django_messages/expomap_urls.py new file mode 100644 index 00000000..14a84832 --- /dev/null +++ b/django_messages/expomap_urls.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from django.conf.urls import patterns, url +from django.contrib.auth.decorators import login_required +from expomap_views import InboxView, message_reply, MessageHistory + + +urlpatterns = patterns('', + url(r'^profile/messages/reply/(?P[\d]+)/$', message_reply), + url(r'^profile/messages/history/(?P[\d]+)/$', login_required(MessageHistory.as_view())), + url(r'^profile/messages/$', login_required(InboxView.as_view())), + + #url(r'^profile/messages/reply/(?P[\d]+)/$', login_required(InboxView.as_view())), +) + diff --git a/django_messages/expomap_views.py b/django_messages/expomap_views.py new file mode 100644 index 00000000..78f754b3 --- /dev/null +++ b/django_messages/expomap_views.py @@ -0,0 +1,90 @@ +# -*- coding: utf-8 -*- +from django.http import HttpResponseRedirect, HttpResponse +from django.shortcuts import render_to_response, get_object_or_404 +from django.views.generic import ListView, DetailView, TemplateView, FormView +from django.utils.translation import ugettext as _ +from django.contrib import messages +from django.db.models import Q +from django.utils import timezone +from forms import ComposeForm, ReplyForm +from models import Message +import json + + +class InboxView(TemplateView): + template_name = 'accounts/messages.html' + + def get_context_data(self, **kwargs): + context = super(InboxView, self).get_context_data(**kwargs) + senders = Message.objects.senders(self.request.user) + context['senders'] = [{'sender': s, 'message': Message.objects.filter(recipient=self.request.user, sender=s)[0]}\ + for s in senders] + reply_form = ReplyForm() + + context['reply_form'] = reply_form + return context + +def message_reply(request, message_id): + response = {'success': False} + if request.POST: + + form = ReplyForm(request.POST) + if form.is_valid(): + parent_msg =get_object_or_404(Message, id=message_id)# Message.objects.get(id=parent) + form.save(sender=request.user, parent_msg=parent_msg) + response['success'] = True + return HttpResponse(json.dumps(response), content_type='application/json') + + else: + return HttpResponse('error') + return HttpResponse('not ajax') + +class MessageHistory(FormView): + template_name = 'accounts/messages_history.html' + form_class = ReplyForm + success_url = '' + + + def get_initial(self): + return {'recipient':self.kwargs.get('user_id')} + + def get_context_data(self, **kwargs): + now = timezone.now() + context = super(MessageHistory, self).get_context_data(**kwargs) + user = self.kwargs.get('user_id') + messages = Message.objects.filter( + Q(sender=self.request.user, recipient=user) | + Q(sender=user, recipient=self.request.user) + )[:15] + Message.objects.filter(sender=self.request.user, recipient=user).update(read_at=now) + + context['profile_messages'] = messages + return context + + def form_invalid(self, form): + user_id = self.kwargs.get('user_id') + return HttpResponseRedirect('/profile/messages/history/'+user_id+'/') + def form_valid(self, form): + form.save(sender=self.request.user) + user_id = self.kwargs.get('user_id') + return HttpResponseRedirect('/profile/messages/history/'+user_id+'/') + + + +""" +class ReplyView(FormView): + form_class = ComposeForm + template_name = 'message_reply.html' + def form_valid(self, form): + form.save(sender=self.request.user, parent_msg=self.parent) + messages.info(self.request, _(u"Message successfully sent.")) + return HttpResponseRedirect('/profile/messages') + + def get_context_data(self, **kwargs): + context = super(InboxView, self).get_context_data(**kwargs) + + parent = self.kwargs.get('self.message_id') + parent_msg =get_object_or_404(Message, id=parent)# Message.objects.get(id=parent) + context['parent_msg'] = parent_msg + return context +""" diff --git a/django_messages/fields.py b/django_messages/fields.py new file mode 100644 index 00000000..cccfcd96 --- /dev/null +++ b/django_messages/fields.py @@ -0,0 +1,60 @@ +""" +Based on http://www.djangosnippets.org/snippets/595/ +by sopelkin +""" + +from django import forms +from django.forms import widgets +from django.utils.translation import ugettext_lazy as _ + +from django_messages.utils import get_user_model, get_username_field + +User = get_user_model() + + +class CommaSeparatedUserInput(widgets.Input): + input_type = 'text' + + def render(self, name, value, attrs=None): + if value is None: + value = '' + elif isinstance(value, (list, tuple)): + value = (', '.join([getattr(user, get_username_field()) for user in value])) + return super(CommaSeparatedUserInput, self).render(name, value, attrs) + + + +class CommaSeparatedUserField(forms.Field): + widget = CommaSeparatedUserInput + + def __init__(self, *args, **kwargs): + recipient_filter = kwargs.pop('recipient_filter', None) + self._recipient_filter = recipient_filter + super(CommaSeparatedUserField, self).__init__(*args, **kwargs) + + def clean(self, value): + super(CommaSeparatedUserField, self).clean(value) + if not value: + return '' + if isinstance(value, (list, tuple)): + return value + + names = set(value.split(',')) + names_set = set([name.strip() for name in names if name.strip()]) + users = list(User.objects.filter(**{'%s__in' % get_username_field(): names_set})) + unknown_names = names_set ^ set([getattr(user, get_username_field()) for user in users]) + + recipient_filter = self._recipient_filter + invalid_users = [] + if recipient_filter is not None: + for r in users: + if recipient_filter(r) is False: + users.remove(r) + invalid_users.append(getattr(r, get_username_field())) + + if unknown_names or invalid_users: + raise forms.ValidationError(_(u"The following usernames are incorrect: %(users)s") % {'users': ', '.join(list(unknown_names)+invalid_users)}) + + return users + + diff --git a/django_messages/forms.py b/django_messages/forms.py new file mode 100644 index 00000000..8aaa360b --- /dev/null +++ b/django_messages/forms.py @@ -0,0 +1,87 @@ +import datetime +from django import forms +from django.conf import settings +from django.utils.translation import ugettext_lazy as _ + +if "notification" in settings.INSTALLED_APPS: + from notification import models as notification +else: + notification = None + +from django_messages.models import Message +from django_messages.fields import CommaSeparatedUserField +from accounts.models import User + +class ReplyForm(forms.Form): + recipient = forms.CharField(widget=forms.HiddenInput(), required=False) + subject = forms.CharField(label=_(u"Subject"), max_length=120, required=False) + body = forms.CharField(label=_(u"Body"), + widget=forms.Textarea(attrs={'rows': '12', 'cols':'55'})) + + def save(self, sender, parent_msg=None): + subject = self.cleaned_data['subject'] + body = self.cleaned_data['body'] + recipient = self.cleaned_data['recipient'] + msg = Message( + sender = sender, + recipient = recipient, + subject = subject, + body = body, + ) + if parent_msg is not None: + msg.parent_msg = parent_msg + parent_msg.replied_at = datetime.datetime.now() + parent_msg.save() + + msg.save() + + return msg + + def clean_recipient(self): + recipient = self.cleaned_data.get('recipient') + user = User.objects.get(id=recipient) + return user + +class ComposeForm(forms.Form): + """ + A simple default form for private messages. + """ + recipient = CommaSeparatedUserField(label=_(u"Recipient")) + subject = forms.CharField(label=_(u"Subject"), max_length=120, required=False) + body = forms.CharField(label=_(u"Body"), + widget=forms.Textarea(attrs={'rows': '12', 'cols':'55'})) + + + def __init__(self, *args, **kwargs): + recipient_filter = kwargs.pop('recipient_filter', None) + super(ComposeForm, self).__init__(*args, **kwargs) + if recipient_filter is not None: + self.fields['recipient']._recipient_filter = recipient_filter + + + def save(self, sender, parent_msg=None): + recipients = self.cleaned_data['recipient'] + subject = self.cleaned_data['subject'] + body = self.cleaned_data['body'] + message_list = [] + for r in recipients: + msg = Message( + sender = sender, + recipient = r, + subject = subject, + body = body, + ) + if parent_msg is not None: + msg.parent_msg = parent_msg + parent_msg.replied_at = datetime.datetime.now() + parent_msg.save() + msg.save() + message_list.append(msg) + if notification: + if parent_msg is not None: + notification.send([sender], "messages_replied", {'message': msg,}) + notification.send([r], "messages_reply_received", {'message': msg,}) + else: + notification.send([sender], "messages_sent", {'message': msg,}) + notification.send([r], "messages_received", {'message': msg,}) + return message_list \ No newline at end of file diff --git a/django_messages/locale/ar/LC_MESSAGES/django.mo b/django_messages/locale/ar/LC_MESSAGES/django.mo new file mode 100644 index 00000000..5c16012d Binary files /dev/null and b/django_messages/locale/ar/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ar/LC_MESSAGES/django.po b/django_messages/locale/ar/LC_MESSAGES/django.po new file mode 100644 index 00000000..027edb1b --- /dev/null +++ b/django_messages/locale/ar/LC_MESSAGES/django.po @@ -0,0 +1,317 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Ossama M. Khayat , 2009. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-14 04:23+0300\n" +"PO-Revision-Date: 2009-11-02 00:41+0300\n" +"Last-Translator: Ossama M. Khayat \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.0\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:8 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "المستلم" + +#: admin.py:15 +msgid "group" +msgstr "مجموعة" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "ينشئ الرسالة اختياريا لجميع المستخدمين او لمجموعة من المستخدمين." + +#: admin.py:23 +msgid "All users" +msgstr "جميع المستخدمين" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "الرسالة" + +#: admin.py:45 +msgid "Date/time" +msgstr "التاريخ/الوقت" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "أسماء المستخدمين التالي ذكرهم غير صحيحة: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:8 +#: templates/messages/outbox.html:8 templates/messages/trash.html:8 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "الموضوع" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "المحتوى" + +#: management.py:9 +msgid "Message Received" +msgstr "تم استلام الرسالة" + +#: management.py:9 +msgid "you have received a message" +msgstr "وصلتك رسالة" + +#: management.py:10 +msgid "Message Sent" +msgstr "تم إرسال الرسالة" + +#: management.py:10 +msgid "you have sent a message" +msgstr "قمت بإرسال رسالة" + +#: management.py:11 +msgid "Message Replied" +msgstr "تم الرد على الرسالة" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "قمت بالرد على الرسالة" + +#: management.py:12 +msgid "Reply Received" +msgstr "تم استلام الرد" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "استملت رداً على رسالة" + +#: management.py:13 +msgid "Message Deleted" +msgstr "تم حذف الرسالة" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "قمت بحذف رسالة" + +#: management.py:14 +msgid "Message Recovered" +msgstr "تم استرجاع الرسالة" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "قمت باسترجاع رسالة" + +#: models.py:51 templates/messages/inbox.html:8 +#: templates/messages/trash.html:8 templates/messages/view.html:8 +msgid "Sender" +msgstr "المرسل" + +#: models.py:53 +msgid "Parent message" +msgstr "الرسالة الأساسية" + +#: models.py:54 +msgid "sent at" +msgstr "أرسلت في" + +#: models.py:55 +msgid "read at" +msgstr "قُرأت في" + +#: models.py:56 +msgid "replied at" +msgstr "رُدّ عليها في" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "حذفها المُرسل في" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "حذفها المستلم في" + +#: models.py:89 +msgid "Messages" +msgstr "الرسائل" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "رسالة جديدة: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "تم إرسال الرسالة بنجاح." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"كتب %(sender)s:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "رد: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "تم حذف الرسالة بنجاح." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "تم استرجاع الرسالة بنجاح." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "الوارد" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "الرسائل المرسلة" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "رسالة جديدة" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "الحاوية" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "أكتب رسالة" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "أرسل" + +#: templates/messages/inbox.html:8 +msgid "Received" +msgstr "استُلمت" + +#: templates/messages/inbox.html:8 templates/messages/outbox.html:8 +#: templates/messages/trash.html:8 +msgid "Action" +msgstr "إجراء" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +#: templates/messages/trash.html:17 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:21 templates/messages/outbox.html:18 +msgid "delete" +msgstr "حذف" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "لا توجد رسائل." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"مرحباً %(recipient)s،\n" +"\n" +"وصلتك رسالة خاصة من %(sender)s\n" +"تحتوي ما يلي:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "أرسلت من %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "رد" + +#: templates/messages/outbox.html:8 +msgid "Sent" +msgstr "أرسل" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "الرسائل المحذوفة" + +#: templates/messages/trash.html:8 templates/messages/view.html:10 +msgid "Date" +msgstr "التاريخ" + +#: templates/messages/trash.html:18 +msgid "undelete" +msgstr "استرجاع" + +#: templates/messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"تتم إزالة الرسائل المحذوفة من الحاوية على فترات زمنيّة متفاوتة، " +"فلا تعتمد على هذه الميزة للتخزين الطويل المدى." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "مشاهدة الرسالة" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "حذف" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "قمت بحذف الرسالة %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"وصلتك الرسالة %(message)s " +"من %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "قمت باسترجاع الرسالة %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"قمت بالرد الرسائل %(message_parent_msg)s " +"من %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "أرسل لك %(message_sender)s رداً على %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"قمت بإرسالة الرسالة %(message)s إلى %" +"(message_recipient)s." + diff --git a/django_messages/locale/da/LC_MESSAGES/django.mo b/django_messages/locale/da/LC_MESSAGES/django.mo new file mode 100644 index 00000000..591819e0 Binary files /dev/null and b/django_messages/locale/da/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/da/LC_MESSAGES/django.po b/django_messages/locale/da/LC_MESSAGES/django.po new file mode 100644 index 00000000..1689cd83 --- /dev/null +++ b/django_messages/locale/da/LC_MESSAGES/django.po @@ -0,0 +1,367 @@ +# django-messages in Danish. +# django-messages på Dansk. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Michael Lind Mortensen , 2009. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Modtager" + +#: admin.py:15 +msgid "group" +msgstr "gruppe" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Skaber beskeden for alle brugere eller en gruppe af brugere." + +#: admin.py:23 +msgid "All users" +msgstr "Alle brugere" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Beskeder" + +#: admin.py:45 +msgid "Date/time" +msgstr "Dato/tid" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "De følgende brugernavne er forkerte: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Emne" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Indhold" + +#: management.py:9 +msgid "Message Received" +msgstr "Besked Modtaget" + +#: management.py:9 +msgid "you have received a message" +msgstr "du har modtaget en besked" + +#: management.py:10 +msgid "Message Sent" +msgstr "Besked Afsendt" + +#: management.py:10 +msgid "you have sent a message" +msgstr "du har sendt en besked" + +#: management.py:11 +msgid "Message Replied" +msgstr "Besked Besvaret" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "du har besvaret en besked" + +#: management.py:12 +msgid "Reply Received" +msgstr "Svar Modtaget" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "du har modtaget en besvarelse på en besked" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Besked Slettet" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "du har slettet en besked" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Besked Genskabt" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "du har genskabt en besked" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Afsender" + +#: models.py:53 +msgid "Parent message" +msgstr "Stambesked" + +#: models.py:54 +msgid "sent at" +msgstr "sendt" + +#: models.py:55 +msgid "read at" +msgstr "læst" + +#: models.py:56 +msgid "replied at" +msgstr "besvaret" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Afsender slettet" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Modtager slettet" + +#: models.py:89 +msgid "Messages" +msgstr "Beskeder" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Ny besked: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Besked sendt succesfuldt." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s skrev:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "SV: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Besked slettet succesfuldt." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Besked genskabt succesfuldt." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Indboks" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Sendte Beskeder" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Ny Besked" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papirkurv" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Skriv Ny Besked" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Send" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Modtaget" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Handling" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "slet" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Goddag %(recipient)s,\n" +"\n" +"du har modtaget en privat besked fra %(sender)s med\n" +"følgende indhold:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Sendt fra %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Besvar" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Sendt" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Slettede Beskeder" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Dato" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "genskab" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Slettede beskeder fjernes fra papirkurven med jævne mellemrum. Lad være med " +"at regne med denne funktion til langtidslagring." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Læs Besked" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Slet" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Du har slettet beskeden %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Du har modtaget beskeden %(message)s fra %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Du har genskabt beskeden %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Du har besvaret %(message_parent_msg)s fra %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s har sendt dig en besvarelse på %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Du har sendt beskeden %(message)s til %" +"(message_recipient)s." + +#, fuzzy +#~ msgid "You have deleted the message '%(message)s'." +#~ msgstr "Du har slettet beskeden '%(message)s'." + +#, fuzzy +#~ msgid "" +#~ "%(message_sender)s has sent you a message:\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" +#~ msgstr "" +#~ "%(message_sender)s har sendt dig en besked:\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" + +#~ msgid "%(notice)s by %(message_sender)s" +#~ msgstr "%(notice)s af %(message_sender)s" + +#, fuzzy +#~ msgid "You have recovered the message '%(message)s'." +#~ msgstr "Du har genskabt beskeden '%(message)s'." + +#, fuzzy +#~ msgid "" +#~ "You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +#~ msgstr "Du har besvaret '%(message_parent_msg)s' fra %(message_recipient)s." + +#~ msgid "" +#~ "%(message_sender)s replied to '%(message_parent_msg)s':\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" +#~ msgstr "" +#~ "%(message_sender)s besvarede '%(message_parent_msg)s':\n" +#~ "\n" +#~ "%(message)s\n" +#~ "\n" +#~ "%(message_body)s\n" +#~ "\n" +#~ "http://%(current_site)s%(message_url)s" + +#, fuzzy +#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." +#~ msgstr "Du har sendt beskeden '%(message)s' til %(message_recipient)s." diff --git a/django_messages/locale/de/LC_MESSAGES/django.mo b/django_messages/locale/de/LC_MESSAGES/django.mo new file mode 100644 index 00000000..1e4e5c86 Binary files /dev/null and b/django_messages/locale/de/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/de/LC_MESSAGES/django.po b/django_messages/locale/de/LC_MESSAGES/django.po new file mode 100644 index 00000000..29ec6151 --- /dev/null +++ b/django_messages/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,321 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Empfänger" + +#: admin.py:15 +msgid "group" +msgstr "Gruppe" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" +"Fügt die Nachricht wahlweise für jeden Benutzer der ausgewählten Gruppe " +"hinzu." + +#: admin.py:23 +msgid "All users" +msgstr "Alle Benutzer" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Nachricht" + +#: admin.py:45 +msgid "Date/time" +msgstr "Datum/Zeit" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Die folgenden Benutzernamen sind nicht korrekt: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Betreff" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Inhalt" + +#: management.py:9 +msgid "Message Received" +msgstr "Nachricht erhalten" + +#: management.py:9 +msgid "you have received a message" +msgstr "Du hast eine Nachricht erhalten" + +#: management.py:10 +msgid "Message Sent" +msgstr "Nachricht gesendet" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Du hast eine Nachricht gesendet" + +#: management.py:11 +msgid "Message Replied" +msgstr "Nachricht beantwortet" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "Du hast eine Nachricht beantwortet" + +#: management.py:12 +msgid "Reply Received" +msgstr "Antwort erhalten" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Du hast eine Antwort auf eine Nachricht erhalten" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Nachricht gelöscht" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "Du hast eine Nachricht gelöscht" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Nachricht wiederhergestellt" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Du hast eine Nachricht wiederhergestellt" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Absender" + +#: models.py:53 +msgid "Parent message" +msgstr "Übergeordnete Nachricht" + +#: models.py:54 +msgid "sent at" +msgstr "gesendet am" + +#: models.py:55 +msgid "read at" +msgstr "gelesen am" + +#: models.py:56 +msgid "replied at" +msgstr "beantwortet am" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Vom Absender gelöscht" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Vom Empfänger gelöscht" + +#: models.py:89 +msgid "Messages" +msgstr "Nachrichten" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Neue Nachricht: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Nachricht erfolgreich gesendet." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s schrieb:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Nachricht erfolgreich gelöscht." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Nachricht erfolgreich wiederhergestellt." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Posteingang" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Gesendete Nachrichten" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Neue Nachricht" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papierkorb" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Nachricht verfassen" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Senden" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Erhalten" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Aktion" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "löschen" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Keine Nachrichten." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hallo %(recipient)s,\n" +"\n" +"du hast eine private Nachricht von %(sender)s mit\n" +"dem folgenden Inhalt erhalten:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Gesendet von %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Antworten" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Gesendet" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Gelöschte Nachrichten" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Datum" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "wiederherstellen" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Gelöschte Nachrichten werden in unregelmäßigen Intervallen entfernt, verlass " +"dich nicht drauf, dass diese Nachrichten hier lange gespeichert werden." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Nachrichtendetails" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Löschen" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" +"Du hast die Nachricht %(message)s gelöscht." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Du hast die Nachricht %(message)s von %" +"(message_sender)s erhalten." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Du hast die Nachricht %(message)s " +"wiederhergestellt." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Du hast auf die Nachricht %(message_parent_msg)" +"s von %(message_recipient)s geantwortet." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s hat dir eine Antwort auf %(message_parent_msg)s gesendet." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Du hast die Nachricht %(message)s an %" +"(message_recipient)s gesendet." diff --git a/django_messages/locale/el/LC_MESSAGES/django.mo b/django_messages/locale/el/LC_MESSAGES/django.mo new file mode 100644 index 00000000..cecfd01e Binary files /dev/null and b/django_messages/locale/el/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/el/LC_MESSAGES/django.po b/django_messages/locale/el/LC_MESSAGES/django.po new file mode 100644 index 00000000..fe210146 --- /dev/null +++ b/django_messages/locale/el/LC_MESSAGES/django.po @@ -0,0 +1,291 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2009-09-08 15:50+0200\n" +"Last-Translator: markos \n" +"Language-Team: Markos Gogoulos \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Αποδέκτης" + +#: admin.py:15 +msgid "group" +msgstr "ομάδα" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Δημιουργεί το μήνυμα προαιρετικά για όλους τους χρήστες ή για ομάδα χρηστών." + +#: admin.py:23 +msgid "All users" +msgstr "Όλοι οι χρήστες" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Μήνυμα" + +#: admin.py:45 +msgid "Date/time" +msgstr "Ημερομηνία/Ώρα" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Τα παρακάτω usernames δεν είναι σωστά: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Θέμα" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Κυρίως μέρος" + +#: management.py:9 +msgid "Message Received" +msgstr "Το μήνυμα ελήφθη " + +#: management.py:9 +msgid "you have received a message" +msgstr "έχετε λάβει ένα μήνυμα" + +#: management.py:10 +msgid "Message Sent" +msgstr "Το μήνυμα εστάλει" + +#: management.py:10 +msgid "you have sent a message" +msgstr "έχετε στείλει ένα μήνυμα" + +#: management.py:11 +msgid "Message Replied" +msgstr "Το μήνυμα έχει απαντηθεί" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "έχετε απαντήσει σε ένα μήνυμα" + +#: management.py:12 +msgid "Reply Received" +msgstr "Η απάντηση ελήφθη" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "έχετε λάβει μια απάντηση σε ένα μήνυμα" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Το μήνυμα έχει διαγραφεί" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "διαγράψατε ένα μήνυμα" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Το μήνυμα έχει ανακληθεί" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "έχετε ανακτήσει ένα μήνυμα" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Αποστολέας" + +#: models.py:53 +msgid "Parent message" +msgstr "Μήνυμα Γονέας" + +#: models.py:54 +msgid "sent at" +msgstr "εστάλει στις" + +#: models.py:55 +msgid "read at" +msgstr "αναγνώστηκε στις" + +#: models.py:56 +msgid "replied at" +msgstr "απαντήθηκε στις" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Ο αποστολέας το διέγραψε στις" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Ο αποδέκτης το διέγραψε στις" + +#: models.py:89 +msgid "Messages" +msgstr "Μηνύματα" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "καινούργιο μήνυμα: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Το μήνυμα έχει αποσταλεί με επιτυχία." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s έγραψε:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Το μήνυμα διεγράφει." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Το μήνυμα έχει ανακληθεί επιτυχημένα" + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Εισερχόμενα" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Σταλμένα μηνύματα" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Νέο μήνυμα" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Άχρηστα" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Συντάξτε μήνυμα" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Στείλτε" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Ελήφθη" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Ενέργεια" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "διαγράφω" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Γειά χαρά %(recipient)s,\n" +"\n" +"έχετε λάβει ένα προσωπικό μήνυμα από τον/την %(sender)s με\n" +"το ακόλουθο περιεχόμενο:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Εστάλει απο %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Απαντήστε" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Απεσταλμένα" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Διαγραμμένα μηνύματα" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Ημερομηνία" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "ξεδιαγράψτε" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "Τα διαγραμμένα μηνύματα απομακρύνονται απο τα Άχρηστα σε μη τακτά διαστήματα, μη βασίζεστε σε αυτά για μακροχρόνια αποθήκευση." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Προβολή Μηνύματος" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Διαγραφή" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "Έχετε διαγράψει το μήνυμα %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "Έχετε λάβει το μήνυμα %(message)s από τον/την %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "Έχετε ανακτήσει το μήνυμα %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "Έχετε απαντήσει στο %(message_parent_msg)sαπό τον/την %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "Ο/η %(message_sender)s σας έστειλε μια απάντηση στο %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "Έχετε στείλει το μήνυμα %(message)s στον/στην %(message_recipient)s." diff --git a/django_messages/locale/es/LC_MESSAGES/django.mo b/django_messages/locale/es/LC_MESSAGES/django.mo new file mode 100644 index 00000000..78057902 Binary files /dev/null and b/django_messages/locale/es/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/es/LC_MESSAGES/django.po b/django_messages/locale/es/LC_MESSAGES/django.po new file mode 100644 index 00000000..49d27b39 --- /dev/null +++ b/django_messages/locale/es/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# django-messages in Spanish. +# django-messages en Español. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Maria Guadalupe Paz Urrea , 2008. +# Alfonso Bernardo Harita Rascón , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Mensaje" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Fecha" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Los siguientes usuarios son incorrectos: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Asunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Cuerpo" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensaje Recibido" + +#: management.py:9 +msgid "you have received a message" +msgstr "ha recibido un mensaje" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensaje Enviado" + +#: management.py:10 +msgid "you have sent a message" +msgstr "ha enviado un mensaje" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensaje Respondido" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "ha respondido un mensaje" + +#: management.py:12 +msgid "Reply Received" +msgstr "Respuesta Recibida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "ha recibido una respuesta a un mensaje" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensaje Eliminado" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "ha eliminado un mensaje" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensaje Recuperado" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "ha recuperado un mensaje" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Emisor" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensaje padre" + +#: models.py:54 +msgid "sent at" +msgstr "enviado" + +#: models.py:55 +msgid "read at" +msgstr "leído" + +#: models.py:56 +msgid "replied at" +msgstr "respondido" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Emisor borrado" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario borrado" + +#: models.py:89 +msgid "Messages" +msgstr "Mensajes" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nuevo Mensaje: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Se envió con éxito el mensaje." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escribió:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Se eliminó con éxito el mensaje." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Se recuperó con éxito el mensaje." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Bandeja de entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensajes Enviados" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuevo Mensaje" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papelera" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Redactar Mensaje" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Recibido" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Acción" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "eliminar" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hola %(recipient)s,\n" +"\n" +"ha recibido un mensaje de %(sender)s con\n" +"el siguiente contenido:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado desde %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Enviado" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensajes Eliminados" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Fecha" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Los Mensajes Eliminados son borrados de la Papelera a intérvalos irregulares," +"no se confíe en esta característica para almacenamiento a largo plazo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensaje" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Eliminar" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "ha borrado el mensaje %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"ha recibido el mensaje %(message)s de %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "ha recuperado el mensaje %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"ha respondido a %(message_parent_msg)s de %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s le ha enviado una respuesta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"ha enviado el mensaje %(message)s a %" +"(message_recipient)s." diff --git a/django_messages/locale/es_AR/LC_MESSAGES/django.mo b/django_messages/locale/es_AR/LC_MESSAGES/django.mo new file mode 100644 index 00000000..d0d9df8f Binary files /dev/null and b/django_messages/locale/es_AR/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/es_AR/LC_MESSAGES/django.po b/django_messages/locale/es_AR/LC_MESSAGES/django.po new file mode 100644 index 00000000..6de0f0f9 --- /dev/null +++ b/django_messages/locale/es_AR/LC_MESSAGES/django.po @@ -0,0 +1,312 @@ +# django-messages in Spanish Argentina. +# django-messages en Español Argentina. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Cecilia Lorena Puccinelli , 2008. +# Juan José Conti , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Mensaje" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Fecha" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Asunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Cuerpo" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensaje Recibido" + +#: management.py:9 +msgid "you have received a message" +msgstr "ha recibido un mensaje" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensaje Enviado" + +#: management.py:10 +msgid "you have sent a message" +msgstr "ha enviado un mensaje" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensaje Respondido" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "ha respondido un mensaje" + +#: management.py:12 +msgid "Reply Received" +msgstr "Respuesta Recibida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "ha recibido una respuesta a un mensaje" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensaje Eliminado" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "ha eliminado un mensaje" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensaje Recuperado" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "ha recuperado un mensaje" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Emisor" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensaje padre" + +#: models.py:54 +msgid "sent at" +msgstr "enviado" + +#: models.py:55 +msgid "read at" +msgstr "leído" + +#: models.py:56 +msgid "replied at" +msgstr "respondido" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Emisor borrado" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario borrado" + +#: models.py:89 +msgid "Messages" +msgstr "Mensajes" + +#: utils.py:27 +#, fuzzy, python-format +msgid "New Message: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Se envió con éxito el mensaje." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escribió:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Se eliminó con éxito el mensaje." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Se recuperó con éxito el mensaje." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Bandeja de entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensajes Enviados" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuevo Mensaje" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Papelera" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Redactar Mensaje" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Recibido" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Acción" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "eliminar" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado desde %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Enviado" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensajes Eliminados" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Fecha" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Los Mensajes Eliminados son borrados de la Papelera a intérvalos irregulares," +"no se confíe en esta característica para almacenamiento a largo plazo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensaje" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Eliminar" + +#: templates/notification/messages_deleted/notice.html:1 +#, fuzzy, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "ha eliminado el mensaje %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, fuzzy, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "ha recibido un mensaje de %(sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, fuzzy, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "ha recuperado el mensaje %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, fuzzy, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "ha respondido a %(message)s de %(recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, fuzzy, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(sender)s le ha enviado una respuesta a %(message)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" + +#~ msgid "There is no user with this username." +#~ msgstr "No hay ningún usuario con ese nombre." + +#~ msgid "you have sent a message to %(recipient)s." +#~ msgstr "ha enviado un mensaje a %(recipient)s." + +#~ msgid "New Message:" +#~ msgstr "Mensaje Nuevo" diff --git a/django_messages/locale/fa/LC_MESSAGES/django.mo b/django_messages/locale/fa/LC_MESSAGES/django.mo new file mode 100644 index 00000000..a61d8844 Binary files /dev/null and b/django_messages/locale/fa/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/fa/LC_MESSAGES/django.po b/django_messages/locale/fa/LC_MESSAGES/django.po new file mode 100644 index 00000000..b7932d4a --- /dev/null +++ b/django_messages/locale/fa/LC_MESSAGES/django.po @@ -0,0 +1,357 @@ +# django-messages fari translations +# Copyright (C) 2012 Hassan Zamani +# This file is distributed under the same license as the djagno-messages package. +# Hassan Zamani , 2012. +# +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-06-27 12:44+0430\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"First-Translator: Mohammad Hamidi Esfahani" +"Last-Translator: Hassan Zamani \n" +"Language-Team: LANGUAGE \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: admin.py:19 forms.py:20 models.py:52 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/view.html:12 +msgid "Recipient" +msgstr "گیرنده" + +#: admin.py:21 +msgid "group" +msgstr "گروه" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "ارسال پیام به همه کاربران یا گروهی از آن‌ها." + +#: admin.py:29 +msgid "All users" +msgstr "تمامی کاربران" + +#: admin.py:44 models.py:88 +msgid "Message" +msgstr "پیام" + +#: admin.py:51 +msgid "Date/time" +msgstr "تاریخ/ساعت" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "این کاربرها صحیح نمی‌باشند: %(users)s" + +#: forms.py:21 models.py:49 templates/django_messages/inbox.html:8 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:6 +msgid "Subject" +msgstr "موضوع" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "متن" + + +#: management.py:9 +msgid "Message Received" +msgstr "پیام دریافت‌شد" + +#: management.py:9 +msgid "you have received a message" +msgstr "شما یک پیام دریافت کرده‌اید" + +#: management.py:10 +msgid "Message Sent" +msgstr "پیام ارسال‌شد" + +#: management.py:10 +msgid "you have sent a message" +msgstr "شما یک پیام ارسال کرده‌اید" + +#: management.py:11 +msgid "Message Replied" +msgstr "پیام پاسخ داده‌شد" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "شما به یک پیام پاسخ دادید" + +#: management.py:12 +msgid "Reply Received" +msgstr "پاسخ دریافت‌شد" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "شما پاسخی به یک پیام دریافت کرده‌اید" + +#: management.py:13 +msgid "Message Deleted" +msgstr "پیام حذف گردید" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "شما یک پیام حذف کردید" + +#: management.py:14 +msgid "Message Recovered" +msgstr "پیام بازیابی‌شد" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "شما یک پیام را بازیابی کردید" + +#: models.py:51 templates/django_messages/inbox.html:8 +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:8 +msgid "Sender" +msgstr "فرستنده" + +#: models.py:53 +msgid "Parent message" +msgstr "پیام مرجع" + +#: models.py:54 +msgid "sent at" +msgstr "ارسال شده در" + +#: models.py:55 +msgid "read at" +msgstr "خوانده شده در" + +#: models.py:56 +msgid "replied at" +msgstr "پاسخ داده شده در" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "فرستنده حذف‌شده در" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "گیرنده خذف‌شده در" + +#: models.py:89 +msgid "Messages" +msgstr "پیام ها" + +#: utils.py:26 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s گفت:\n" +"%(body)s" + +#: utils.py:54 +#, python-format +msgid "Re%(prefix)s: %(subject)s" +msgstr "پاسخ%(prefix)s: %(subject)s" + +#: utils.py:60 +#, python-format +msgid "New Message: %(subject)s" +msgstr "پیام جدید: %(subject)s" + +#: views.py:78 views.py:114 +msgid "Message successfully sent." +msgstr "پیام با موفقیت ارسال‌شد." + +#: views.py:121 +#, python-format +msgid "Re: %(subject)s" +msgstr "پاسخ: %(subject)s" + +#: views.py:157 +msgid "Message successfully deleted." +msgstr "پیام با موفقیت حذف‌شد." + +#: views.py:184 +msgid "Message successfully recovered." +msgstr "پیام با موفقیت بازیابی‌شد." + +#: templates/django_messages/base.html:8 +#: templates/django_messages/inbox.html:4 +#: templates/django_messages/new_message.html:10 +msgid "Inbox" +msgstr "صندوق دریافتی" + +#: templates/django_messages/base.html:9 +#: templates/django_messages/outbox.html:4 +msgid "Sent Messages" +msgstr "پیام‌های ارسال‌شده" + +#: templates/django_messages/base.html:10 +msgid "New Message" +msgstr "پیام جدید" + +#: templates/django_messages/base.html:11 +msgid "Trash" +msgstr "پیام‌های حذف‌شده" + +#: templates/django_messages/compose.html:4 +msgid "Compose Message" +msgstr "ایجاد پیام جدید" + +#: templates/django_messages/compose.html:10 +msgid "Send" +msgstr "بفرست" + +#: templates/django_messages/inbox.html:8 +msgid "Received" +msgstr "دریافت‌شد" + +#: templates/django_messages/inbox.html:8 +#: templates/django_messages/outbox.html:8 +#: templates/django_messages/trash.html:8 +msgid "Action" +msgstr "عمل" + +#: templates/django_messages/inbox.html:20 +#: templates/django_messages/outbox.html:17 +#: templates/django_messages/trash.html:17 +#: templates/django_messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/django_messages/inbox.html:21 +#: templates/django_messages/outbox.html:18 +msgid "delete" +msgstr "حذف" + +#: templates/django_messages/inbox.html:27 +#: templates/django_messages/outbox.html:24 +#: templates/django_messages/trash.html:24 +msgid "No messages." +msgstr "پیامی وجود ندارد." + +#: templates/django_messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "سلام %(recipient)s,\n" +"\n" +"شما یک پیام خصوصی از %(sender)s دریافت کرده‌اید:" + +#: templates/django_messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "ارسال شده از %(site_url)s" + +#: templates/django_messages/new_message.html:11 +#: templates/django_messages/view.html:18 +msgid "Reply" +msgstr "پاسخ" + +#: templates/django_messages/outbox.html:8 +msgid "Sent" +msgstr "ارسال‌شد" + +#: templates/django_messages/trash.html:4 +msgid "Deleted Messages" +msgstr "پیام های حذف‌شده" + +#: templates/django_messages/trash.html:8 +#: templates/django_messages/view.html:10 +msgid "Date" +msgstr "تاریخ" + +#: templates/django_messages/trash.html:18 +msgid "undelete" +msgstr "بازیابی" + +#: templates/django_messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"پیام‌های حذف‌شده در بازه‌های زمانی مشخصی از اینجا حذف می‌شوند، بنابراین برای نگهداری طولانی مدت از این‌جا استفاده نکنید." + +#: templates/django_messages/view.html:4 +msgid "View Message" +msgstr "نمایش پیام" + +#: templates/django_messages/view.html:20 +msgid "Delete" +msgstr "حذف" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "شما پیام %(message)s را حذف کردید." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "شما پیام جدید %(message)s را از %(message_sender)s دریافت کردید." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "شما پیام %(message)s را بازیابی کردید." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "شما به پیام %(message_parent_msg)s از %(message_recipient)s پاسخ‌دادید." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s پاسخی به %(message_parent_msg)s برای شما ارسال کرده." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to " +"%(message_recipient)s." +msgstr "شما پیام %(message)s را به %(message_recipient)s ارسال‌کردید." + +#~ msgid "context" +#~ msgstr "متن پیام" + +#~ msgid "received at" +#~ msgstr "دریافت شده در" + +#~ msgid "deleted by sender at" +#~ msgstr "حذف شده توسط فرستنده در" + +#~ msgid "deleted by receiver at" +#~ msgstr "حذف شده توسط گیرنده در" + +#~ msgid "Message revert successfully" +#~ msgstr "پیام با موفقیت بازگردانی شد" + +#~ msgid "send message" +#~ msgstr "ارسال پیام" + +#~ msgid "date" +#~ msgstr "تاریخ" + +#~ msgid "revert" +#~ msgstr "بازگردانی" + +#~ msgid "deleted Messages will remove from trash step by step" +#~ msgstr "پیام های حذف شده در فواصل نامنظم از سطل زباله حذف می گردند" + +#~ msgid "not replied yet" +#~ msgstr "هنوز پاسخ داده نشده است" diff --git a/django_messages/locale/fr/LC_MESSAGES/django.mo b/django_messages/locale/fr/LC_MESSAGES/django.mo new file mode 100644 index 00000000..66d34a43 Binary files /dev/null and b/django_messages/locale/fr/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/fr/LC_MESSAGES/django.po b/django_messages/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 00000000..a30b8708 --- /dev/null +++ b/django_messages/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,316 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2008-08-09 21:58+0100\n" +"Last-Translator: Roland Frédéric \n" +"Language-Team: Frédéric Roland \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinataire" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Message" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Sujet" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Message" + +#: management.py:9 +msgid "Message Received" +msgstr "Message Reçu" + +#: management.py:9 +msgid "you have received a message" +msgstr "vous avez reçu un message" + +#: management.py:10 +msgid "Message Sent" +msgstr "Message Envoyé" + +#: management.py:10 +msgid "you have sent a message" +msgstr "vous avez envoyé un message" + +#: management.py:11 +msgid "Message Replied" +msgstr "Message Répondu" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "vous avez répondu à un message" + +#: management.py:12 +msgid "Reply Received" +msgstr "Réponse Reçue" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "vous avez reçu une réponse à un message" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Message Effacé" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "vous avez effacé un message" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Message Récupéré" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "vous avez récupéré un message" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Expéditeur" + +#: models.py:53 +msgid "Parent message" +msgstr "Message parent" + +#: models.py:54 +msgid "sent at" +msgstr "envoyé à" + +#: models.py:55 +msgid "read at" +msgstr "lu à" + +#: models.py:56 +msgid "replied at" +msgstr "répondu à" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Expéditeur effacé à" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinataire effacé à" + +#: models.py:89 +msgid "Messages" +msgstr "Messages" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Message envoyé avec succès." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s a écrit:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Message effacé avec succès." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Message récupéré avec succès." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Boîte de réception" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Messages envoyés" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nouveau Message" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Poubelle" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Composer Message" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Envoyer" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Reçu" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Action" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "effacer" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Envoyé depuis %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Répondre" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Envoyé" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Messages Effacés" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Date" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "restaurer" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "Les Messages Effacés sont enlevé de la poubelle a intervalles irréguliers, ne comptez pas sur cette fonctionnalité pour du stockage à long terme." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Voir Message" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Effacer" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "Vous avez effacé le message %(message)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "Vous avez récupéré le message %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "Vous avez reçu le message %(message)s de %(message_sender)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s vous a envoyé une réponse à %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "Vous avez envoyé le message %(message)s à %(message_recipient)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "Vous avez répondu à %(message_parent_msg)s de %(message_recipient)s." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Bonjour %(recipient)s,\n" +"\n" +"vous avez reçu un message privé de %(sender)s avec\n" +"le contenu suivant :" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Créé le message en option pour tous les utilisateurs ou un groupe d'utilisateurs." + +#: admin.py:15 +msgid "group" +msgstr "groupe" + +#: admin.py:23 +msgid "All users" +msgstr "Tous les utilisateurs" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Les noms d'utilisateurs suivants sont incorrects : %(users)s" + +#: admin.py:45 +msgid "Date/time" +msgstr "Date/heure" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nouveau message: %(subject)s" + +#~ msgid "There is no user with this username." +#~ msgstr "Il n'y a pas d'utilisateur avec ce nom d'utilisateur." + +#~ msgid "New Message:" +#~ msgstr "Nouveau Message:" + +#~ msgid "You have deleted the message '%(message)s'." +#~ msgstr "Vous avez effacé le message '%(message)s'." + +#~ msgid "You have received a message from %(message_sender)s." +#~ msgstr "Vous avez reçu un message de %(message_sender)s." + +#~ msgid "You have recovered the message '%(message)s'." +#~ msgstr "vous avez récupéré le message '%(message)s'." + +#~ msgid "You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +#~ msgstr "Vous avez répondu à '%(message_parent_msg)s' de %(message_recipient)s." + +#~ msgid "%(message_sender)s has sent you a reply to '%(message_parent_msg)s'." +#~ msgstr "%(message_sender)s vous a envoyé une réponse à '%(message_parent_msg)s'." + +#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." +#~ msgstr "Vous avez envoyé le message '%(message)s' à %(message_recipient)s." diff --git a/django_messages/locale/it/LC_MESSAGES/django.mo b/django_messages/locale/it/LC_MESSAGES/django.mo new file mode 100644 index 00000000..451a8aac Binary files /dev/null and b/django_messages/locale/it/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/it/LC_MESSAGES/django.po b/django_messages/locale/it/LC_MESSAGES/django.po new file mode 100644 index 00000000..caf7f9d4 --- /dev/null +++ b/django_messages/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Sergio Morstabilini , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-03-03 12:31-0700\n" +"PO-Revision-Date: 2010-03-03 21:58+0100\n" +"Last-Translator: Sergio Morstabilini \n" +"Language-Team: Sergio Morstabilini \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Italian\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Destinatario" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Messaggio" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Oggetto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Messaggio" + +#: management.py:9 +msgid "Message Received" +msgstr "Messaggio Ricevuto" + +#: management.py:9 +msgid "you have received a message" +msgstr "hai ricevuto un messaggio" + +#: management.py:10 +msgid "Message Sent" +msgstr "Messaggio Inviato" + +#: management.py:10 +msgid "you have sent a message" +msgstr "hai inviato un messaggio" + +#: management.py:11 +msgid "Message Replied" +msgstr "Risposta Inviata" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "hai risposto ad un messaggio" + +#: management.py:12 +msgid "Reply Received" +msgstr "Risposta Ricevuta" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "hai ricevuto una risposta ad un messaggio" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Messaggio Cancellato" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "hai cancellato un messaggio" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Messaggio Ripristinato" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "hai ripristinato un messaggio" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Mittente" + +#: models.py:53 +msgid "Parent message" +msgstr "In risposta a" + +#: models.py:54 +msgid "sent at" +msgstr "inviato il" + +#: models.py:55 +msgid "read at" +msgstr "letto il" + +#: models.py:56 +msgid "replied at" +msgstr "risposto il" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Mittente cancellato il" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatario cancellato il" + +#: models.py:89 +msgid "Messages" +msgstr "Messaggi" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Messaggio inviato con successo." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s ha scritto:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Messaggio cancellato con successo." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Messaggio recuperato con successo." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Messaggi Ricevuti" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Messaggi Inviati" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nuovo Messaggio" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Cestino" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Scrivi Messaggio" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Invia" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Ricevuto" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Azione" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j F Y, G:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "cancella" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Spedito da %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Rispondi" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Spedito" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Messaggi Cancellati" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "ripristina" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "I messaggi cancellati sono rimossi dal cestino ad intervalli irregolari, non affidatevi a questa cartella per salvare messaggi a lungo termine." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Vedi Messaggio" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Cancella" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "Hai cancellato il messaggio %(message)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "Hai ripristinato il messaggio %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "Hai ricevuto il messaggio %(message)s da %(message_sender)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s ha mandato una risposta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "Hai inviato il messaggio %(message)s a %(message_recipient)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "Hai risposto a %(message_parent_msg)s ricevuto da %(message_recipient)s." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Ciao %(recipient)s,\n" +"\n" +"hai ricevuto un messaggio privato da %(sender)s con\n" +"il seguente contenuto:" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Crea il messaggio facoltativamente per tutti gli utenti o per un gruppo di utenti." + +#: admin.py:15 +msgid "group" +msgstr "gruppo" + +#: admin.py:23 +msgid "All users" +msgstr "Tutti gli utenti" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "I seguenti nomi utente sono incorretti: %(users)s" + +#: admin.py:45 +msgid "Date/time" +msgstr "Data/ora" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nuovo Messaggio: %(subject)s" + +#~ msgid "There is no user with this username." +#~ msgstr "Non esiste un utente con questo nome." + +#~ msgid "New Message:" +#~ msgstr "Nuovo Messaggio:" + +#~ msgid "You have deleted the message '%(message)s'." +#~ msgstr "Hai cancellato il messaggio '%(message)s'." + +#~ msgid "You have received a message from %(message_sender)s." +#~ msgstr "Hai ricevuto un messaggio da %(message_sender)s." + +#~ msgid "You have recovered the message '%(message)s'." +#~ msgstr "Hai ripristinato il messaggio '%(message)s'." + +#~ msgid "You have replied to '%(message_parent_msg)s' from %(message_recipient)s." +#~ msgstr "Hai risposto a '%(message_parent_msg)s' ricevuto da %(message_recipient)s." + +#~ msgid "%(message_sender)s has sent you a reply to '%(message_parent_msg)s'." +#~ msgstr "%(message_sender)s ha risposto a '%(message_parent_msg)s'." + +#~ msgid "You have sent the message '%(message)s' to %(message_recipient)s." +#~ msgstr "Hai spedito il messaggio '%(message)s' a %(message_recipient)s." diff --git a/django_messages/locale/ko/LC_MESSAGES/django.mo b/django_messages/locale/ko/LC_MESSAGES/django.mo new file mode 100644 index 00000000..1660a887 Binary files /dev/null and b/django_messages/locale/ko/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ko/LC_MESSAGES/django.po b/django_messages/locale/ko/LC_MESSAGES/django.po new file mode 100644 index 00000000..4e810c71 --- /dev/null +++ b/django_messages/locale/ko/LC_MESSAGES/django.po @@ -0,0 +1,292 @@ +# django-messages translation for Korean. +# Copyright (C) 2012 Jeong YunWon +# This file is distributed under the same license as the django-messages package. +# Jeong YunWon , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: 2012-02-04 10:58+0900\n" +"Last-Translator: Jeong YunWon \n" +"Language-Team: Jeong YunWon \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Korean\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "받는이" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "쪽지" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "제목" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "내용" + +#: management.py:9 +msgid "Message Received" +msgstr "받은 시각" + +#: management.py:9 +msgid "you have received a message" +msgstr "쪽지를 받았습니다" + +#: management.py:10 +msgid "Message Sent" +msgstr "쪽지 보냄" + +#: management.py:10 +msgid "you have sent a message" +msgstr "쪽지를 보냈습니다" + +#: management.py:11 +msgid "Message Replied" +msgstr "쪽지 답장" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "쪽지에 답장하였습니다" + +#: management.py:12 +msgid "Reply Received" +msgstr "답장 받음" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "쪽지에 답장을 받았습니다" + +#: management.py:13 +msgid "Message Deleted" +msgstr "쪽지 지움" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "쪽지를 지웠습니다" + +#: management.py:14 +msgid "Message Recovered" +msgstr "쪽지 되살림" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "쪽지를 되살렸습니다" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "보낸이" + +#: models.py:53 +msgid "Parent message" +msgstr "이전 쪽지" + +#: models.py:54 +msgid "sent at" +msgstr "보낸 시각:" + +#: models.py:55 +msgid "read at" +msgstr "읽은 시각:" + +#: models.py:56 +msgid "replied at" +msgstr "답장 시각:" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "보낸이가 지운 시각:" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "받는이가 지운 시각:" + +#: models.py:89 +msgid "Messages" +msgstr "쪽지" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "쪽지를 보냈습니다." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s 님의 글:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "쪽지를 지웠습니다." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "쪽지를 되살렸습니다." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "받은 편지함" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "보낸 편지함" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "새 쪽지" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "휴지통" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "새 쪽지 쓰기" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "보내기" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "받은 시각" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "할일" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "Y-m-d G:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "지우기" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "%(site_url)s 에서 보냄" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "답장" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "보낸 시각" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "지운 쪽지" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "날짜" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "되살리기" + +#: templates/messages/trash.html:23 +msgid "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." +msgstr "지운 쪽지는 비정기적으로 휴지통에서 완전히 삭제됩니다. 오래 보관해야 하는 쪽지에 이 기능을 사용하지 마세요." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "쪽지 보기" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "지우기" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "You have deleted the message %(message)s." +msgstr "%(message)s 지윘습니다." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "You have recovered the message %(message)s." +msgstr "%(message)s 되살렸습니다." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "You have received the message %(message)s from %(message_sender)s." +msgstr "%(message_sender)s 님에게 %(message)s 받았습니다." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s 님이 %(message_parent_msg)s 에 답장을 보냈습니다." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "You have sent the message %(message)s to %(message_recipient)s." +msgstr "%(message_recipient)s 님에게 %(message)s 보냈습니다." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "You have replied to %(message_parent_msg)s from %(message_recipient)s." +msgstr "%(message_recipient)s 님의 %(message_parent_msg)s 에 답장하였습니다." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"%(recipient)s 님\n" +"\n" +"%(sender)s 님께 다음 내용으로 쪽지를 받았습니다:" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Creates the message optionally for all users or a group of users." + +#: admin.py:15 +msgid "group" +msgstr "그룹" + +#: admin.py:23 +msgid "All users" +msgstr "모든 사용자" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "올바르지 않은 사용자 이름을 입력하였습니다: %(users)s" + +#: admin.py:45 +msgid "Date/time" +msgstr "날짜/시각" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "새 쪽지: %(subject)s" + diff --git a/django_messages/locale/nl/LC_MESSAGES/django.mo b/django_messages/locale/nl/LC_MESSAGES/django.mo new file mode 100755 index 00000000..cc71ed89 Binary files /dev/null and b/django_messages/locale/nl/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/nl/LC_MESSAGES/django.po b/django_messages/locale/nl/LC_MESSAGES/django.po new file mode 100755 index 00000000..c5b7981a --- /dev/null +++ b/django_messages/locale/nl/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: django-messages-0.4.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: krisje8 \n" +"Language-Team: krisje8 %(message)s." +msgstr "" +"Je hebt het bericht %(message)s verwijderd." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Je hebt het bericht %(message)s ontvangen " +"van %(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" +"Je hebt het bericht %(message)s hersteld." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Je hebt op %(message_parent_msg)s van %" +"(message_recipient)s geantwoord." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s heeft je een antwoord op %(message_parent_msg)s gestuurd." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Je hebt het bericht %(message)s naar %" +"(message_recipient)s gestuurd." diff --git a/django_messages/locale/pl/LC_MESSAGES/django.mo b/django_messages/locale/pl/LC_MESSAGES/django.mo new file mode 100644 index 00000000..22792544 Binary files /dev/null and b/django_messages/locale/pl/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/pl/LC_MESSAGES/django.po b/django_messages/locale/pl/LC_MESSAGES/django.po new file mode 100644 index 00000000..bb15d5bb --- /dev/null +++ b/django_messages/locale/pl/LC_MESSAGES/django.po @@ -0,0 +1,305 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Odbiorca" + +#: admin.py:15 +msgid "group" +msgstr "" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "" + +#: admin.py:23 +msgid "All users" +msgstr "" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Wiadomość" + +#: admin.py:45 +#, fuzzy +msgid "Date/time" +msgstr "Data" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Te nazwy użytkowników są niewłaściwe: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Temat" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Treść" + +#: management.py:9 +msgid "Message Received" +msgstr "Wiadomość otrzymana" + +#: management.py:9 +msgid "you have received a message" +msgstr "otrzymałeś wiadomość" + +#: management.py:10 +msgid "Message Sent" +msgstr "Wiadomość wysłana" + +#: management.py:10 +msgid "you have sent a message" +msgstr "wysłałeś wiadomość" + +#: management.py:11 +msgid "Message Replied" +msgstr "Odpowiedź wysłana" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "odpowiedziałeś na wiadomość" + +#: management.py:12 +msgid "Reply Received" +msgstr "Odpowiedź otrzymana" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Dostałeś odpowiedź na wiadomość" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Wiadomość skasowana" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "skasowałeś wiadomość" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Wiadomość odzyskana" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Odzyskałeś skasowaną wiadomość" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Nadawca" + +#: models.py:53 +msgid "Parent message" +msgstr "Poprzednia wiadomość" + +#: models.py:54 +msgid "sent at" +msgstr "wysłano" + +#: models.py:55 +msgid "read at" +msgstr "przeczytano" + +#: models.py:56 +msgid "replied at" +msgstr "odpowiedziano" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Nadawcę skasowano" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Adresata skasowano" + +#: models.py:89 +msgid "Messages" +msgstr "Wiadomości" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nowa wiadomość: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Wiadomość wysłana" + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s napisał:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Odp: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Wiadomość skasowana" + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Wiadomość odzyskana" + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Wiadomości otrzymane" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Wiadomości wysłane" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nowa wiadomość" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Kosz" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Stwórz wiadomość" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Wyślij" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Otrzymane" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "akcja" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "usuń" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Witaj, %(recipient)s,\n" +"\n" +"otrzymałeś od użytkownika %(sender)s wiadomość\n" +"o następującej treści:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Wysłane z adresu %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Odpowiedz" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Wiadomości wysłane" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Wiadomości skasowane" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "odzyskaj" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Wiadomości są usuwane z Kosza nieregularnie. Nie licz, że zastaniesz je " +"tutaj po dłuższym czasie" + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Zobacz wiadomość" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Usuń" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "" + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "" + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" diff --git a/django_messages/locale/pt_BR/LC_MESSAGES/django.mo b/django_messages/locale/pt_BR/LC_MESSAGES/django.mo new file mode 100644 index 00000000..83e57045 Binary files /dev/null and b/django_messages/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/pt_BR/LC_MESSAGES/django.po b/django_messages/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 00000000..ef36d4fe --- /dev/null +++ b/django_messages/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,314 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Diego Martins , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-02-01 10:24+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:19 forms.py:20 models.py:52 templates/messages/outbox.html:8 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Usuário" + +#: admin.py:21 +msgid "group" +msgstr "grupo" + +#: admin.py:22 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Cria a mensagem para todos os usuários ou para um grupo de usuários." + +#: admin.py:29 +msgid "All users" +msgstr "Todos os usuários" + +#: admin.py:44 models.py:88 +msgid "Message" +msgstr "Mensagem" + +#: admin.py:51 +msgid "Date/time" +msgstr "Data/Hora" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Os seguintes nome de usuário estão incorretos: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:8 +#: templates/messages/outbox.html:8 templates/messages/trash.html:8 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Assunto" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Mensagem" + +#: management.py:9 +msgid "Message Received" +msgstr "Mensagem Recebida" + +#: management.py:9 +msgid "you have received a message" +msgstr "Você recebeu uma mensagem" + +#: management.py:10 +msgid "Message Sent" +msgstr "Mensagem Enviada" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Você enviou uma mensagem" + +#: management.py:11 +msgid "Message Replied" +msgstr "Mensagem Respondida" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "Você respondeu uma mensagem" + +#: management.py:12 +msgid "Reply Received" +msgstr "Resposta Recebida" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "Você recebeu uma resposta de uma mensagem" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Mensagem excluída" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "Você excluiu uma mensagem" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Mensagem Recuperada" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "Você recuperou uma mensagem" + +#: models.py:51 templates/messages/inbox.html:8 +#: templates/messages/trash.html:8 templates/messages/view.html:8 +msgid "Sender" +msgstr "Remetente" + +#: models.py:53 +msgid "Parent message" +msgstr "Mensagem pai" + +#: models.py:54 +msgid "sent at" +msgstr "enviado à" + +#: models.py:55 +msgid "read at" +msgstr "lido à" + +#: models.py:56 +msgid "replied at" +msgstr "respondido à" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Remetente excluiu à" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Destinatário excluiu à" + +#: models.py:89 +msgid "Messages" +msgstr "Mensagens" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Nova Mensagem: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Mensagem enviada com sucesso." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s escreveu:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Mensagem excluida com sucesso." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Mensagem recuperada com sucesso." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Caixa de Entrada" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Mensagens Enviadas" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Nova Mensagem" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Lixeira" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Escrever Mensagem" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Enviar" + +#: templates/messages/inbox.html:8 +msgid "Received" +msgstr "Recebida" + +#: templates/messages/inbox.html:8 templates/messages/outbox.html:8 +#: templates/messages/trash.html:8 +msgid "Action" +msgstr "Ação" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +#: templates/messages/trash.html:17 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "DATETIME_FORMAT" + +#: templates/messages/inbox.html:21 templates/messages/outbox.html:18 +msgid "delete" +msgstr "excluir" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "" + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Ola %(recipient)s,\n" +"\n" +"Você recebeu uma mensagem privada de %(sender)s com\n" +"o seguinte conteúdo:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Enviado de %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Responder" + +#: templates/messages/outbox.html:8 +msgid "Sent" +msgstr "Enviada" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Mensagens Excluidas" + +#: templates/messages/trash.html:8 templates/messages/view.html:10 +msgid "Date" +msgstr "Data" + +#: templates/messages/trash.html:18 +msgid "undelete" +msgstr "recuperar" + +#: templates/messages/trash.html:27 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Mensagens excluidas são removidas da lixeira em intervalos de tempo não " +"regulares,não use a lixeira para armazenar mensagens por muito tempo." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Ver Mensagem" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Excluir" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Você excluiu a mensagem %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Você recebeu a mensagem %(message)s de %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Você recuperou a mensagem %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Você respondeu a mensagem %(message_parent_msg)" +"s de %(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s lhe enviou uma resposta a %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Você enviou a mensagem %(message)s para %" +"(message_recipient)s." diff --git a/django_messages/locale/ru/LC_MESSAGES/django.mo b/django_messages/locale/ru/LC_MESSAGES/django.mo new file mode 100644 index 00000000..90aeca47 Binary files /dev/null and b/django_messages/locale/ru/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/ru/LC_MESSAGES/django.po b/django_messages/locale/ru/LC_MESSAGES/django.po new file mode 100644 index 00000000..34b76b65 --- /dev/null +++ b/django_messages/locale/ru/LC_MESSAGES/django.po @@ -0,0 +1,315 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Michail Sychev m.sychev@axion-rti.ru, 2009 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-09-11 12:31-0700\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: admin.py:13 forms.py:20 models.py:52 templates/messages/outbox.html:7 +#: templates/messages/view.html:12 +msgid "Recipient" +msgstr "Получатель" + +#: admin.py:15 +msgid "group" +msgstr "Группа" + +#: admin.py:16 +msgid "Creates the message optionally for all users or a group of users." +msgstr "Создать сообщения опционально для всех пользователей или группы" + +#: admin.py:23 +msgid "All users" +msgstr "Все пользователи" + +#: admin.py:38 models.py:88 +msgid "Message" +msgstr "Сообщение" + +#: admin.py:45 +msgid "Date/time" +msgstr "Дата/Время" + +#: fields.py:53 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "Некорректные имена пользователей: %(users)s" + +#: forms.py:21 models.py:49 templates/messages/inbox.html:7 +#: templates/messages/outbox.html:7 templates/messages/trash.html:7 +#: templates/messages/view.html:6 +msgid "Subject" +msgstr "Тема" + +#: forms.py:22 models.py:50 +msgid "Body" +msgstr "Сообщение" + +#: management.py:9 +msgid "Message Received" +msgstr "Сообщение получено" + +#: management.py:9 +msgid "you have received a message" +msgstr "вы получили сообщение" + +#: management.py:10 +msgid "Message Sent" +msgstr "Сообщение отправлено" + +#: management.py:10 +msgid "you have sent a message" +msgstr "Вы отправили сообщение" + +#: management.py:11 +msgid "Message Replied" +msgstr "Сообщение отвечено" + +#: management.py:11 +msgid "you have replied to a message" +msgstr "вы ответили на сообщение" + +#: management.py:12 +msgid "Reply Received" +msgstr "Ответ получен" + +#: management.py:12 +msgid "you have received a reply to a message" +msgstr "вы получили ответ на сообщение" + +#: management.py:13 +msgid "Message Deleted" +msgstr "Сообщение удалено" + +#: management.py:13 +msgid "you have deleted a message" +msgstr "вы удалили сообщение" + +#: management.py:14 +msgid "Message Recovered" +msgstr "Сообщение восстановлено" + +#: management.py:14 +msgid "you have undeleted a message" +msgstr "вы восстановили сообщение" + +#: models.py:51 templates/messages/inbox.html:7 +#: templates/messages/trash.html:7 templates/messages/view.html:8 +msgid "Sender" +msgstr "Отправитель" + +#: models.py:53 +msgid "Parent message" +msgstr "Родительское сообщение" + +#: models.py:54 +msgid "sent at" +msgstr "отправлено" + +#: models.py:55 +msgid "read at" +msgstr "прочитано" + +#: models.py:56 +msgid "replied at" +msgstr "отвечено" + +#: models.py:57 +msgid "Sender deleted at" +msgstr "Отправитель удалил" + +#: models.py:58 +msgid "Recipient deleted at" +msgstr "Получатель удалил" + +#: models.py:89 +msgid "Messages" +msgstr "Сообщения" + +#: utils.py:27 +#, python-format +msgid "New Message: %(subject)s" +msgstr "Новое сообщение: %(subject)s" + +#: views.py:78 views.py:112 +msgid "Message successfully sent." +msgstr "Сообщение успешно отправлено." + +#: views.py:118 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s написал:\n" +"%(body)s" + +#: views.py:122 +#, python-format +msgid "Re: %(subject)s" +msgstr "Re: %(subject)s" + +#: views.py:158 +msgid "Message successfully deleted." +msgstr "Сообщение успешно удалено." + +#: views.py:185 +msgid "Message successfully recovered." +msgstr "Сообщение успешно восстановлено." + +#: templates/messages/base.html:8 templates/messages/inbox.html:4 +#: templates/messages/new_message.html:10 +msgid "Inbox" +msgstr "Входящие" + +#: templates/messages/base.html:9 templates/messages/outbox.html:4 +msgid "Sent Messages" +msgstr "Исходящие" + +#: templates/messages/base.html:10 +msgid "New Message" +msgstr "Новое сообщение" + +#: templates/messages/base.html:11 +msgid "Trash" +msgstr "Удалённые" + +#: templates/messages/compose.html:4 +msgid "Compose Message" +msgstr "Новое сообщение" + +#: templates/messages/compose.html:9 +msgid "Send" +msgstr "Отправить" + +#: templates/messages/inbox.html:7 +msgid "Received" +msgstr "Получено" + +#: templates/messages/inbox.html:7 templates/messages/outbox.html:7 +#: templates/messages/trash.html:7 +msgid "Action" +msgstr "Действия" + +#: templates/messages/inbox.html:19 templates/messages/outbox.html:16 +#: templates/messages/trash.html:16 templates/messages/view.html:11 +msgid "DATETIME_FORMAT" +msgstr "j. N Y, H:i" + +#: templates/messages/inbox.html:20 templates/messages/outbox.html:17 +msgid "delete" +msgstr "удалить" + +#: templates/messages/inbox.html:27 templates/messages/outbox.html:24 +#: templates/messages/trash.html:24 +msgid "No messages." +msgstr "Сообщений нет." + +#: templates/messages/new_message.html:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"Hallo %(recipient)s,\n" +"\n" +"Вы получили сообщение от %(sender)s\n" +"со следующим содержанием:" + +#: templates/messages/new_message.html:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "Отправлено %(site_url)s" + +#: templates/messages/new_message.html:11 templates/messages/view.html:18 +msgid "Reply" +msgstr "Ответить" + +#: templates/messages/outbox.html:7 +msgid "Sent" +msgstr "Отправлено" + +#: templates/messages/trash.html:4 +msgid "Deleted Messages" +msgstr "Удалённые сообщения" + +#: templates/messages/trash.html:7 templates/messages/view.html:10 +msgid "Date" +msgstr "Дата" + +#: templates/messages/trash.html:17 +msgid "undelete" +msgstr "восстановить" + +#: templates/messages/trash.html:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"Удалённые сообщения очищаются из корзины через произвольные интервалы,не " +"используйте эту возможность как долгосрочное хранилище." + +#: templates/messages/view.html:4 +msgid "View Message" +msgstr "Просмотр сообщений" + +#: templates/messages/view.html:20 +msgid "Delete" +msgstr "Удалить" + +#: templates/notification/messages_deleted/notice.html:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "Вы удалили сообщение %(message)s." + +#: templates/notification/messages_received/notice.html:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"Вы получили сообщение %(message)s от %" +"(message_sender)s." + +#: templates/notification/messages_recovered/notice.html:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "Вы восстановили сообщение %(message)s." + +#: templates/notification/messages_replied/notice.html:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"Вы ответили на %(message_parent_msg)s от %" +"(message_recipient)s." + +#: templates/notification/messages_reply_received/notice.html:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "%(message_sender)s ответил на %(message_parent_msg)s." + +#: templates/notification/messages_sent/notice.html:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"Вы отправили сообщение %(message)s " +"получателям %(message_recipient)s." diff --git a/django_messages/locale/zh_CN/LC_MESSAGES/django.mo b/django_messages/locale/zh_CN/LC_MESSAGES/django.mo new file mode 100644 index 00000000..455e489d Binary files /dev/null and b/django_messages/locale/zh_CN/LC_MESSAGES/django.mo differ diff --git a/django_messages/locale/zh_CN/LC_MESSAGES/django.po b/django_messages/locale/zh_CN/LC_MESSAGES/django.po new file mode 100644 index 00000000..6d917388 --- /dev/null +++ b/django_messages/locale/zh_CN/LC_MESSAGES/django.po @@ -0,0 +1,299 @@ +# django-messages in Simplify Chinese. +# django-messages 简体中文. +# Copyright (C) 2008 +# This file is distributed under the same license as the django-messages package. +# Gene Wu , 2008. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-10-04 12:00-0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: GENE WU \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: fields.py:39 +#, python-format +msgid "The following usernames are incorrect: %(users)s" +msgstr "以下用户名不正确: %(users)s" + +#: forms.py:23 models.py:53 templates\messages\outbox.html.py:7 +#: templates\messages\view.html.py:12 +msgid "Recipient" +msgstr "收信人" + +#: forms.py:24 models.py:50 templates\messages\inbox.html.py:7 +#: templates\messages\outbox.html.py:7 templates\messages\trash.html.py:7 +#: templates\messages\view.html.py:6 +msgid "Subject" +msgstr "主题" + +#: forms.py:25 models.py:51 +msgid "Body" +msgstr "消息主体" + +#: management.py:10 +msgid "Message Received" +msgstr "收到的消息" + +#: management.py:10 +msgid "you have received a message" +msgstr "你受到了一条消息" + +#: management.py:11 +msgid "Message Sent" +msgstr "消息已发出" + +#: management.py:11 +msgid "you have sent a message" +msgstr "你已发出了一条消息" + +#: management.py:12 +msgid "Message Replied" +msgstr "消息已回复" + +#: management.py:12 +msgid "you have replied to a message" +msgstr "你已回复了一条消息" + +#: management.py:13 +msgid "Reply Received" +msgstr "回复已收到" + +#: management.py:13 +msgid "you have received a reply to a message" +msgstr "你已收到了消息的一条回复" + +#: management.py:14 +msgid "Message Deleted" +msgstr "消息已删除" + +#: management.py:14 +msgid "you have deleted a message" +msgstr "你已删除了一条消息" + +#: management.py:15 +msgid "Message Recovered" +msgstr "消息已恢复" + +#: management.py:15 +msgid "you have undelete a message" +msgstr "你已恢复了一条消息" + +#: models.py:52 templates\messages\inbox.html.py:7 +#: templates\messages\trash.html.py:7 templates\messages\view.html.py:8 +msgid "Sender" +msgstr "发信人" + +#: models.py:54 +msgid "Parent message" +msgstr "原消息" + +#: models.py:55 +msgid "sent at" +msgstr "发送于" + +#: models.py:56 +msgid "read at" +msgstr "阅读于" + +#: models.py:57 +msgid "replied at" +msgstr "回复于" + +#: models.py:58 +msgid "Sender deleted at" +msgstr "发信人删除于" + +#: models.py:59 +msgid "Recipient deleted at" +msgstr "收件人删除于" + +#: models.py:89 +msgid "Message" +msgstr "消息" + +#: models.py:90 +msgid "Messages" +msgstr "消息" + +#: utils.py:29 +#, python-format +msgid "New Message: %(subject)s" +msgstr "新消息: %(subject)s" + +#: views.py:80 views.py:108 +msgid "Message successfully sent." +msgstr "消息已成功发送。" + +#: views.py:114 +#, python-format +msgid "" +"%(sender)s wrote:\n" +"%(body)s" +msgstr "" +"%(sender)s 写道:\n" +"%(body)s" + +#: views.py:118 +#, python-format +msgid "Re: %(subject)s" +msgstr "回复: %(subject)s" + +#: views.py:154 +msgid "Message successfully deleted." +msgstr "消息已成功删除。" + +#: views.py:181 +msgid "Message successfully recovered." +msgstr "消息已成功恢复。" + +#: templates\messages\base.html.py:8 templates\messages\inbox.html.py:4 +#: templates\messages\new_message.html.py:10 +msgid "Inbox" +msgstr "收件箱" + +#: templates\messages\base.html.py:9 templates\messages\outbox.html.py:4 +msgid "Sent Messages" +msgstr "发送的消息" + +#: templates\messages\base.html.py:10 +msgid "New Message" +msgstr "新消息" + +#: templates\messages\base.html.py:11 +msgid "Trash" +msgstr "回收站" + +#: templates\messages\compose.html.py:4 +msgid "Compose Message" +msgstr "撰写消息" + +#: templates\messages\compose.html.py:9 +msgid "Send" +msgstr "发送" + +#: templates\messages\inbox.html.py:7 +msgid "Received" +msgstr "受到于" + +#: templates\messages\inbox.html.py:7 templates\messages\outbox.html.py:7 +#: templates\messages\trash.html.py:7 +msgid "Action" +msgstr "动作" + +#: templates\messages\inbox.html.py:19 +#: templates\messages\outbox.html.py:16 +#: templates\messages\trash.html.py:16 templates\messages\view.html.py:11 +msgid "DATETIME_FORMAT" +msgstr "" + +#: templates\messages\inbox.html.py:20 +#: templates\messages\outbox.html.py:17 +msgid "delete" +msgstr "删除" + +#: templates\messages\new_message.html.py:1 +#, python-format +msgid "" +"Hello %(recipient)s,\n" +"\n" +"you received a private message from %(sender)s with\n" +"the following contents:" +msgstr "" +"%(recipient)s:\n" +"\n" +"你受到一条从%(sender)s发出的私人信息有\n" +"以下内容:" + +#: templates\messages\new_message.html.py:9 +#, python-format +msgid "Sent from %(site_url)s" +msgstr "消息已从%(site_url)s发出" + +#: templates\messages\new_message.html.py:11 +#: templates\messages\view.html.py:18 +msgid "Reply" +msgstr "回复" + +#: templates\messages\outbox.html.py:7 +msgid "Sent" +msgstr "已发出" + +#: templates\messages\trash.html.py:4 +msgid "Deleted Messages" +msgstr "删除的消息" + +#: templates\messages\trash.html.py:7 templates\messages\view.html.py:10 +msgid "Date" +msgstr "日期" + +#: templates\messages\trash.html.py:17 +msgid "undelete" +msgstr "恢复" + +#: templates\messages\trash.html.py:23 +msgid "" +"Deleted Messages are removed from the trash at unregular intervals, don't " +"rely on this feature for long-time storage." +msgstr "" +"删除的消息将定期删除,不要依赖此功能作为长期存储。" +"" + +#: templates\messages\view.html.py:4 +msgid "View Message" +msgstr "浏览消息" + +#: templates\messages\view.html.py:20 +msgid "Delete" +msgstr "删除" + +#: templates\notification\messages_deleted\notice.html.py:1 +#, python-format +msgid "" +"You have deleted the message %(message)s." +msgstr "你已删除了消息%(message)s." + +#: templates\notification\messages_received\notice.html.py:2 +#, python-format +msgid "" +"You have received the message %(message)s " +"from %(message_sender)s." +msgstr "" +"你已收到%(message_sender)s的消息%(message)s。" +"" + +#: templates\notification\messages_recovered\notice.html.py:1 +#, python-format +msgid "" +"You have recovered the message %(message)s." +msgstr "你已恢复了消息%(message)s." + +#: templates\notification\messages_replied\notice.html.py:2 +#, python-format +msgid "" +"You have replied to %(message_parent_msg)s " +"from %(message_recipient)s." +msgstr "" +"你已回复了%(message_recipient)s.发出的消息%(message_parent_msg)s" +"" + +#: templates\notification\messages_reply_received\notice.html.py:2 +#, python-format +msgid "%(message_sender)s has sent you a reply to %(message_parent_msg)s." +msgstr "" +"%(message_sender)s已回复你发出的消息:%(message_parent_msg)s." + +#: templates\notification\messages_sent\notice.html.py:2 +#, python-format +msgid "" +"You have sent the message %(message)s to %" +"(message_recipient)s." +msgstr "" +"你已发送消息%(message)s到%" +"(message_recipient)s." diff --git a/django_messages/management.py b/django_messages/management.py new file mode 100644 index 00000000..9d23dd1b --- /dev/null +++ b/django_messages/management.py @@ -0,0 +1,18 @@ +from django.db.models import get_models, signals +from django.conf import settings +from django.utils.translation import ugettext_noop as _ + +if "notification" in settings.INSTALLED_APPS: + from notification import models as notification + + def create_notice_types(app, created_models, verbosity, **kwargs): + notification.create_notice_type("messages_received", _("Message Received"), _("you have received a message"), default=2) + notification.create_notice_type("messages_sent", _("Message Sent"), _("you have sent a message"), default=1) + notification.create_notice_type("messages_replied", _("Message Replied"), _("you have replied to a message"), default=1) + notification.create_notice_type("messages_reply_received", _("Reply Received"), _("you have received a reply to a message"), default=2) + notification.create_notice_type("messages_deleted", _("Message Deleted"), _("you have deleted a message"), default=1) + notification.create_notice_type("messages_recovered", _("Message Recovered"), _("you have undeleted a message"), default=1) + + signals.post_syncdb.connect(create_notice_types, sender=notification) +else: + print "Skipping creation of NoticeTypes as notification app not found" diff --git a/django_messages/models.py b/django_messages/models.py new file mode 100644 index 00000000..01eb8a56 --- /dev/null +++ b/django_messages/models.py @@ -0,0 +1,109 @@ +from django.db import models +from django.conf import settings +from django.db.models import signals +from django.utils.translation import ugettext_lazy as _ +from django.utils import timezone + +AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'auth.User') +from accounts.models import User + +class MessageManager(models.Manager): + + def senders(self, user): + users_ids = self.order_by('sender').filter(recipient=user).values_list('sender').distinct()[:10] + users_ids = [item[0] for item in users_ids] + return User.objects.filter(id__in=users_ids) + + def inbox_for(self, user): + """ + Returns all messages that were received by the given user and are not + marked as deleted. + """ + return self.filter( + recipient=user, + recipient_deleted_at__isnull=True, + ) + + def outbox_for(self, user): + """ + Returns all messages that were sent by the given user and are not + marked as deleted. + """ + return self.filter( + sender=user, + sender_deleted_at__isnull=True, + ) + + def trash_for(self, user): + """ + Returns all messages that were either received or sent by the given + user and are marked as deleted. + """ + return self.filter( + recipient=user, + recipient_deleted_at__isnull=False, + ) | self.filter( + sender=user, + sender_deleted_at__isnull=False, + ) + + +class Message(models.Model): + """ + A private message from user to user + """ + subject = models.CharField(_("Subject"), max_length=120) + body = models.TextField(_("Body")) + sender = models.ForeignKey(AUTH_USER_MODEL, related_name='sent_messages', verbose_name=_("Sender")) + recipient = models.ForeignKey(AUTH_USER_MODEL, related_name='received_messages', null=True, blank=True, verbose_name=_("Recipient")) + parent_msg = models.ForeignKey('self', related_name='next_messages', null=True, blank=True, verbose_name=_("Parent message")) + sent_at = models.DateTimeField(_("sent at"), null=True, blank=True) + read_at = models.DateTimeField(_("read at"), null=True, blank=True) + replied_at = models.DateTimeField(_("replied at"), null=True, blank=True) + sender_deleted_at = models.DateTimeField(_("Sender deleted at"), null=True, blank=True) + recipient_deleted_at = models.DateTimeField(_("Recipient deleted at"), null=True, blank=True) + + objects = MessageManager() + + def new(self): + """returns whether the recipient has read the message or not""" + if self.read_at is not None: + return False + return True + + def replied(self): + """returns whether the recipient has written a reply to this message""" + if self.replied_at is not None: + return True + return False + + def __unicode__(self): + return self.subject + + def get_absolute_url(self): + return ('messages_detail', [self.id]) + get_absolute_url = models.permalink(get_absolute_url) + + def save(self, **kwargs): + if not self.id: + self.sent_at = timezone.now() + super(Message, self).save(**kwargs) + + class Meta: + ordering = ['-sent_at'] + verbose_name = _("Message") + verbose_name_plural = _("Messages") + +def inbox_count_for(user): + """ + returns the number of unread messages for the given user but does not + mark them seen + """ + return Message.objects.filter(recipient=user, read_at__isnull=True, recipient_deleted_at__isnull=True).count() + +# fallback for email notification if django-notification could not be found +""" +if "notification" not in settings.INSTALLED_APPS: + from django_messages.utils import new_message_email + signals.post_save.connect(new_message_email, sender=Message) +""" \ No newline at end of file diff --git a/django_messages/signals.py b/django_messages/signals.py new file mode 100644 index 00000000..e69de29b diff --git a/django_messages/templates/django_messages/base.html b/django_messages/templates/django_messages/base.html new file mode 100644 index 00000000..7d76c6a3 --- /dev/null +++ b/django_messages/templates/django_messages/base.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} +{% load i18n %} +{% load url from future %} +{% block bodyclass %}about{% endblock %} +{% block content %} +{% endblock %} +{% block sidebar %} + +{% endblock %} diff --git a/django_messages/templates/django_messages/compose.html b/django_messages/templates/django_messages/compose.html new file mode 100644 index 00000000..562cf33e --- /dev/null +++ b/django_messages/templates/django_messages/compose.html @@ -0,0 +1,13 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} +{% block content %} +

{% trans "Compose Message"%}

+
+{% csrf_token %} + +{{ form.as_table }} +
+ +
+ +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/inbox.html b/django_messages/templates/django_messages/inbox.html new file mode 100644 index 00000000..7c7925ff --- /dev/null +++ b/django_messages/templates/django_messages/inbox.html @@ -0,0 +1,31 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} +{% load url from future %} + +{% block content %} +

{% trans "Inbox" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Sender" %}{% trans "Subject" %}{% trans "Received" %}{% trans "Action" %}
{{ message.sender }} + {% if message.new %}{% endif %} + {% if message.replied %}{% endif %} + {{ message.subject }} + {% if message.replied %}{% endif %} + {% if message.new %}{% endif %}{{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "delete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/new_message.html b/django_messages/templates/django_messages/new_message.html new file mode 100644 index 00000000..8dd0bdee --- /dev/null +++ b/django_messages/templates/django_messages/new_message.html @@ -0,0 +1,14 @@ +{% load i18n %} +{% load url from future %} + +{% blocktrans with recipient=message.recipient sender=message.sender %}Hello {{ recipient }}, + +you received a private message from {{ sender }} with +the following contents:{% endblocktrans %} + +{{ message.body|safe }} + +-- +{% blocktrans %}Sent from {{ site_url }}{% endblocktrans %} +{% trans "Inbox" %}: {{ site_url }}{% url 'messages_inbox' %} +{% trans "Reply" %}: {{ site_url }}{% url 'messages_reply' message.pk %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/outbox.html b/django_messages/templates/django_messages/outbox.html new file mode 100644 index 00000000..f78d42d6 --- /dev/null +++ b/django_messages/templates/django_messages/outbox.html @@ -0,0 +1,28 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} +{% load url from future %} + +{% block content %} +

{% trans "Sent Messages" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Recipient" %}{% trans "Subject" %}{% trans "Sent" %}{% trans "Action" %}
{{ message.recipient }} + {{ message.subject }} + {{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "delete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/trash.html b/django_messages/templates/django_messages/trash.html new file mode 100644 index 00000000..02fb11ed --- /dev/null +++ b/django_messages/templates/django_messages/trash.html @@ -0,0 +1,30 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} +{% load url from future %} + +{% block content %} +

{% trans "Deleted Messages" %}

+{% if message_list %} + + + + + +{% for message in message_list %} + + + + + + +{% endfor %} + +
{% trans "Sender" %}{% trans "Subject" %}{% trans "Date" %}{% trans "Action" %}
{{ message.sender }} + {{ message.subject }} + {{ message.sent_at|date:_("DATETIME_FORMAT") }}{% trans "undelete" %}
+{% else %} +

{% trans "No messages." %}

+{% endif %} +
+

{% trans "Deleted Messages are removed from the trash at unregular intervals, don't rely on this feature for long-time storage." %}

+{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/django_messages/view.html b/django_messages/templates/django_messages/view.html new file mode 100644 index 00000000..2eb079f5 --- /dev/null +++ b/django_messages/templates/django_messages/view.html @@ -0,0 +1,23 @@ +{% extends "django_messages/base.html" %} +{% load i18n %} +{% load url from future %} + +{% block content %} +

{% trans "View Message" %}

+
+
{% trans "Subject" %}
+
{{ message.subject }}
+
{% trans "Sender" %}
+
{{ message.sender }}
+
{% trans "Date" %}
+
{{ message.sent_at|date:_("DATETIME_FORMAT")}}
+
{% trans "Recipient" %}
+
{{ message.recipient }}
+
+{{ message.body|linebreaksbr }}

+ +{% ifequal message.recipient.pk user.pk %} +{% trans "Reply" %} +{% endifequal %} +{% trans "Delete" %} +{% endblock %} \ No newline at end of file diff --git a/django_messages/templates/notification/messages_deleted/full.txt b/django_messages/templates/notification/messages_deleted/full.txt new file mode 100644 index 00000000..7bff05e2 --- /dev/null +++ b/django_messages/templates/notification/messages_deleted/full.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans %}You have deleted the message '{{ message }}'.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_deleted/notice.html b/django_messages/templates/notification/messages_deleted/notice.html new file mode 100644 index 00000000..c4c074d2 --- /dev/null +++ b/django_messages/templates/notification/messages_deleted/notice.html @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have deleted the message {{ message }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_received/full.txt b/django_messages/templates/notification/messages_received/full.txt new file mode 100644 index 00000000..dd138bf5 --- /dev/null +++ b/django_messages/templates/notification/messages_received/full.txt @@ -0,0 +1,7 @@ +{% load i18n %}{% blocktrans with message.sender as message_sender and message.body|safe as message_body and message.get_absolute_url as message_url %}{{ message_sender }} has sent you a message: + +{{ message }} + +{{ message_body }} + +http://{{ current_site }}{{ message_url }}{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_received/notice.html b/django_messages/templates/notification/messages_received/notice.html new file mode 100644 index 00000000..f8323d75 --- /dev/null +++ b/django_messages/templates/notification/messages_received/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.sender as message_sender %}You have received the message {{ message }} from {{ message_sender }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_received/short.txt b/django_messages/templates/notification/messages_received/short.txt new file mode 100644 index 00000000..b7972d20 --- /dev/null +++ b/django_messages/templates/notification/messages_received/short.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.sender as message_sender %}{{ notice }} by {{ message_sender }}{% endblocktrans %} \ No newline at end of file diff --git a/django_messages/templates/notification/messages_recovered/full.txt b/django_messages/templates/notification/messages_recovered/full.txt new file mode 100644 index 00000000..8a022a07 --- /dev/null +++ b/django_messages/templates/notification/messages_recovered/full.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans %}You have recovered the message '{{ message }}'.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_recovered/notice.html b/django_messages/templates/notification/messages_recovered/notice.html new file mode 100644 index 00000000..421a7123 --- /dev/null +++ b/django_messages/templates/notification/messages_recovered/notice.html @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.get_absolute_url as message_url %}You have recovered the message {{ message }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_replied/full.txt b/django_messages/templates/notification/messages_replied/full.txt new file mode 100644 index 00000000..d5c95e95 --- /dev/null +++ b/django_messages/templates/notification/messages_replied/full.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.parent_msg as message_parent_msg and message.recipient as message_recipient %}You have replied to '{{ message_parent_msg }}' from {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_replied/notice.html b/django_messages/templates/notification/messages_replied/notice.html new file mode 100644 index 00000000..386f125e --- /dev/null +++ b/django_messages/templates/notification/messages_replied/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.parent_msg.get_absolute_url as message_url and message.parent_msg as message_parent_msg and message.recipient as message_recipient %}You have replied to {{ message_parent_msg }} from {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_reply_received/full.txt b/django_messages/templates/notification/messages_reply_received/full.txt new file mode 100644 index 00000000..6ecea61d --- /dev/null +++ b/django_messages/templates/notification/messages_reply_received/full.txt @@ -0,0 +1,7 @@ +{% load i18n %}{% blocktrans with message.sender as message_sender and message.parent_msg as message_parent_msg and message.body|safe as message_body and message.get_absolute_url as message_url %}{{ message_sender }} replied to '{{ message_parent_msg }}': + +{{ message }} + +{{ message_body }} + +http://{{ current_site }}{{ message_url }}{% endblocktrans %} \ No newline at end of file diff --git a/django_messages/templates/notification/messages_reply_received/notice.html b/django_messages/templates/notification/messages_reply_received/notice.html new file mode 100644 index 00000000..b1c62b67 --- /dev/null +++ b/django_messages/templates/notification/messages_reply_received/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.sender as message_sender and message.parent_msg as message_parent_msg %}{{ message_sender }} has sent you a reply to {{ message_parent_msg }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_reply_received/short.txt b/django_messages/templates/notification/messages_reply_received/short.txt new file mode 100644 index 00000000..b7972d20 --- /dev/null +++ b/django_messages/templates/notification/messages_reply_received/short.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.sender as message_sender %}{{ notice }} by {{ message_sender }}{% endblocktrans %} \ No newline at end of file diff --git a/django_messages/templates/notification/messages_sent/full.txt b/django_messages/templates/notification/messages_sent/full.txt new file mode 100644 index 00000000..327319d6 --- /dev/null +++ b/django_messages/templates/notification/messages_sent/full.txt @@ -0,0 +1 @@ +{% load i18n %}{% blocktrans with message.recipient as message_recipient %}You have sent the message '{{ message }}' to {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templates/notification/messages_sent/notice.html b/django_messages/templates/notification/messages_sent/notice.html new file mode 100644 index 00000000..d30ba146 --- /dev/null +++ b/django_messages/templates/notification/messages_sent/notice.html @@ -0,0 +1,2 @@ +{% load i18n %} +{% blocktrans with message.get_absolute_url as message_url and message.recipient as message_recipient %}You have sent the message {{ message }} to {{ message_recipient }}.{% endblocktrans %} diff --git a/django_messages/templatetags/__init__.py b/django_messages/templatetags/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/django_messages/templatetags/inbox.py b/django_messages/templatetags/inbox.py new file mode 100644 index 00000000..50d9cea4 --- /dev/null +++ b/django_messages/templatetags/inbox.py @@ -0,0 +1,45 @@ +from django.template import Library, Node, TemplateSyntaxError + +class InboxOutput(Node): + def __init__(self, varname=None): + self.varname = varname + + def render(self, context): + try: + user = context['user'] + count = user.received_messages.filter(read_at__isnull=True, recipient_deleted_at__isnull=True).count() + except (KeyError, AttributeError): + count = '' + if self.varname is not None: + context[self.varname] = count + return "" + else: + return "%s" % (count) + +def do_print_inbox_count(parser, token): + """ + A templatetag to show the unread-count for a logged in user. + Returns the number of unread messages in the user's inbox. + Usage:: + + {% load inbox %} + {% inbox_count %} + + {# or assign the value to a variable: #} + + {% inbox_count as my_var %} + {{ my_var }} + + """ + bits = token.contents.split() + if len(bits) > 1: + if len(bits) != 3: + raise TemplateSyntaxError, "inbox_count tag takes either no arguments or exactly two arguments" + if bits[1] != 'as': + raise TemplateSyntaxError, "first argument to inbox_count tag must be 'as'" + return InboxOutput(bits[2]) + else: + return InboxOutput() + +register = Library() +register.tag('inbox_count', do_print_inbox_count) diff --git a/django_messages/tests.py b/django_messages/tests.py new file mode 100644 index 00000000..b8f4560c --- /dev/null +++ b/django_messages/tests.py @@ -0,0 +1,145 @@ +from django.test import TestCase +from django.test.client import Client +from django.contrib.auth.models import User +from django.core.urlresolvers import reverse +from django.utils import timezone +from django_messages.models import Message +from django_messages.utils import format_subject, format_quote + + +class SendTestCase(TestCase): + def setUp(self): + self.user1 = User.objects.create_user('user1', 'user1@example.com', '123456') + self.user2 = User.objects.create_user('user2', 'user2@example.com', '123456') + self.msg1 = Message(sender=self.user1, recipient=self.user2, subject='Subject Text', body='Body Text') + self.msg1.save() + + def testBasic(self): + self.assertEquals(self.msg1.sender, self.user1) + self.assertEquals(self.msg1.recipient, self.user2) + self.assertEquals(self.msg1.subject, 'Subject Text') + self.assertEquals(self.msg1.body, 'Body Text') + self.assertEquals(self.user1.sent_messages.count(), 1) + self.assertEquals(self.user1.received_messages.count(), 0) + self.assertEquals(self.user2.received_messages.count(), 1) + self.assertEquals(self.user2.sent_messages.count(), 0) + +class DeleteTestCase(TestCase): + def setUp(self): + self.user1 = User.objects.create_user('user3', 'user3@example.com', '123456') + self.user2 = User.objects.create_user('user4', 'user4@example.com', '123456') + self.msg1 = Message(sender=self.user1, recipient=self.user2, subject='Subject Text 1', body='Body Text 1') + self.msg2 = Message(sender=self.user1, recipient=self.user2, subject='Subject Text 2', body='Body Text 2') + self.msg1.sender_deleted_at = timezone.now() + self.msg2.recipient_deleted_at = timezone.now() + self.msg1.save() + self.msg2.save() + + def testBasic(self): + self.assertEquals(Message.objects.outbox_for(self.user1).count(), 1) + self.assertEquals(Message.objects.outbox_for(self.user1)[0].subject, 'Subject Text 2') + self.assertEquals(Message.objects.inbox_for(self.user2).count(),1) + self.assertEquals(Message.objects.inbox_for(self.user2)[0].subject, 'Subject Text 1') + #undelete + self.msg1.sender_deleted_at = None + self.msg2.recipient_deleted_at = None + self.msg1.save() + self.msg2.save() + self.assertEquals(Message.objects.outbox_for(self.user1).count(), 2) + self.assertEquals(Message.objects.inbox_for(self.user2).count(),2) + + +class IntegrationTestCase(TestCase): + """ + Test the app from a user perpective using Django's Test-Client. + + """ + + T_USER_DATA = [{'username': 'user_1', 'password': '123456', + 'email': 'user_1@example.com'}, + {'username': 'user_2', 'password': '123456', + 'email': 'user_2@example.com'},] + T_MESSAGE_DATA = [{'subject': 'Test Subject 1', + 'body': 'Lorem ipsum\ndolor sit amet\n\nconsectur.'}] + + def setUp(self): + """ create 2 users and a test-client logged in as user_1 """ + self.user_1 = User.objects.create_user(**self.T_USER_DATA[0]) + self.user_2 = User.objects.create_user(**self.T_USER_DATA[1]) + self.c = Client() + self.c.login(username=self.T_USER_DATA[0]['username'], + password=self.T_USER_DATA[0]['password']) + + def testInboxEmpty(self): + """ request the empty inbox """ + response = self.c.get(reverse('messages_inbox')) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/inbox.html') + self.assertEquals(len(response.context['message_list']), 0) + + def testOutboxEmpty(self): + """ request the empty outbox """ + response = self.c.get(reverse('messages_outbox')) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/outbox.html') + self.assertEquals(len(response.context['message_list']), 0) + + def testTrashEmpty(self): + """ request the empty trash """ + response = self.c.get(reverse('messages_trash')) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/trash.html') + self.assertEquals(len(response.context['message_list']), 0) + + def testCompose(self): + """ compose a message step by step """ + response = self.c.get(reverse('messages_compose')) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/compose.html') + response = self.c.post(reverse('messages_compose'), + {'recipient': self.T_USER_DATA[1]['username'], + 'subject': self.T_MESSAGE_DATA[0]['subject'], + 'body': self.T_MESSAGE_DATA[0]['body']}) + # successfull sending should redirect to inbox + self.assertEquals(response.status_code, 302) + self.assertEquals(response['Location'], "http://testserver%s"%reverse('messages_inbox')) + + # make sure the message exists in the outbox after sending + response = self.c.get(reverse('messages_outbox')) + self.assertEquals(len(response.context['message_list']), 1) + + def testReply(self): + """ test that user_2 can reply """ + # create a message for this test + Message.objects.create(sender=self.user_1, + recipient=self.user_2, + subject=self.T_MESSAGE_DATA[0]['subject'], + body=self.T_MESSAGE_DATA[0]['body']) + # log the user_2 in and check the inbox + self.c.login(username=self.T_USER_DATA[1]['username'], + password=self.T_USER_DATA[1]['password']) + response = self.c.get(reverse('messages_inbox')) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/inbox.html') + self.assertEquals(len(response.context['message_list']), 1) + pk = getattr(response.context['message_list'][0], 'pk') + # reply to the first message + response = self.c.get(reverse('messages_reply', + kwargs={'message_id':pk})) + self.assertEquals(response.status_code, 200) + self.assertEquals(response.templates[0].name, 'django_messages/compose.html') + self.assertEquals(response.context['form'].initial['body'], + format_quote(self.user_1, self.T_MESSAGE_DATA[0]['body'])) + self.assertEqual(response.context['form'].initial['subject'], + u"Re: %(subject)s"%{'subject': self.T_MESSAGE_DATA[0]['subject']}) + +class FormatTestCase(TestCase): + """ some tests for helper functions """ + def testSubject(self): + """ test that reply counting works as expected """ + self.assertEquals(format_subject(u"foo bar"), u"Re: foo bar") + self.assertEquals(format_subject(u"Re: foo bar"), u"Re[2]: foo bar") + self.assertEquals(format_subject(u"Re[2]: foo bar"), u"Re[3]: foo bar") + self.assertEquals(format_subject(u"Re[10]: foo bar"), u"Re[11]: foo bar") + + \ No newline at end of file diff --git a/django_messages/urls.py b/django_messages/urls.py new file mode 100644 index 00000000..1effc023 --- /dev/null +++ b/django_messages/urls.py @@ -0,0 +1,17 @@ +from django.conf.urls import patterns, url +from django.views.generic import RedirectView + +from django_messages.views import * + +urlpatterns = patterns('', + url(r'^$', RedirectView.as_view(url='inbox/'), name='messages_redirect'), + url(r'^inbox/$', inbox, name='messages_inbox'), + url(r'^outbox/$', outbox, name='messages_outbox'), + url(r'^compose/$', compose, name='messages_compose'), + url(r'^compose/(?P[\w.@+-]+)/$', compose, name='messages_compose_to'), + url(r'^reply/(?P[\d]+)/$', reply, name='messages_reply'), + url(r'^view/(?P[\d]+)/$', view, name='messages_detail'), + url(r'^delete/(?P[\d]+)/$', delete, name='messages_delete'), + url(r'^undelete/(?P[\d]+)/$', undelete, name='messages_undelete'), + url(r'^trash/$', trash, name='messages_trash'), +) diff --git a/django_messages/utils.py b/django_messages/utils.py new file mode 100644 index 00000000..319bf36e --- /dev/null +++ b/django_messages/utils.py @@ -0,0 +1,103 @@ +import re +import django +from django.utils.text import wrap +from django.utils.translation import ugettext, ugettext_lazy as _ +from django.contrib.sites.models import Site +from django.template.loader import render_to_string +from django.conf import settings + +# favour django-mailer but fall back to django.core.mail + +if "mailer" in settings.INSTALLED_APPS: + from mailer import send_mail +else: + from django.core.mail import send_mail + +def format_quote(sender, body): + """ + Wraps text at 55 chars and prepends each + line with `> `. + Used for quoting messages in replies. + """ + lines = wrap(body, 55).split('\n') + for i, line in enumerate(lines): + lines[i] = "> %s" % line + quote = '\n'.join(lines) + return ugettext(u"%(sender)s wrote:\n%(body)s") % { + 'sender': sender, + 'body': quote + } + +def format_subject(subject): + """ + Prepends 'Re:' to the subject. To avoid multiple 'Re:'s + a counter is added. + NOTE: Currently unused. First step to fix Issue #48. + FIXME: Any hints how to make this i18n aware are very welcome. + + """ + subject_prefix_re = r'^Re\[(\d*)\]:\ ' + m = re.match(subject_prefix_re, subject, re.U) + prefix = u"" + if subject.startswith('Re: '): + prefix = u"[2]" + subject = subject[4:] + elif m is not None: + try: + num = int(m.group(1)) + prefix = u"[%d]" % (num+1) + subject = subject[6+len(str(num)):] + except: + # if anything fails here, fall back to the old mechanism + pass + + return ugettext(u"Re%(prefix)s: %(subject)s") % { + 'subject': subject, + 'prefix': prefix + } + +def new_message_email(sender, instance, signal, + subject_prefix=_(u'New Message: %(subject)s'), + template_name="django_messages/new_message.html", + default_protocol=None, + *args, **kwargs): + """ + This function sends an email and is called via Django's signal framework. + Optional arguments: + ``template_name``: the template to use + ``subject_prefix``: prefix for the email subject. + ``default_protocol``: default protocol in site URL passed to template + """ + if default_protocol is None: + default_protocol = getattr(settings, 'DEFAULT_HTTP_PROTOCOL', 'http') + + if 'created' in kwargs and kwargs['created']: + try: + current_domain = Site.objects.get_current().domain + subject = subject_prefix % {'subject': instance.subject} + message = render_to_string(template_name, { + 'site_url': '%s://%s' % (default_protocol, current_domain), + 'message': instance, + }) + if instance.recipient.email != "": + send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, + [instance.recipient.email,]) + except Exception, e: + #print e + pass #fail silently + + +def get_user_model(): + if django.VERSION[:2] >= (1, 5): + from django.contrib.auth import get_user_model + return get_user_model() + else: + from django.contrib.auth.models import User + return User + + +def get_username_field(): + if django.VERSION[:2] >= (1, 5): + return get_user_model().USERNAME_FIELD + else: + return 'username' \ No newline at end of file diff --git a/django_messages/views.py b/django_messages/views.py new file mode 100644 index 00000000..695ece75 --- /dev/null +++ b/django_messages/views.py @@ -0,0 +1,211 @@ +from django.http import Http404, HttpResponseRedirect +from django.shortcuts import render_to_response, get_object_or_404 +from django.template import RequestContext +from django.contrib import messages +from django.contrib.auth.decorators import login_required +from django.utils.translation import ugettext as _ +from django.utils import timezone +from django.core.urlresolvers import reverse +from django.conf import settings + +from django_messages.models import Message +from django_messages.forms import ComposeForm +from django_messages.utils import format_quote, get_user_model, get_username_field + +User = get_user_model() + +if "notification" in settings.INSTALLED_APPS: + from notification import models as notification +else: + notification = None + +def inbox(request, template_name='django_messages/inbox.html'): + """ + Displays a list of received messages for the current user. + Optional Arguments: + ``template_name``: name of the template to use. + """ + message_list = Message.objects.inbox_for(request.user) + return render_to_response(template_name, { + 'message_list': message_list, + }, context_instance=RequestContext(request)) +inbox = login_required(inbox) + +def outbox(request, template_name='django_messages/outbox.html'): + """ + Displays a list of sent messages by the current user. + Optional arguments: + ``template_name``: name of the template to use. + """ + message_list = Message.objects.outbox_for(request.user) + return render_to_response(template_name, { + 'message_list': message_list, + }, context_instance=RequestContext(request)) +outbox = login_required(outbox) + +def trash(request, template_name='django_messages/trash.html'): + """ + Displays a list of deleted messages. + Optional arguments: + ``template_name``: name of the template to use + Hint: A Cron-Job could periodicly clean up old messages, which are deleted + by sender and recipient. + """ + message_list = Message.objects.trash_for(request.user) + return render_to_response(template_name, { + 'message_list': message_list, + }, context_instance=RequestContext(request)) +trash = login_required(trash) + +def compose(request, recipient=None, form_class=ComposeForm, + template_name='django_messages/compose.html', success_url=None, recipient_filter=None): + """ + Displays and handles the ``form_class`` form to compose new messages. + Required Arguments: None + Optional Arguments: + ``recipient``: username of a `django.contrib.auth` User, who should + receive the message, optionally multiple usernames + could be separated by a '+' + ``form_class``: the form-class to use + ``template_name``: the template to use + ``success_url``: where to redirect after successfull submission + """ + if request.method == "POST": + sender = request.user + form = form_class(request.POST, recipient_filter=recipient_filter) + if form.is_valid(): + form.save(sender=request.user) + messages.info(request, _(u"Message successfully sent.")) + if success_url is None: + success_url = reverse('messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + return HttpResponseRedirect(success_url) + else: + form = form_class() + if recipient is not None: + recipients = [u for u in User.objects.filter(**{'%s__in' % get_username_field(): [r.strip() for r in recipient.split('+')]})] + form.fields['recipient'].initial = recipients + return render_to_response(template_name, { + 'form': form, + }, context_instance=RequestContext(request)) +compose = login_required(compose) + +def reply(request, message_id, form_class=ComposeForm, + template_name='django_messages/compose.html', success_url=None, + recipient_filter=None, quote_helper=format_quote): + """ + Prepares the ``form_class`` form for writing a reply to a given message + (specified via ``message_id``). Uses the ``format_quote`` helper from + ``messages.utils`` to pre-format the quote. To change the quote format + assign a different ``quote_helper`` kwarg in your url-conf. + + """ + parent = get_object_or_404(Message, id=message_id) + + if parent.sender != request.user and parent.recipient != request.user: + raise Http404 + + if request.method == "POST": + sender = request.user + form = form_class(request.POST, recipient_filter=recipient_filter) + if form.is_valid(): + form.save(sender=request.user, parent_msg=parent) + messages.info(request, _(u"Message successfully sent.")) + if success_url is None: + success_url = reverse('messages_inbox') + return HttpResponseRedirect(success_url) + else: + form = form_class(initial={ + 'body': quote_helper(parent.sender, parent.body), + 'subject': _(u"Re: %(subject)s") % {'subject': parent.subject}, + 'recipient': [parent.sender,] + }) + return render_to_response(template_name, { + 'form': form, + }, context_instance=RequestContext(request)) +reply = login_required(reply) + +def delete(request, message_id, success_url=None): + """ + Marks a message as deleted by sender or recipient. The message is not + really removed from the database, because two users must delete a message + before it's save to remove it completely. + A cron-job should prune the database and remove old messages which are + deleted by both users. + As a side effect, this makes it easy to implement a trash with undelete. + + You can pass ?next=/foo/bar/ via the url to redirect the user to a different + page (e.g. `/foo/bar/`) than ``success_url`` after deletion of the message. + """ + user = request.user + now = timezone.now() + message = get_object_or_404(Message, id=message_id) + deleted = False + if success_url is None: + success_url = reverse('messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + if message.sender == user: + message.sender_deleted_at = now + deleted = True + if message.recipient == user: + message.recipient_deleted_at = now + deleted = True + if deleted: + message.save() + messages.info(request, _(u"Message successfully deleted.")) + if notification: + notification.send([user], "messages_deleted", {'message': message,}) + return HttpResponseRedirect(success_url) + raise Http404 +delete = login_required(delete) + +def undelete(request, message_id, success_url=None): + """ + Recovers a message from trash. This is achieved by removing the + ``(sender|recipient)_deleted_at`` from the model. + """ + user = request.user + message = get_object_or_404(Message, id=message_id) + undeleted = False + if success_url is None: + success_url = reverse('messages_inbox') + if 'next' in request.GET: + success_url = request.GET['next'] + if message.sender == user: + message.sender_deleted_at = None + undeleted = True + if message.recipient == user: + message.recipient_deleted_at = None + undeleted = True + if undeleted: + message.save() + messages.info(request, _(u"Message successfully recovered.")) + if notification: + notification.send([user], "messages_recovered", {'message': message,}) + return HttpResponseRedirect(success_url) + raise Http404 +undelete = login_required(undelete) + +def view(request, message_id, template_name='django_messages/view.html'): + """ + Shows a single message.``message_id`` argument is required. + The user is only allowed to see the message, if he is either + the sender or the recipient. If the user is not allowed a 404 + is raised. + If the user is the recipient and the message is unread + ``read_at`` is set to the current datetime. + """ + user = request.user + now = timezone.now() + message = get_object_or_404(Message, id=message_id) + if (message.sender != user) and (message.recipient != user): + raise Http404 + if message.read_at is None and message.recipient == user: + message.read_at = now + message.save() + return render_to_response(template_name, { + 'message': message, + }, context_instance=RequestContext(request)) +view = login_required(view) diff --git a/exposition/admin.py b/exposition/admin.py index a265b8a8..04cafb98 100644 --- a/exposition/admin.py +++ b/exposition/admin.py @@ -165,9 +165,11 @@ def exposition_change(request, url): 'data_begin':exposition.data_begin, 'data_end':exposition.data_end, 'periodic':exposition.periodic, 'min_area':exposition.min_area, 'currency':exposition.currency, 'tax':exposition.tax, 'price_day':exposition.price_day, 'price_all':exposition.price_all, 'price_catalog':exposition.price_catalog, + 'price_day_bar':exposition.price_day_bar, 'price_all_bar':exposition.price_all_bar, 'min_closed_area':exposition.min_closed_area, 'max_closed_area':exposition.max_closed_area, 'min_closed_equipped_area':exposition.min_closed_equipped_area, 'max_closed_equipped_area':exposition.max_closed_equipped_area, + 'min_stand_size':exposition.min_stand_size, 'application_deadline':exposition.application_deadline, 'min_open_area':exposition.min_open_area, 'max_open_area':exposition.max_open_area, 'registration_payment':exposition.registration_payment, 'exposition_id':exposition.id, 'expohit': exposition.expohit, 'discount': exposition.discount, @@ -203,8 +205,9 @@ def exposition_change(request, url): data['descriptions_%s' % code] = obj.descriptions # initial form form = ExpositionCreateForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = exposition.city.name # set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.filter(theme__in=data['theme'])] # get existing statistic statistic = Statistic.objects.filter(exposition=getattr(exposition, 'id')) diff --git a/exposition/forms.py b/exposition/forms.py index f2844eaf..1dada998 100644 --- a/exposition/forms.py +++ b/exposition/forms.py @@ -49,7 +49,7 @@ class ExpositionCreateForm(forms.Form): place = forms.ModelChoiceField(label=u'Место проведения', queryset=PlaceExposition.objects.all(), empty_label='', required=False) #creates select input with empty choices cause it will be filled with ajax - city = forms.ChoiceField(label=u'Город', choices=[('','')]) + city = forms.CharField(label=u'Город', widget=forms.HiddenInput()) tag = forms.MultipleChoiceField(label=u'Теги', required=False) periodic = forms.ChoiceField(label=u'Периодичность', choices=PERIODIC, required=False) @@ -65,8 +65,13 @@ class ExpositionCreateForm(forms.Form): widget=forms.CheckboxSelectMultiple()) # currency = forms.ChoiceField(label=u'Валюта', choices=currencies, required=False) + application_deadline = forms.DateField(label=u'Срок подачи стэнда', required=False) + min_stand_size = forms.CharField(label=u'Минимальный размер стэнда', required=False) + price_day = forms.CharField(label=u'Цена за 1 день', required=False) price_all = forms.CharField(label=u'Цена за все дни', required=False) + price_day_bar = forms.CharField(label=u'Цена на стойке 1 день', required=False) + price_all_bar = forms.CharField(label=u'Цена на стойке все дни', required=False) price_catalog = forms.CharField(label=u'Цена за каталог', required=False) tax = forms.BooleanField(label=u'Налог включен', initial=True, required=False) min_closed_area = forms.CharField(label=u'Минимальная цена закрытой НЕ оборудованной площади', required=False) @@ -85,7 +90,6 @@ class ExpositionCreateForm(forms.Form): # exposition_id = forms.CharField(required=False, widget=forms.HiddenInput()) - def __init__(self, *args, **kwargs): """ create dynamical translated fields fields @@ -149,10 +153,15 @@ class ExpositionCreateForm(forms.Form): exposition.members = data['members'] exposition.visitors = data['visitors'] exposition.min_area = data['min_area'] - # exposition.currency = data['currency'] + + exposition.application_deadline = data['application_deadline'] + exposition.min_stand_size = data['min_stand_size'] + exposition.price_day = data['price_day'] exposition.price_all = data['price_all'] + exposition.price_all_bar = data['price_all_bar'] + exposition.price_day_bar = data['price_day_bar'] exposition.price_catalog = data['price_catalog'] exposition.tax = data['tax'] exposition.min_closed_area = data['min_closed_area'] @@ -264,6 +273,30 @@ class ExpositionCreateForm(forms.Form): price_all = cleaned_data.get('price_all').strip() return is_positive_integer(price_all) + def clean_price_day_bar(self): + """ + checking price_day_bar + """ + cleaned_data = super(ExpositionCreateForm, self).clean() + price_day_bar = cleaned_data.get('price_day_bar').strip() + return is_positive_integer(price_day_bar) + + def clean_price_all_bar(self): + """ + checking price_all_bar + """ + cleaned_data = super(ExpositionCreateForm, self).clean() + price_all_bar = cleaned_data.get('price_all_bar').strip() + return is_positive_integer(price_all_bar) + + def clean_min_stand_size(self): + """ + checking min_stand_size + """ + cleaned_data = super(ExpositionCreateForm, self).clean() + min_stand_size = cleaned_data.get('min_stand_size').strip() + return is_positive_integer(min_stand_size) + def clean_price_catalog(self): """ checking price_catalog diff --git a/exposition/models.py b/exposition/models.py index 7022f6c5..b903c1d5 100644 --- a/exposition/models.py +++ b/exposition/models.py @@ -71,8 +71,15 @@ class Exposition(TranslatableModel, EventMixin): min_area = models.PositiveIntegerField(verbose_name='Минимальная площадь', blank=True, null=True) # currency = EnumField(values=CURRENCY, default='RUB') + + application_deadline = models.DateField(verbose_name='Срок подачи заявки', null=True) + min_stand_size = models.PositiveIntegerField(verbose_name='Минимальный размер стэнда', blank=True, null=True) + price_day = models.PositiveIntegerField(verbose_name='Стоимость билета 1 день', blank=True, null=True) price_all = models.PositiveIntegerField(verbose_name='Стоимость билета все дни', blank=True, null=True) + price_day_bar = models.PositiveIntegerField(verbose_name='Стоимость на стойке 1 день', blank=True, null=True) + price_all_bar = models.PositiveIntegerField(verbose_name='Стоимость на стойке все дни', blank=True, null=True) + price_catalog = models.PositiveIntegerField(verbose_name='Стоимость каталога', blank=True, null=True) tax = models.BooleanField(verbose_name='Налог', default=1) @@ -90,12 +97,11 @@ class Exposition(TranslatableModel, EventMixin): blank=True, null=True) registration_payment = models.PositiveIntegerField(verbose_name='Регистрационный взнос', blank=True, null=True) - discount = models.PositiveIntegerField(verbose_name='Скидка', blank=True, null=True) expohit = models.BooleanField(verbose_name='Expohit', default=0) - #administrator can cancel exposition + # administrator can cancel exposition canceled_by_administrator = models.BooleanField(default=0) #can publish not immediately is_published = models.BooleanField(default=0) @@ -123,8 +129,9 @@ class Exposition(TranslatableModel, EventMixin): # field saves information about creating and changing model created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) + main_page = models.PositiveIntegerField(default=0, db_index=True) - views = models.PositiveIntegerField(null=True, default=0) + views = models.PositiveIntegerField(default=0) def __unicode__(self): diff --git a/exposition/urls.py b/exposition/urls.py index b3f13518..89aa6599 100644 --- a/exposition/urls.py +++ b/exposition/urls.py @@ -1,10 +1,16 @@ # -*- coding: utf-8 -*- from django.conf.urls import patterns, include, url -from views import ExpositionView, ExpositionVisitors, ExpositionMembers +from views import ExpositionView, ExpositionVisitors, ExpositionMembers, ExpositionStatistic, ExpositionPrice,\ + ExpositionProgramme urlpatterns = patterns('', url(r'expositions/(?P.*)/(?P\d+)/$', ExpositionView.as_view()), url(r'expositions/(?P\d+)/$', ExpositionView.as_view()), + # + url(r'expositions/(?P.*)/statistic/$', ExpositionStatistic.as_view()), + url(r'expositions/(?P.*)/price/$', ExpositionPrice.as_view()), + url(r'expositions/(?P.*)/program/$', ExpositionProgramme.as_view()), + # url(r'expositions/(?P.*)/visitors/$', ExpositionVisitors.as_view()), url(r'expositions/(?P.*)/members/$', ExpositionMembers.as_view()), url(r'expositions/(?P.*)/$', ExpositionView.as_view()), diff --git a/exposition/views.py b/exposition/views.py index a7454b49..d17fb238 100644 --- a/exposition/views.py +++ b/exposition/views.py @@ -7,8 +7,8 @@ from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage #models from models import Exposition from accounts.models import User -from functions.custom_views import ExpoListView, ExpoMixin -from django.views.generic import ListView +from functions.custom_views import ExpoListView, ExpoMixin, EventDetail +from django.views.generic import ListView, DetailView # import json from django.utils.translation import ugettext as _ @@ -51,9 +51,50 @@ class ExpositionMembers(ExpoListView): self.params = params return exp.company.all() +class ExpositionStatistic(ExpoListView): + model = Exposition + template_name = 'exposition_statistic.html' + def get_queryset(self): + params = self.get_params() + for param in params: + if param.get('type') == 'event': + exp = Exposition.objects.filter(url=param.get('url')) + param['name'] = exp[0].name + #query = exp.users + self.single_page = True + params.append({'type':'statistic', 'name':_(u'Статистика')}) + self.params = params + return exp +class ExpositionProgramme(ExpoListView): + model = Exposition + template_name = 'exposition_programm.html' + def get_queryset(self): + params = self.get_params() + for param in params: + if param.get('type') == 'event': + exp = Exposition.objects.filter(url=param.get('url')) + param['name'] = exp[0].name + #query = exp.users + self.single_page = True + params.append({'type':'programme', 'name':_(u'Программа')}) + self.params = params + return exp - +class ExpositionPrice(ExpoListView): + model = Exposition + template_name = 'exposition_price.html' + def get_queryset(self): + params = self.get_params() + for param in params: + if param.get('type') == 'event': + exp = Exposition.objects.filter(url=param.get('url')) + param['name'] = exp[0].name + #query = exp.users + self.single_page = True + params.append({'type':'price', 'name':_(u'Стоимость посещения и участия')}) + self.params = params + return exp diff --git a/file/forms.py b/file/forms.py index 774a1df3..db550935 100644 --- a/file/forms.py +++ b/file/forms.py @@ -5,7 +5,7 @@ from django.contrib.contenttypes.models import ContentType from ckeditor.widgets import CKEditorWidget #models from country.models import Country -from models import FileModel, TmpFile, IMG_TYPES, PURPOSES +from models import FileModel, TmpFile, IMG_TYPES, PURPOSES, Photo #functions from functions.translate import populate, fill_trans_fields_all #python @@ -98,4 +98,82 @@ class FileModelForm(forms.Form): populate(object, data, code) object.save() - return file_obj \ No newline at end of file + return file_obj + +class PhotoForm(forms.Form): + file_path = forms.FileField(label='Выберите файл') + # uses for comparing with TmpFile key + key = forms.CharField(required=False, widget=forms.HiddenInput()) + model = forms.CharField(required=False, widget=forms.HiddenInput()) + + def __init__(self, *args, **kwargs): + """ + creates dynamical translated fields + """ + super(PhotoForm, self).__init__(*args, **kwargs) + # creates translated form fields, example: name_ru, name_en + # len(10) is a hack for detect if settings.LANGUAGES is not configured it return all langs + if len(settings.LANGUAGES) in range(10): + for lid, (code, name) in enumerate(settings.LANGUAGES): + # using enumerate for detect iteration number + # first iteration is a default lang so it required fields + required = True if lid == 0 else False + self.fields['name_%s'%code] = forms.CharField(label='Имя файла',required=False, widget=forms.TextInput(attrs={'placeholder': 'Имя'})) + self.fields['description_%s'%code] = forms.CharField(label='Описание', required=False, widget=CKEditorWidget()) + + def save(self,request, obj=None): + """ + if model exist (form.save(request.FILES, obj)) create FileModel object + if model doesnt exist (form.save(request.FILES)) create TmpFile object + """ + data = self.cleaned_data + #create TmpFile object or Photo object + if not obj: + file_obj = TmpFile() + file_obj.key = data['key'] + file_obj.purpose = 'photo' + else: + file_obj = Photo() + file_obj.content_type = ContentType.objects.get_for_model(obj) + file_obj.object_id = getattr(obj, 'id') + + # change all symbols than are not letter or number to '_'from file name + # and translit name + file_name = u'%s'%request['file_path'].name + file_name = pytils.translit.translify(file_name) + file_name = re.sub('[^\w\-_\.]', '_', file_name) + file_name = re.sub('_+', '_', file_name) + # file_name = re.sub('_+', '_', re.sub('[^\w\-_\. ]', '_', pytils.translit.translify(u'%s'%request['file_path'].name))) + request['file_path'].name = file_name + + file_obj.file_path = request['file_path'] + + # type of file + type = str(data['file_path']).split('.')[-1] + # if type is image save fields with image size + if type.upper() in IMG_TYPES: + f = Image.open(data['file_path']) + file_obj.img_width, file_obj.img_height = f.size + #saves file_type + # save() uses because in the next loop data will be overwritten + try: + file_obj.file_type = type + file_obj.save() + except: + file_obj.file_type = 'OTHER' + file_obj.save() + + #fills and saves translated fields + fill_trans_fields_all(Photo, file_obj, data) + + #populates fields of FileModel object or TmpFile object + for code, name in settings.LANGUAGES: + if not obj: + object = TmpFile._meta.translations_model.objects.get(language_code = code,master__id=getattr(file_obj,'id')) + else: + object = Photo._meta.translations_model.objects.get(language_code = code,master__id=getattr(file_obj,'id')) + populate(object, data, code) + object.save() + + return file_obj + diff --git a/file/models.py b/file/models.py index 1a10a5fa..19eba496 100644 --- a/file/models.py +++ b/file/models.py @@ -5,6 +5,7 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes import generic from django.db.models.signals import post_delete from django.dispatch.dispatcher import receiver +from django.utils.translation import ugettext_lazy as _ #functions from functions.custom_fields import EnumField #python @@ -50,16 +51,16 @@ class FileModel(TranslatableModel): object = generic.GenericForeignKey(content_type, object_id) file_path = models.FileField(upload_to=get_upload_path) - #file_type and purposes uses EnumField for creating Enum type field in Mysql database + # file_type and purposes uses EnumField for creating Enum type field in Mysql database file_type = EnumField(values=FILE_TYPES+IMG_TYPES, blank=True) purpose = EnumField(values=[item1 for item1, item2 in PURPOSES]) img_width = models.PositiveIntegerField(blank=True, null=True) img_height = models.PositiveIntegerField(blank=True, null=True) - # + created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) - #translations is translated fields + # translations is translated fields translations = TranslatedFields( file_name = models.CharField(max_length=50, blank=True), description = models.TextField(blank=True), @@ -86,10 +87,9 @@ class TmpFile(TranslatableModel): Uses hvad.TranslatableModel which is child of django.db.models class - """ file_path = models.FileField(upload_to='tmp_files/') - #file_type and purposes uses EnumField for creating Enum type field in Mysql database + # file_type and purposes uses EnumField for creating Enum type field in Mysql database file_type = EnumField(values=FILE_TYPES+IMG_TYPES, blank=True) purpose = EnumField(values=[item1 for item1, item2 in PURPOSES]) @@ -108,3 +108,33 @@ class TmpFile(TranslatableModel): def __unicode__(self): return str(self.file_path) + + + +class UserMark(models.Model): + user = models.ForeignKey('accounts.User') + top = models.PositiveSmallIntegerField() + left = models.PositiveSmallIntegerField() + height = models.PositiveSmallIntegerField() + width = models.PositiveSmallIntegerField() + +class Photo(TranslatableModel): + content_type = models.ForeignKey(ContentType, null=True) + object_id = models.PositiveIntegerField(blank=True, null=True) + object = generic.GenericForeignKey(content_type, object_id) + + file_path = models.ImageField(upload_to='photos/') + width = models.PositiveIntegerField(blank=True, null=True) + height = models.PositiveIntegerField(blank=True, null=True) + order = models.PositiveSmallIntegerField(default=0) + view_count = models.PositiveIntegerField(_('view count'), default=0) + file_type = EnumField(values=FILE_TYPES+IMG_TYPES, blank=True) + + users = models.ManyToManyField(UserMark, null=True) + translations = TranslatedFields( + name = models.CharField(max_length=255, blank=True), + description = models.TextField(blank=True) + ) + # + created = models.DateTimeField(auto_now_add=True) + modified = models.DateTimeField(auto_now=True) \ No newline at end of file diff --git a/file/urls.py b/file/urls.py new file mode 100644 index 00000000..6a3f38ce --- /dev/null +++ b/file/urls.py @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- +from django.conf.urls import patterns, url + +urlpatterns = patterns('', + url(r'^photo/existing-tags/$', 'file.views.existing_tags'), + url(r'^photo/add-tag/$', 'file.views.add_tag'), + url(r'^photo/delete-tag/$', 'file.views.delete_tag'), +) \ No newline at end of file diff --git a/file/views.py b/file/views.py new file mode 100644 index 00000000..83179f97 --- /dev/null +++ b/file/views.py @@ -0,0 +1,60 @@ +from django.http import HttpResponse +import json +from models import UserMark +from accounts.models import User +from models import Photo +from photoreport.models import Photoreport + +def add_tag(request): + + user = User.objects.get(id=request.GET['name_id']) + mark = UserMark(user=user, top=request.GET['top'], left=request.GET['left'], + width=request.GET['width'], height=request.GET['height']) + photo = Photo.objects.get(id=request.GET['image_id']) + mark.save() + photo.users.add(mark) + + + response = {"result":True, + "tag": { + "id": user.id, + "text": user.get_full_name(), + "left": mark.left, + "top": mark.top, + "width": mark.height, + "height": mark.height, + "url": "/123", + "isDeleteEnable": True + } + } + + return HttpResponse(json.dumps(response), content_type='application/json') + +def existing_tags(request): + photo = Photo.objects.get(id=request.GET['image-id']) + + tags = [{'id': mark.id, 'text': mark.user.get_full_name(), + 'left': mark.left, 'top': mark.top, 'width': mark.width, + 'height': mark.height, 'url': '/123', 'isDeleteEnable': True} for mark in photo.users.all()] + + response = {'Image': [ + { + 'id': photo.id, + 'Tags': tags + } + ], + "options":{ + "tag":{ + "flashAfterCreation": True + } + } + } + + return HttpResponse(json.dumps(response), content_type='application/json') + +def delete_tag(request): + photo = Photo.objects.get(id=request.GET['image-id']) + mark = UserMark.objects.get(id=request.GET['tag-id']) + photo.users.remove(mark) + d = {"result":True,"message":"ooops"} + return HttpResponse(json.dumps(d), content_type='application/json') diff --git a/functions/custom_fields.py b/functions/custom_fields.py index edfc3d2f..4d57b0b4 100644 --- a/functions/custom_fields.py +++ b/functions/custom_fields.py @@ -98,7 +98,7 @@ class LocationWidget(forms.TextInput): """ handle on the rendering on the server """ - if value is None: + if value is None or value==u'': lat, lng, address = DEFAULT_LAT, DEFAULT_LNG, DEFAULT_ADDRESS value = {'lat': lat, 'lng': lng, 'address': address} else: diff --git a/functions/custom_views.py b/functions/custom_views.py index 5f03f5a1..155fc414 100644 --- a/functions/custom_views.py +++ b/functions/custom_views.py @@ -186,7 +186,7 @@ def delete_object(request, Model, Form, url, prev_page,): return render_to_response('delete.html', args) #-----class------------------ -from django.views.generic import ListView +from django.views.generic import ListView, DetailView from functions.views_help import split_params from city.models import City @@ -196,13 +196,16 @@ from conference.models import Conference from seminar.models import Seminar from webinar.models import Webinar from company.models import Company +from photoreport.models import Photoreport from django.utils.translation import ugettext as _ class ExpoMixin(object): def get_params(self): - model_names = {Exposition: _(u'Выставки'), Conference: _(u'Конференции'), - Seminar: _(u'Семинары'),Webinar: _(u'Вебинары'), Company: _(u'Участники')} - model_alternative_name = {Exposition: 'exposition', Conference: 'conference'} + model_names = {Exposition: _(u'Выставки'), Conference: _(u'Конференции'), Seminar: _(u'Семинары'), + Webinar: _(u'Вебинары'), Company: _(u'Участники'), Photoreport: _(u'Фоторепортажи')} + + + model_alternative_name = {Exposition: 'exposition', Conference: 'conference', Photoreport: 'photoreport'} params = [{'type':'model', 'url':self.model, 'name': model_names.get(self.model), 'alternative_name': model_alternative_name.get(self.model)}] @@ -214,7 +217,7 @@ class ExpoMixin(object): single_page_filter = {Exposition:'event', Conference:'event', Seminar:'event', Webinar:'event', Company:'member', - User:'visitor'} + User:'visitor', Photoreport: 'photoreport'} class ExpoListView(ExpoMixin, ListView): """ @@ -288,3 +291,10 @@ class ExpoListView(ExpoMixin, ListView): context['filter'] = self.params context['single_page'] = self.single_page return context + +from country.models import Country + +class EventDetail(ExpoMixin, DetailView): + def get_object(self, queryset=None): + obj = Country.objects.filter()[0] + return obj \ No newline at end of file diff --git a/functions/files.py b/functions/files.py index e6c95283..a2255076 100644 --- a/functions/files.py +++ b/functions/files.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- + from django.contrib.contenttypes.models import ContentType from django.conf import settings #models -from file.models import FileModel, TmpFile +from file.models import FileModel, TmpFile, Photo from custom_fields import IMG_TYPES import shutil, os @@ -57,20 +58,26 @@ def check_tmp_files(object, key=None): list = TmpFile.objects.filter(key=key) for item in list: - file_obj = FileModel() - #ContentType information + + if item.purpose == 'photo': + file_obj = Photo() + else: + file_obj = FileModel() + + #file_obj = FileModel() + # ContentType information file_obj.content_type = ContentType.objects.get_for_model(object) file_obj.object_id = getattr(object, 'id') file_name = str(item.file_path).split('/')[-1] - #check file type and move it in 'media/imgs/' if type is in IMG_TYPES - #else move it in 'media/files/' + # check file type and move it in 'media/imgs/' if type is in IMG_TYPES + # else move it in 'media/files/' if str(item.file_type).upper() in IMG_TYPES: alt_name = get_alternative_filename(settings.MEDIA_ROOT+'imgs/',file_name) os.rename(settings.MEDIA_ROOT+'tmp_files/%s'%file_name, settings.MEDIA_ROOT+'tmp_files/%s'%alt_name) shutil.move(settings.MEDIA_ROOT +'tmp_files/%s'%alt_name, settings.MEDIA_ROOT+'imgs/') file_obj.file_path = 'imgs/'+alt_name - #move file to '/imgs/' + # move file to '/imgs/' else: alt_name = get_alternative_filename(settings.MEDIA_ROOT+'files/',file_name) os.rename(settings.MEDIA_ROOT+'tmp_files/%s'%file_name, settings.MEDIA_ROOT+'tmp_files/%s'%alt_name) @@ -78,9 +85,13 @@ def check_tmp_files(object, key=None): file_obj.file_path = 'files/'+alt_name #another data file_obj.file_type = item.file_type - file_obj.img_height = item.img_height - file_obj.img_width = item.img_width - file_obj.purpose = item.purpose + if item.purpose == 'photo': + file_obj.height = item.img_height + file_obj.width = item.img_width + else: + file_obj.img_height = item.img_height + file_obj.img_width = item.img_width + file_obj.purpose = item.purpose file_obj.save() #translated fields @@ -93,6 +104,9 @@ def check_tmp_files(object, key=None): list.delete() +def check_photos(obj, key=None): + return + from exposition.models import TmpTimeTable, TimeTable from functions.translate import fill_with_signal diff --git a/functions/form_check.py b/functions/form_check.py index 6539e47d..a742178d 100644 --- a/functions/form_check.py +++ b/functions/form_check.py @@ -21,15 +21,18 @@ def translit_with_separator(string, separator='-'): usage: translit_with_separator('введите, слово', '_') return 'vvedite_slovo' """ - string = string.strip() - #make string unicode + #make string unicode string = u'%s'%string + string = string.strip() #make string translit st = pytils.translit.translify(string) + #replace "bad" symbols for '-'symbol + st = st.replace('.', '') st = re.sub('[^\w\-_\.]', separator, st) #delete dublicating separators st = re.sub('%s+'%separator, separator, st) - return st \ No newline at end of file + + return st.lower() \ No newline at end of file diff --git a/functions/model_mixin.py b/functions/model_mixin.py index 3431249e..5b4749c0 100644 --- a/functions/model_mixin.py +++ b/functions/model_mixin.py @@ -1,4 +1,5 @@ from service.models import Service +import calendar as python_calendar class ExpoMixin(object): def get_logo(self): @@ -59,3 +60,26 @@ class EventMixin(object): def get_services(self): ids = [item for item, bool in self.services if bool==True] return [Service.objects.get(id=id) for id in ids] + + + + def duration_days(self, month=None): + if not month: + d = self.data_end - self.data_begin + return d.days+1 + else: + if self.data_begin.month == month and self.data_end.month ==month: + d = self.data_end - self.data_begin + return d.days + 1 + if self.data_begin.month == month: + last_day = python_calendar.monthrange(self.data_begin.year, month)[1] + return last_day - self.data_begin.day + 1 + + + if self.data_end.month == month: + return self.data_end.day + + return 0 + + + diff --git a/functions/pipeline.py b/functions/pipeline.py new file mode 100644 index 00000000..1a327ce4 --- /dev/null +++ b/functions/pipeline.py @@ -0,0 +1,64 @@ +from requests import request, HTTPError +""" +def test(strategy, user, response, details, + is_new=False, *args,**kwargs): + + user = user + st = strategy + resp = response + fdsfds + +""" +from accounts.models import User +from django.contrib import auth + +def test(*args, **kwargs): + + + #strategy = strategy + strategy = kwargs.get('strategy') + + asdsad + #auth.login(request(), u) + + + return None + + +def load_user(details, response, uid, *args, **kwargs): + if details.get('email'): + username = details.get('email') + else: + username = str(uid) + + user = User.objects.safe_get(username=username) + + return {'user': user, 'is_new': False} + + +def create_user(strategy, details, response, uid, user=None, *args, **kwargs): + if user: + return {'user': user, 'is_new': False} + else: + + if details.get('email'): + + username = details.get('email') + else: + username = str(uid) + + user = User.objects.create_social_user(username, details['first_name'], details['last_name']) + return {'user': user, 'is_new': True} + """ + if details.get('email'): + user = User.objects.safe_get(email=details['email']) + if user: + return {'user': user, 'is_new': False} + else: + user = User.objects.create_user(email=details['email'], first_name=details['first_name'], + last_name=details['last_name'], password='1q2w3e4r', is_active=True) + + return {'user': user, 'is_new': True} + else: + return None + """ \ No newline at end of file diff --git a/functions/signal_handlers.py b/functions/signal_handlers.py index 9964d06c..f9a1d8f4 100644 --- a/functions/signal_handlers.py +++ b/functions/signal_handlers.py @@ -6,7 +6,6 @@ from functions.form_check import translit_with_separator def pre_save_handler(sender, **kwargs): obj = kwargs['instance'] if obj.language_code =='en': - print('bla') try: name = getattr(obj, 'name') obj.url = translit_with_separator(name) diff --git a/import_xls/excel_settings.py b/import_xls/excel_settings.py index 6f04ce7f..5c9ae149 100644 --- a/import_xls/excel_settings.py +++ b/import_xls/excel_settings.py @@ -128,12 +128,13 @@ def to_city(value, lang, country): city = objects.filter(name=value)[0] return city except IndexError: + return None # not found # try to create new city - city = City(country=country) - city.translate(lang) - city.name = value - city.save() + #city = City(country=country) + #city.translate(lang) + #city.name = value + #city.save() return city @@ -212,10 +213,119 @@ def to_date(value): t = xlrd.xldate_as_tuple(value, 0)+(0,0,0) return time.strftime("%Y-%m-%d", t) +def to_logo(url): + return None + +def to_photo(url): + return None + +def to_map(url): + return None +from django.core.validators import validate_email, URLValidator + +def to_url(url): + validate = URLValidator() + try: + validate(url) + except: + return '' + return url + +def to_email(email): + try: + validate_email(email) + except: + return '' + return email + +from file.models import FileModel +import urllib +from django.conf import settings +from django.contrib.contenttypes.models import ContentType + + +def save_file(obj, value, purpose): + if not obj.id: + return None + urls = value.split(',') + for url in urls: + + file_name = url.split('/')[-1] + download_to = settings.MEDIA_ROOT+'imgs/'+file_name + try: + urllib.urlretrieve (url, download_to) + except: + return None + + file_name ='imgs/'+file_name + content_type = ContentType.objects.get_for_model(obj) + file = FileModel(file_path=file_name, file_type='JPG', purpose=purpose, + content_type=content_type, object_id=obj.id) + + file.save() + + +from place_exposition.models import Hall +def save_halls(obj, value): + halls = value.split(';') + res = [] + for hall in halls: + if hall: + l = hall.split('-') + area = int(l[1].strip()) + l = l[0].split(u'№') + try: + number = int(l[1].strip()) + except ValueError: + pass + name = l[0].strip() + res.append({'area': area, 'name':name, 'number': number}) + for hall in res: + h = Hall(place_exposition = obj, name=hall.get('name'), number=hall.get('number'), capacity=hall.get('area')) + h.save() + +place_exp_sett = { + u'ID':{u'field': u'id', u'func': to_int}, + u'Название':{u'field': u'name', u'func': unicode}, + u'Краткое описание':{u'field': u'main_title', u'func': unicode}, + u'Страна':{u'field': u'country', u'func': to_country}, + u'Город':{u'field': u'city', u'func': to_city, 'extra_values': 'country'}, + u'Описание':{u'field': u'description', u'func': unicode}, + u'Адрес':{u'field': u'adress', u'func': unicode}, + u'Тел.':{u'field': u'phone', u'func': to_int}, + u'Факс':{u'field': u'fax', u'func': to_int}, + u'Фото':{u'field': u'photo', u'func': save_file, u'method': True, u'purpose': 'photo'},#сделать + u'Лого':{u'field': u'logo', u'func': save_file, u'method': True, u'purpose': 'logo'},#сделать + u'Веб-сайт':{u'field': u'web_page', u'func': unicode}, + u'Email':{u'field': u'email', u'func': unicode}, + u'Карта проезда':{u'field': u'map', u'func': save_file, u'method': True, u'purpose': 'map'},#сделать + u'Виртуальный тур':{u'field': u'virtual_tour', u'func': to_url}, + u'Год основания':{u'field': u'foundation_year', u'func': to_int}, + u'Количество мероприятий в год':{u'field': u'event_in_year', u'func': to_int}, + u'Общая выставочная площадь, кв. м.':{u'field': u'total_area', u'func': to_int}, + u'Закрытая выставочная площадь, кв. м.':{u'field': u'closed_area', u'func': to_int}, + u'Открытая выставочная площадь, кв. м.':{u'field': u'open_area', u'func': to_int}, + u'Количество павильонов':{u'field': u'total_pavilions', u'func': unicode}, + u'Площадь павильонов/залов (по номерам)':{u'field': u'halls', u'func': save_halls, u'method': True},#!!! + u'Конференц-залы':{u'field': u'total_halls', u'func': to_int}, + u'Схема территории':{u'field': u'scheme', u'func': save_file, u'method': True, u'purpose': 'scheme teritory'},#сделать + u'Банк/Банкоматы/Обмен валюты':{u'field': u'bank', u'func': bool}, + u'Детская комната':{u'field': u'children_room', u'func': bool}, + u'Сервис для людей с ограниченными физическими возможностями':{u'field': u'disabled_service', u'func': bool}, + u'Конгресс-центр':{u'field': u'conference_centre', u'func': bool}, + u'Бизнес-центр':{u'field': u'business_centre', u'func': bool}, + u'On-line регистрация':{u'field': u'online_registration', u'func': bool}, + u'Wi-Fi':{u'field': u'wifi', u'func': bool}, + u'Кафе и рестораны':{u'field': u'cafe', u'func': bool}, + u'Информационные терминалы':{u'field': u'terminals', u'func': bool}, + u'Парковка':{u'field': u'parking', u'func': bool}, + u'Пресс-центр':{u'field': u'press_centre', u'func': bool}, + u'Мобильное приложение':{u'field': u'mobile_application', u'func': bool}, +} import_settings={ - 'name': {'func': unicode, }, + 'name': {'func': unicode}, 'url': {'func': unicode}, 'data_begin': {'func': to_date}, 'data_end': {'func': to_date}, @@ -247,4 +357,4 @@ import_settings={ 'is_published': {'func': bool}, 'canceled_by_administrator': {'func': bool}, 'types': {'func': to_theme_type} -} +} \ No newline at end of file diff --git a/import_xls/import_forms.py b/import_xls/import_forms.py index 34c4997c..1a3cac3d 100644 --- a/import_xls/import_forms.py +++ b/import_xls/import_forms.py @@ -84,11 +84,117 @@ class ImportForm(forms.Form): class ImportOrganiserForm(ImportForm): model = Organiser + class ImportThemeForm(ImportForm): model = Theme + +from excel_settings import place_exp_sett +from django.db import IntegrityError +import urllib, json + + +def google_address(address): + if address: + address = address.encode('utf') + params = urllib.urlencode({'sensor': 'false', 'address': address}) + response = urllib.urlopen("http://maps.google.com/maps/api/geocode/json?%s" % params) + response = response.read() + results = json.loads(response).get('results') + if results: + response = {'address' : results[0].get('formatted_address'), + 'lat' : results[0]['geometry']['location']['lat'], + 'lng' : results[0]['geometry']['location']['lng']} + return json.dumps(response) + else: + return '' + return '' + class ImportPlaceExpositionForm(ImportForm): model = PlaceExposition + settings = place_exp_sett + def save_file(self): + data = self.cleaned_data + lang = data['language'] + f = data['excel_file'] + book = xlrd.open_workbook(file_contents=f.read()) + sheet = book.sheet_by_index(0) + row_list = [sheet.row_values(row_number) for row_number in range(sheet.nrows)] + # all field names in excel file (must be in second row) + labels = [label for label in row_list[0]] + + for row_number, row in enumerate(row_list): + # go through all rows in file + if row_number > 0: + # first field is label + if row[0] != '': + # in first column ids + + try: + object = self.model.objects.language(lang).get(id=int(row[0])) + except ValueError: + object = self.model() + object.translate(lang) + + except self.model.DoesNotExist: + object = self.model(id= int(row[0])) + object.translate(lang) + else: + # if id blank - its a new event + object = self.model() + object.translate(lang) + methods = [] + for col_number, cell in enumerate(row): + # go through row cells + # field name current cell + label = labels[col_number] + setting = place_exp_sett.get(label) + + if setting is None: + continue + + if setting.get('method'): + if cell != "": + methods.append({'func': setting['func'], 'value': cell, 'purpose': setting.get('purpose')}) + continue + + field_name = setting['field'] + + + func = setting.get('func') + if func is not None: + extra_value = setting.get('extra_values') + if extra_value is not None: + # if setting has extra value then + # it is some field like city, theme, tag + # that has relation and can be created + + # in function we add language(need for relation fields) + # and extra value from object (like for city need country) + value = func(cell, lang, getattr(object, extra_value)) + else: + value = func(cell) + if field_name =='adress': + setattr(object, 'address', google_address(value)) + setattr(object, field_name, value) + + + try: + object.save() + + except IntegrityError: + continue + #url = object.url + translit_with_separator(object.city.name) + #object.url = url + #object.save() + + for method in methods: + func = method['func'] + if method.get('purpose'): + func(object, method['value'], method['purpose']) + else: + func(object, method['value']) + class ImportPlaceConferenceForm(ImportForm): model = PlaceConference diff --git a/media/imgs/cl-logo-3.png b/media/accounts/avatar/cl-logo-3.png similarity index 100% rename from media/imgs/cl-logo-3.png rename to media/accounts/avatar/cl-logo-3.png diff --git a/media/imgs/cl-logo-1_1.png b/media/imgs/cl-logo-1_1.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/imgs/cl-logo-1_1.png and /dev/null differ diff --git a/media/imgs/cl-logo-1_2.png b/media/imgs/cl-logo-1_2.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/imgs/cl-logo-1_2.png and /dev/null differ diff --git a/media/imgs/cl-logo-1_3.png b/media/imgs/cl-logo-1_3.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/imgs/cl-logo-1_3.png and /dev/null differ diff --git a/media/imgs/cl-logo-1_4.png b/media/imgs/cl-logo-1_4.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/imgs/cl-logo-1_4.png and /dev/null differ diff --git a/media/imgs/cl-logo-1_5.png b/media/imgs/cl-logo-1_5.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/imgs/cl-logo-1_5.png and /dev/null differ diff --git a/media/imgs/cl-logo-2.png b/media/imgs/cl-logo-2.png deleted file mode 100644 index 4a64c4dc..00000000 Binary files a/media/imgs/cl-logo-2.png and /dev/null differ diff --git a/media/imgs/cl-logo-2_1.1.png b/media/imgs/cl-logo-2_1.1.png deleted file mode 100644 index 4a64c4dc..00000000 Binary files a/media/imgs/cl-logo-2_1.1.png and /dev/null differ diff --git a/media/imgs/cl-logo-2_1.png b/media/imgs/cl-logo-2_1.png deleted file mode 100644 index 4a64c4dc..00000000 Binary files a/media/imgs/cl-logo-2_1.png and /dev/null differ diff --git a/media/imgs/cl-logo-3_5.1.png b/media/imgs/cl-logo-3_1.1.png similarity index 100% rename from media/imgs/cl-logo-3_5.1.png rename to media/imgs/cl-logo-3_1.1.png diff --git a/media/imgs/cl-logo-3_5.2.png b/media/imgs/cl-logo-3_1.2.png similarity index 100% rename from media/imgs/cl-logo-3_5.2.png rename to media/imgs/cl-logo-3_1.2.png diff --git a/media/tmp_files/cl-logo-3_1.png b/media/imgs/cl-logo-3_1.png similarity index 100% rename from media/tmp_files/cl-logo-3_1.png rename to media/imgs/cl-logo-3_1.png diff --git a/media/imgs/cl-logo-3_5.png b/media/imgs/cl-logo-3_5.png deleted file mode 100644 index 3783a0d7..00000000 Binary files a/media/imgs/cl-logo-3_5.png and /dev/null differ diff --git a/media/imgs/index.php?option=com_content&view=article&id=460&Itemid=192 b/media/imgs/index.php?option=com_content&view=article&id=460&Itemid=192 new file mode 100644 index 00000000..acd2dce1 --- /dev/null +++ b/media/imgs/index.php?option=com_content&view=article&id=460&Itemid=192 @@ -0,0 +1,457 @@ + + + + + + + + + + Схема парковки + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + +
+
+ +
+
+ + +
+
+
+ + + +
+
+
+ +
+
+ +
+
+ +
+
+ + +
+ + + +
+ +
+ + +
+ +

+ Схема парковки

+ + + + + +
+ + + + + +

+

+

Для получения файла большого размера нажмите на картинку

+ +
+ +
+ +

+ + +
+ +
+ + +
+
+ + + + + +
+
+ + +
+
+ +
+
+
+
+
+ + +
+
+ + + + + +
+
+ + +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/media/imgs/logo_scc.eps b/media/imgs/logo_scc.eps new file mode 100644 index 00000000..3ad566f1 Binary files /dev/null and b/media/imgs/logo_scc.eps differ diff --git a/media/imgs/mp-phg-1.png b/media/imgs/mp-phg-1.png deleted file mode 100644 index 65ec7a82..00000000 Binary files a/media/imgs/mp-phg-1.png and /dev/null differ diff --git a/media/imgs/pa-skhema2013.pdf b/media/imgs/pa-skhema2013.pdf new file mode 100644 index 00000000..f963ef7c Binary files /dev/null and b/media/imgs/pa-skhema2013.pdf differ diff --git a/media/imgs/part-logo-1.png b/media/imgs/part-logo-1.png deleted file mode 100644 index 3a088d2b..00000000 Binary files a/media/imgs/part-logo-1.png and /dev/null differ diff --git a/media/imgs/part-logo-1_1.png b/media/imgs/part-logo-1_1.png deleted file mode 100644 index 3a088d2b..00000000 Binary files a/media/imgs/part-logo-1_1.png and /dev/null differ diff --git a/media/imgs/pl-logo-2.png b/media/imgs/pl-logo-2.png deleted file mode 100644 index 54e6eb53..00000000 Binary files a/media/imgs/pl-logo-2.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-1.png b/media/tmp_files/cl-logo-1.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/tmp_files/cl-logo-1.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-1_1.png b/media/tmp_files/cl-logo-1_1.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/tmp_files/cl-logo-1_1.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-1_2.png b/media/tmp_files/cl-logo-1_2.png deleted file mode 100644 index 7eaaab33..00000000 Binary files a/media/tmp_files/cl-logo-1_2.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-2.png b/media/tmp_files/cl-logo-2.png deleted file mode 100644 index 4a64c4dc..00000000 Binary files a/media/tmp_files/cl-logo-2.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-3_2.png b/media/tmp_files/cl-logo-3_2.png deleted file mode 100644 index 3783a0d7..00000000 Binary files a/media/tmp_files/cl-logo-3_2.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-3_3.png b/media/tmp_files/cl-logo-3_3.png deleted file mode 100644 index 3783a0d7..00000000 Binary files a/media/tmp_files/cl-logo-3_3.png and /dev/null differ diff --git a/media/tmp_files/cl-logo-3_4.png b/media/tmp_files/cl-logo-3_4.png deleted file mode 100644 index 3783a0d7..00000000 Binary files a/media/tmp_files/cl-logo-3_4.png and /dev/null differ diff --git a/news/models.py b/news/models.py index 815dee73..7f8263c6 100644 --- a/news/models.py +++ b/news/models.py @@ -46,6 +46,9 @@ class News(TranslatableModel): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) + main_page = models.PositiveIntegerField(default=0, db_index=True) + views = models.PositiveIntegerField(default=0) + def __unicode__(self): return self.lazy_translation_getter('main_title', self.pk) diff --git a/organiser/admin.py b/organiser/admin.py index bd68d759..b533eaad 100644 --- a/organiser/admin.py +++ b/organiser/admin.py @@ -98,8 +98,9 @@ def organiser_change(request, url): #fill form form = OrganiserForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = organiser.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data.get('country'))] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data.get('country'))] form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.filter(theme__in=data.get('theme'))] args = {} diff --git a/photoreport/admin.py b/photoreport/admin.py index 645a3663..87a65af7 100644 --- a/photoreport/admin.py +++ b/photoreport/admin.py @@ -9,10 +9,11 @@ from django.forms.models import modelformset_factory from django.contrib.auth.decorators import login_required from django.contrib.contenttypes.models import ContentType #models and forms -from forms import PhotoreportFormDelete +from forms import PhotoreportFormDelete, PhotoreportForm +from file.forms import PhotoForm from models import Photoreport from city.models import City -from file.models import FileModel, TmpFile +from file.models import FileModel, TmpFile, Photo from file.forms import FileModelForm #python import random @@ -40,3 +41,89 @@ def photoreport_copy(request, url): def photoreport_delete(request, url): return delete_object(request, Photoreport, PhotoreportFormDelete, url, '/admin/photoreport/all') +def photoreport_add(request): + if request.POST.get('key'): + key = request.POST['key'] + else: + key = random.getrandbits(128) + + photo_form = PhotoForm(initial={'key': key}) + + if request.POST: + form = PhotoreportForm(request.POST) + if form.is_valid(): + form.save() + return HttpResponseRedirect('/admin/photoreport/all') + else: + form = PhotoreportForm(initial={'key': key}) + + + args = {} + args.update(csrf(request)) + #languages uses in template + args['languages'] = settings.LANGUAGES + args['form'] = form + args['photo_form'] = photo_form + #list of files connected to this form + #args['photos'] = TmpFile.objects.filter(key=key) + + return render_to_response('photoreport_add.html', args) + +def photoreport_change(request, url): + try: + photoreport = Photoreport.objects.get(url=url) + photoreport_id = getattr(photoreport, 'id') + # initial hidden input for checking model of object + photo_form = PhotoForm(initial={'model': 'photoreport.Photoreport'}) + file_form = FileModelForm(initial={'model': 'photoreport.Photoreport'}) + except: + return HttpResponseRedirect('/admin/photoreport/all') + + if request.POST: + # photoreport_id sending for saving capital field in __init__ + form = PhotoForm(request.POST) + + if form.is_valid(): + form.save(photoreport_id) + return HttpResponseRedirect('/admin/photoreport/all/') + else: + # fill form with data from database + + data = {} + + if photoreport.exposition: + data['exposition'] = photoreport.exposition.id + + if photoreport.conference: + data['conference'] = photoreport.conference.id + + if photoreport.seminar: + data['seminar'] = photoreport.seminar.id + + for code, name in settings.LANGUAGES: + obj = Photoreport._meta.translations_model.objects.get(language_code = code,master__id=photoreport_id) #access to translated fields + data['name_%s' % code] = obj.name + data['description_%s' % code] = obj.description + data['title_%s' % code] = obj.title + data['keywords_%s' % code] = obj.keywords + data['descriptions_%s' % code] = obj.descriptions + + #fill form + form = PhotoreportForm(initial=data) + + args = {} + args.update(csrf(request)) + args['languages'] = settings.LANGUAGES + args['form'] = form + args['file_form'] = file_form + args['photo_form'] = photo_form + + #get list of files which connected with specific model object + args['files'] = FileModel.objects.filter(content_type=ContentType.objects.get_for_model(photoreport), + object_id=getattr(photoreport, 'id')) + + args['photos'] = Photo.objects.filter(content_type=ContentType.objects.get_for_model(photoreport), + object_id=getattr(photoreport, 'id')) + args['obj_id'] = photoreport_id + + return render_to_response('photoreport_add.html', args) \ No newline at end of file diff --git a/photoreport/admin_urls.py b/photoreport/admin_urls.py index 82526a83..0fcc999d 100644 --- a/photoreport/admin_urls.py +++ b/photoreport/admin_urls.py @@ -2,10 +2,10 @@ from django.conf.urls import patterns, include, url urlpatterns = patterns('photoreport.admin', - url(r'^add.*/$', 'conference_add'), - url(r'^delete/(?P.*)/$', 'conference_delete'), - url(r'^change/(?P.*)/$', 'conference_change'), - url(r'^copy/(?P.*)/$', 'place_conference_copy'), - url(r'^all/$', 'conference_all'), + url(r'^add.*/$', 'photoreport_add'), + url(r'^delete/(?P.*)/$', 'photoreport_delete'), + url(r'^change/(?P.*)/$', 'photoreport_change'), + #url(r'^copy/(?P.*)/$', 'photoreport_copy'), + url(r'^all/$', 'photoreport_all'), ) diff --git a/photoreport/forms.py b/photoreport/forms.py index 13ef41a7..5ddbd224 100644 --- a/photoreport/forms.py +++ b/photoreport/forms.py @@ -1 +1,78 @@ -__author__ = 'kotzilla' +# -*- coding: utf-8 -*- +from django import forms +from django.conf import settings +from ckeditor.widgets import CKEditorWidget +from exposition.models import Exposition +from conference.models import Conference +from seminar.models import Seminar +from models import Photoreport +from functions.form_check import translit_with_separator +from functions.translate import fill_with_signal +from functions.files import check_tmp_files + + +class PhotoreportForm(forms.Form): + exposition = forms.ModelChoiceField(queryset=Exposition.objects.all(), empty_label='', required=False) + conference = forms.ModelChoiceField(queryset=Conference.objects.all(), empty_label='', required=False) + seminar = forms.ModelChoiceField(queryset=Seminar.objects.all(), empty_label='', required=False) + + key = forms.CharField(required=False, widget=forms.HiddenInput()) + + def __init__(self, *args, **kwargs): + """ + create dynamical translated fields fields + and fills select fields + """ + super(PhotoreportForm, self).__init__(*args, **kwargs) + #creates translated forms example: name_ru, name_en + # len(10) is a hack for detect if settings.LANGUAGES is not configured it return all langs + if len(settings.LANGUAGES) in range(10): + for lid, (code, name) in enumerate(settings.LANGUAGES): + # uses enumerate for detect iteration number + # first iteration is a default lang so it required fields + required = True if lid == 0 else False + self.fields['name_%s' % code] = forms.CharField(label='Название', required=required) + self.fields['description_%s' % code] = forms.CharField(label='Описание', + required=False, widget=CKEditorWidget) + #meta data + self.fields['title_%s' % code] = forms.CharField(label='Тайтл', required=False, max_length=255, + widget=forms.TextInput(attrs={'style':'width: 550px'})) + self.fields['keywords_%s' % code] = forms.CharField(label='Кейвордс', required=False, max_length=255, + widget=forms.TextInput(attrs={'style':'width: 550px'})) + + self.fields['descriptions_%s' % code] = forms.CharField(label='Дескрипшен', required=False, max_length=255, + widget=forms.TextInput(attrs={'style':'width: 550px'})) + + def save(self, id=None): + data = self.cleaned_data + + if not id: + photoreport = Photoreport() + else: + photoreport = Photoreport.objects.get(id=id) + + if data.get('url'): + photoreport.url = data.get('url') + else: + photoreport.url = translit_with_separator(data['name_ru']) + + photoreport.exposition = data['exposition'] + photoreport.conference = data['conference'] + photoreport.seminar = data['seminar'] + + # fill translated fields and save object + fill_with_signal(Photoreport, photoreport, data) + + #save photos + check_tmp_files(photoreport, data['key']) + return photoreport + + + +class PhotoreportFormDelete(forms.ModelForm): + url = forms.CharField(widget=forms.HiddenInput()) + + class Meta: + model = Photoreport + fields = ('url',) + diff --git a/photoreport/models.py b/photoreport/models.py index f210a09d..0f440994 100644 --- a/photoreport/models.py +++ b/photoreport/models.py @@ -1,6 +1,9 @@ # -*- coding: utf-8 -*- from django.db import models +from django.db.models.signals import post_save from hvad.models import TranslatableModel, TranslatedFields +from django.contrib.contenttypes import generic +from functions.signal_handlers import post_save_handler from accounts.models import User from company.models import Company from django.contrib.contenttypes import generic @@ -17,21 +20,41 @@ from functions.signal_handlers import post_save_handler class Photoreport(TranslatableModel): - photo = models.ManyToManyField(Photo, blank=True, null=True, related_name='photos') + #photo = models.ManyToManyField(Photo, blank=True, null=True, related_name='photos') + url=models.SlugField(unique=True) + exposition = models.ForeignKey('exposition.Exposition', null=True) + conference = models.ForeignKey('conference.Conference', null=True) + seminar = models.ForeignKey('seminar.Seminar', null=True) + + files = generic.GenericRelation('file.FileModel', content_type_field='content_type', object_id_field='object_id') + photos = generic.GenericRelation('file.Photo', content_type_field='content_type', object_id_field='object_id') + + main_page = models.PositiveIntegerField(default=0, db_index=True) + views = models.PositiveIntegerField(default=0) + translations = TranslatedFields( name = models.CharField(max_length=30), description = models.TextField(blank=True), - #-----meta data + #-----meta data--------- title = models.CharField(max_length=250, blank=True), descriptions = models.CharField(max_length=250, blank=True), keywords = models.CharField(max_length=250,blank=True), ) -class Photo(TranslatableModel): - file_path = models.ImageField(upload_to='/photos') - users = models.ManyToManyField(User, blank=True, null=True) - company = models.ManyToManyField(Company, blank=True, null=True) - translations = TranslatedFields( - name = models.CharField(max_length=30), - description = models.TextField(blank=True), - ) \ No newline at end of file + def get_event(self): + if self.exposition: + return self.exposition + if self.conference: + return self.conference + if self.seminar: + return self.seminar + + return None + + def get_photos(self): + return self.photos.all() + + def get_photos_count(self): + return len(self.photos.all()) + +post_save.connect(post_save_handler, sender=Photoreport) \ No newline at end of file diff --git a/photoreport/urls.py b/photoreport/urls.py new file mode 100644 index 00000000..689bf278 --- /dev/null +++ b/photoreport/urls.py @@ -0,0 +1,11 @@ +from django.conf.urls import patterns, include, url +from views import PhotoreportView + +urlpatterns = patterns('', + url(r'photoreports/(?P.*)/(?P\d+)/$', PhotoreportView.as_view()), + url(r'photoreports/(?P\d+)/$', PhotoreportView.as_view()), + url(r'photoreports/(?P.*)/$', PhotoreportView.as_view()), + url(r'photoreports/$', PhotoreportView.as_view()), + + ) + diff --git a/photoreport/views.py b/photoreport/views.py index 60f00ef0..ac60a86f 100644 --- a/photoreport/views.py +++ b/photoreport/views.py @@ -1 +1,10 @@ -# Create your views here. +# -*- coding: utf-8 -*- +from django.http import HttpResponseRedirect, HttpResponse +from models import Photoreport +from functions.custom_views import ExpoListView +import json +from django.utils.translation import ugettext as _ + +class PhotoreportView(ExpoListView): + model = Photoreport + template_name = 'photoreport_catalog.html' diff --git a/place_conference/admin.py b/place_conference/admin.py index 74ede7e4..cbe07bed 100644 --- a/place_conference/admin.py +++ b/place_conference/admin.py @@ -163,8 +163,9 @@ def conference_change(request, url): form = ConferenceForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = place.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] #get existing halls halls = Hall.objects.filter(place_conference=getattr(place, 'id')) #fill HallFormSet diff --git a/place_conference/models.py b/place_conference/models.py index 668e2646..edaa50f8 100644 --- a/place_conference/models.py +++ b/place_conference/models.py @@ -69,7 +69,7 @@ class PlaceConference(TranslatableModel): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) - views = models.PositiveIntegerField(null=True) + views = models.PositiveIntegerField(default=0) def __unicode__(self): return self.lazy_translation_getter('name', unicode(self.pk)) diff --git a/place_exposition/admin.py b/place_exposition/admin.py index 07e4df3c..b497bc4f 100644 --- a/place_exposition/admin.py +++ b/place_exposition/admin.py @@ -116,7 +116,7 @@ def exposition_change(request, url): HallFormSet = formset_factory(HallForm) form = ExpositionForm(request.POST) #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=request.POST['country'])] + form.fields['city'].widget.attrs['data-init-text'] =City.objects.get(id=request.POST['city']).name formset = HallFormSet(request.POST) if form.is_valid() and formset.is_valid(): @@ -149,8 +149,8 @@ def exposition_change(request, url): if place.country: data['country'] = place.country.id - if place.city: data['city'] = place.city.id + #data from translated fields for code, name in settings.LANGUAGES: obj = PlaceExposition._meta.translations_model.objects.get(language_code = code,master__id=exposition_id) #access to translated fields @@ -164,8 +164,9 @@ def exposition_change(request, url): data['descriptions_%s'%code] = obj.descriptions form = ExpositionForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = place.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] #get existing halls halls = Hall.objects.filter(place_exposition=getattr(place, 'id')) #fill HallFormSet diff --git a/place_exposition/forms.py b/place_exposition/forms.py index 6dc8aee4..2fa08262 100644 --- a/place_exposition/forms.py +++ b/place_exposition/forms.py @@ -28,18 +28,18 @@ class ExpositionForm(forms.Form): type = forms.ChoiceField(required=False, choices=types) country = forms.ModelChoiceField(label='Страна', queryset=Country.objects.all(), empty_label=None) - #creates select input with empty choices cause it will be filled with ajax - city = forms.ChoiceField(label='Город', choices=[('','')]) + # creates select input with empty choices cause it will be filled with ajax + city = forms.CharField(label='Город', widget=forms.HiddenInput()) - address = forms.CharField(label='Адресс', widget=LocationWidget) + address = forms.CharField(label='Адресс', widget=LocationWidget, required=False) phone = forms.CharField(label='Телефон', required=False, widget=forms.TextInput(attrs={'placeholder': 'Введите телефон'})) fax = forms.CharField(label='Факс', required=False, widget=forms.TextInput(attrs={'placeholder': 'Введите факс'})) - web_page = forms.CharField(label='Веб-сайт', required=False, + web_page = forms.URLField(label='Веб-сайт', required=False, widget=forms.TextInput(attrs={'placeholder': 'Введите адрес сайта'}))# - email = forms.CharField(label='Email', required=False, + email = forms.EmailField(label='Email', required=False, widget=forms.TextInput(attrs={'placeholder': 'Введите email'}))# # foundation_year = forms.CharField(label='Год основания', required=False, @@ -54,7 +54,7 @@ class ExpositionForm(forms.Form): widget=forms.TextInput(attrs={'placeholder': 'Количество павильонов'})) total_halls = forms.CharField(label='Количество конференц залов', required=False, widget=forms.TextInput(attrs={'placeholder': 'Конференц залы'})) - video_link = forms.CharField(label='Видео', required=False, + video_link = forms.URLField(label='Видео', required=False, widget=forms.TextInput(attrs={'placeholder': 'Введите ссылку на видео'})) # wifi = forms.BooleanField(label='Wi-fi', required=False) @@ -173,51 +173,6 @@ class ExpositionForm(forms.Form): return self.cleaned_data - def clean_web_page(self): - """ - web_page checking - """ - cleaned_data = super(ExpositionForm, self).clean() - web_page = cleaned_data.get('web_page') - if not web_page: - return '' - - validate = URLValidator() - try: - validate(web_page) - except(ValidationError),e: - raise ValidationError(e.messages[0]) - return web_page - - def clean_video_link(self): - """ - video_link checking - """ - cleaned_data = super(ExpositionForm, self).clean() - video_link = cleaned_data.get('video_link') - if not video_link: - return '' - - validate = URLValidator() - try: - validate(video_link) - except(ValidationError),e: - raise ValidationError(e.messages[0]) - return video_link - - def clean_email(self): - """ - email checking - """ - cleaned_data = super(ExpositionForm, self).clean() - email = cleaned_data.get('email') - if not email: - return '' - try: - validate_email(email) - except(ValidationError),e: - raise ValidationError(e.messages[0]) - return email def clean_phone(self): """ diff --git a/place_exposition/models.py b/place_exposition/models.py index 8654183a..48da6018 100644 --- a/place_exposition/models.py +++ b/place_exposition/models.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- from django.db import models from django.contrib.contenttypes import generic -from django.db.models.signals import post_save +from django.db.models.signals import post_save, pre_save from django.utils.translation import ugettext as _ # from hvad.models import TranslatableModel, TranslatedFields, TranslationManager # from functions.custom_fields import EnumField, LocationField -from functions.signal_handlers import post_save_handler +from functions.signal_handlers import post_save_handler, pre_save_handler from functions.models_methods import ExpoManager import copy @@ -28,7 +28,7 @@ class PlaceExposition(TranslatableModel): #set manager of this model objects = ExpoManager() - url = models.SlugField(unique=True) + url = models.SlugField(unique=True, max_length=255) country = models.ForeignKey('country.Country', on_delete=models.PROTECT) city = models.ForeignKey('city.City', on_delete=models.PROTECT) #type uses EnumField for creating Enum type field in Mysql database @@ -42,12 +42,14 @@ class PlaceExposition(TranslatableModel): email = models.EmailField(blank=True) # foundation_year = models.PositiveIntegerField(blank=True, null=True) + event_in_year = models.PositiveIntegerField(blank=True, null=True) total_area = models.PositiveIntegerField(blank=True, null=True) closed_area = models.PositiveIntegerField(blank=True, null=True) open_area = models.PositiveIntegerField(blank=True, null=True) total_pavilions = models.PositiveIntegerField(blank=True, null=True) total_halls = models.PositiveIntegerField(blank=True, null=True) video_link = models.CharField(max_length=255, blank=True) + virtual_tour = models.URLField(blank=True) # wifi = models.NullBooleanField() bank = models.NullBooleanField() @@ -62,7 +64,8 @@ class PlaceExposition(TranslatableModel): press_centre = models.NullBooleanField() mobile_application = models.NullBooleanField() # - files = generic.GenericRelation('file.FileModel',content_type_field='content_type', object_id_field='object_id') + files = generic.GenericRelation('file.FileModel', content_type_field='content_type', object_id_field='object_id') + photos = generic.GenericRelation('file.Photo', content_type_field='content_type', object_id_field='object_id') #translations is translated fields translations = TranslatedFields( @@ -81,7 +84,8 @@ class PlaceExposition(TranslatableModel): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) - views = models.PositiveIntegerField(null=True) + views = models.PositiveIntegerField(default=0) + is_published = models.BooleanField(default=1) class Meta: ordering = ['translations__name'] @@ -106,11 +110,12 @@ class PlaceExposition(TranslatableModel): return logo def get_photos(self): - photos = self.files.filter(purpose='photo') + photos = self.photos.all()[:3] return photos def get_scheme(self): scheme = self.files.filter(purpose='scheme teritory') + return scheme if scheme: return scheme[0] return scheme @@ -120,9 +125,9 @@ class PlaceExposition(TranslatableModel): return events def get_nearest_places(self): - pl_exp = PlaceExposition.objects.filter(city=self.city).exclude(id=self.id) - pl_conf = PlaceConference.objects.filter(city=self.city) - return pl_conf + pl_exp = PlaceExposition.objects.filter(city=self.city).exclude(id=self.id)[:3] + pl_conf = PlaceConference.objects.filter(city=self.city)[:3] + #return pl_exp[] return list(pl_exp)+ list(pl_conf)#PlaceExposition.objects.filter(city=self.city).exclude(id=self.id) def get_type(self): @@ -182,4 +187,7 @@ class Hall(models.Model): capacity = models.PositiveIntegerField(blank=True, null=True) + +#test +pre_save.connect(pre_save_handler, sender=PlaceExposition) post_save.connect(post_save_handler, sender=PlaceExposition) \ No newline at end of file diff --git a/proj/admin.py b/proj/admin.py index ca4d41ae..3dfed6e6 100644 --- a/proj/admin.py +++ b/proj/admin.py @@ -58,8 +58,7 @@ def ajax_post_file(request, obj_id=None): #initial model object obj = Model.objects.get(id=obj_id) file = file_form.save(request.FILES, obj) - #data = serializers.serialize('json', [file]) - #return HttpResponse(data) + files = FileModel.objects.filter(content_type=ContentType.objects.get_for_model(obj),object_id=getattr(obj, 'id')) else: file_form.save(request.FILES) @@ -73,6 +72,31 @@ def ajax_post_file(request, obj_id=None): args['file_form'] = file_form return render_to_response('ajax_error_form.html', args) +from file.forms import PhotoForm +from file.models import Photo + +def ajax_post_photo(request, obj_id=None): + if request.POST: + photo_form = PhotoForm(request.POST, request.FILES) + if photo_form.is_valid(): + + if obj_id != None: + Model = get_model(request.POST['model'].split('.')[0], request.POST['model'].split('.')[1]) + obj = Model.objects.get(id=obj_id) + photo = photo_form.save(request.FILES, obj) + photos = Photo.objects.filter(content_type=ContentType.objects.get_for_model(obj),object_id=getattr(obj, 'id')) + else: + photo_form.save(request.FILES) + photos = TmpFile.objects.filter(key=request.POST['key'], purpose='photo') + #return HttpResponse('123') + return render_to_response('photo_list.html', {'photos': photos}) + + args = {} + + args['languages'] = settings.LANGUAGES + args['file_form'] = photo_form + return render_to_response('ajax_error_form.html', args) + from exposition.models import Exposition, TimeTable, TmpTimeTable from exposition.forms import TimeTableForm import json, datetime diff --git a/proj/admin_urls.py b/proj/admin_urls.py index f5c31c36..997f0d76 100644 --- a/proj/admin_urls.py +++ b/proj/admin_urls.py @@ -4,18 +4,12 @@ from functions import required from django.contrib.admin.views.decorators import staff_member_required -from import_xls.admin import ExportEvent, ExportOrganiser + urlpatterns = required( staff_member_required, patterns('', url(r'^$', 'proj.admin.admin_home'), url(r'^', include('import_xls.admin_urls')), - - #url(r'^import-event/$', 'import_xls.views.import_event'), - #url(r'^export-event/$', ExportEvent.as_view()), - #url(r'^export-organiser/$', ExportOrganiser.as_view()), - #url(r'^import-theme/$', ImportTheme.as_view()), - #url(r'^import-tag/$', 'import_xls.views.import_tag'), url(r'^accounts/', include('accounts.admin_urls')), url(r'^article/', include('article.admin_urls')), url(r'^city/', include('city.admin_urls')), @@ -27,17 +21,20 @@ urlpatterns = required( url(r'^organiser/', include('organiser.admin_urls')), url(r'^place_conference/', include('place_conference.admin_urls')), url(r'^place_exposition/', include('place_exposition.admin_urls')), + url(r'^photoreport/', include('photoreport.admin_urls')), url(r'^seminar/', include('seminar.admin_urls')), url(r'^service/', include('service.admin_urls')), url(r'^theme/', include('theme.admin_urls')), url(r'^translator/', include('translator.admin_urls')), url(r'^webinar/', include('webinar.admin_urls')), - url(r'^settings/$', include('settings.admin_urls')), + url(r'^settings/', include('settings.admin_urls')), url(r'^language/add/', 'directories.admin.language_add'), url(r'^currency/add/', 'directories.admin.currency_add'), # ajax requests url(r'^ajax_post_file/(?P\d+)/$', 'proj.admin.ajax_post_file'),#must be before /ajax_post_file/ url(r'^ajax_post_file/', 'proj.admin.ajax_post_file'), + url(r'^ajax_post_photo/(?P\d+)/$', 'proj.admin.ajax_post_photo'),#must be before /ajax_post_photo/ + url(r'^ajax_post_photo/', 'proj.admin.ajax_post_photo'), url(r'^ajax_post_timetable/(?P\d+)/$', 'proj.admin.ajax_post_timetable'),#must be before /ajax_post_timetable/ url(r'^ajax_post_timetable/', 'proj.admin.ajax_post_timetable'), url(r'^ajax_delete_timetable/', 'proj.admin.ajax_delete_timetable'), diff --git a/proj/settings.py b/proj/settings.py index a85e1a81..ada9788d 100644 --- a/proj/settings.py +++ b/proj/settings.py @@ -19,7 +19,7 @@ MANAGERS = ADMINS DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': 'expomap_test', # Or path to database file if using sqlite3. + 'NAME': 'test', # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': 'root', 'PASSWORD': 'qazedc', @@ -151,8 +151,13 @@ TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.static", "django.core.context_processors.tz", "django.contrib.messages.context_processors.messages", + "django.core.context_processors.request", + 'social.apps.django_app.context_processors.backends', + 'social.apps.django_app.context_processors.login_redirect', + 'django_messages.context_processors.inbox', "settings.settings.expo_context" ) +#LOGIN_REDIRECT_URL = '/' MIDDLEWARE_CLASSES = ( # 'django.middleware.cache.UpdateCacheMiddleware', @@ -162,6 +167,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', + 'social.apps.django_app.middleware.SocialAuthExceptionMiddleware', # 'django.middleware.cache.FetchFromCacheMiddleware', # Uncomment the next line for simple clickjacking protection: # 'django.middleware.clickjacking.XFrameOptionsMiddleware', @@ -193,6 +199,7 @@ TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates/admin/organiser'), os.path.join(SITE_ROOT, 'templates/admin/place_conference'), os.path.join(SITE_ROOT, 'templates/admin/place_exposition'), + os.path.join(SITE_ROOT, 'templates/admin/photoreport'), os.path.join(SITE_ROOT, 'templates/admin/settings'), os.path.join(SITE_ROOT, 'templates/admin/seminar'), os.path.join(SITE_ROOT, 'templates/admin/service'), @@ -201,6 +208,8 @@ TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates/admin/webinar'), os.path.join(SITE_ROOT, 'templates/client'), + os.path.join(SITE_ROOT, 'templates/client/exposition'), + os.path.join(SITE_ROOT, 'templates/client/photoreport'), os.path.join(SITE_ROOT, 'templates/client/includes'), #os.path.join(SITE_ROOT, 'templates/client/popups'), ) @@ -218,14 +227,63 @@ EMAIL_PORT = 587 DEFAULT_FROM_EMAIL = 'kotzillla@gmail.com' -#AUTHENTICATION_BACKENDS = ( -# 'django.contrib.auth.backends.ModelBackend', -# 'accounts.models.MyUserAuthBackend', -#) +AUTHENTICATION_BACKENDS = ( + 'social.backends.vk.VKOAuth2', + 'social.backends.facebook.FacebookOAuth2', + 'social.backends.twitter.TwitterOAuth', + 'social.backends.google.GoogleOAuth', + 'social.backends.linkedin.LinkedinOAuth', + 'social.backends.odnoklassniki.OdnoklassnikiOAuth2', + 'social.backends.mailru.MailruOAuth2', + 'django.contrib.auth.backends.ModelBackend', +) + +SOCIAL_AUTH_LOGIN_URL = '/' +SOCIAL_AUTH_USER_MODEL = 'accounts.User' +#SOCIAL_AUTH_UID_LENGTH = +#SOCIAL_AUTH_NONCE_SERVER_URL_LENGTH = +#SOCIAL_AUTH_ASSOCIATION_SERVER_URL_LENGTH = +#SOCIAL_AUTH_FORCE_EMAIL_VALIDATION = True + +SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL = True +#SOCIAL_AUTH_STORAGE = 'social.apps.django_app.me.models.DjangoStorage' + +SOCIAL_AUTH_PIPELINE = ( + 'social.pipeline.social_auth.social_details', + 'social.pipeline.social_auth.social_uid', + 'functions.pipeline.load_user', + 'social.pipeline.social_auth.auth_allowed', + 'social.pipeline.social_auth.social_user', + 'social.pipeline.user.get_username', + 'functions.pipeline.create_user', + #'social.pipeline.user.create_user', + 'social.pipeline.social_auth.associate_user', + 'social.pipeline.social_auth.load_extra_data', + 'social.pipeline.user.user_details' + +) + +SOCIAL_AUTH_VK_OAUTH2_KEY = '3393841' +SOCIAL_AUTH_VK_OAUTH2_SECRET = '2P19EBUEpLZifaabbREv' + +SOCIAL_AUTH_FACEBOOK_KEY = '133775720059470' +SOCIAL_AUTH_FACEBOOK_SECRET = '434edf89c24a290497646a739df656c6' + +SOCIAL_AUTH_TWITTER_KEY = 'S6NX33FazTcWuqnXQhlOdg' +SOCIAL_AUTH_TWITTER_SECRET = 'MxUGfySQmLI5kvqSoAtWsGje2eAHQL7Jo8mXuIZ4D0' + +SOCIAL_AUTH_GOOGLE_OAUTH_KEY = '1044044901114.apps.googleusercontent.com' +SOCIAL_AUTH_GOOGLE_OAUTH_SECRET = 'j_McErlPPof88eNrmOXI-ZXI' + +SOCIAL_AUTH_MAILRU_OAUTH2_KEY = '697945' +SOCIAL_AUTH_MAILRU_OAUTH2_SECRET = '343581b9e31961b334532cc1880066e8' + +SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_KEY = 'CBAQDCKIABABABABA' +SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_SECRET = '814CDDCD3E2D2F278EF1591B' +SOCIAL_AUTH_ODNOKLASSNIKI_OAUTH2_PUBLIC_NAME = '128007936' -#PASSWORD_HASHERS = ( -#'django.contrib.auth.hashers.MD5PasswordHasher', # Insecure Hashes -#) +SOCIAL_AUTH_LINKEDIN_KEY = 'jt9xwquj1fkd' +SOCIAL_AUTH_LINKEDIN_SECRET = 'GvM2xQCNADaBfiMy' @@ -253,6 +311,7 @@ INSTALLED_APPS = ( 'organiser', 'place_conference', 'place_exposition', + 'photoreport', 'registration', 'review', 'seminar', @@ -266,9 +325,11 @@ INSTALLED_APPS = ( 'hvad', 'tinymce', 'ckeditor', + 'django_messages', 'bitfield', - 'social_auth', - 'south', + #'social_auth', + 'social.apps.django_app.default', + #'south', #'debug_toolbar', ) diff --git a/proj/urls.py b/proj/urls.py index d9acbe36..28c5216c 100644 --- a/proj/urls.py +++ b/proj/urls.py @@ -1,32 +1,42 @@ # -*- coding: utf-8 -*- from django.conf.urls import patterns, include, url - +from views import AdvertisingView from core.views import PlaceListView +from views import MainPageView urlpatterns = patterns('', - url(r'^$', 'proj.views.home', name='home'), + url(r'^$', MainPageView.as_view()),#'proj.views.home', name='home'), url(r'^', include('exposition.urls')), url(r'^', include('conference.urls')), url(r'^', include('seminar.urls')), url(r'^', include('webinar.urls')), url(r'^', include('company.urls')), + url(r'^', include('photoreport.urls')), + url(r'^', include('accounts.urls')), + url(r'^', include('file.urls')), + url(r'^', include('django_messages.expomap_urls')), + url(r'^messages/', include('django_messages.urls')), + + url(r'^advertising/$', AdvertisingView.as_view()), url(r'^places/(?P.*)/(?P\d+)/$', PlaceListView.as_view()), url(r'^places/(?P\d+)/$', PlaceListView.as_view()), url(r'^places/(?P.*)/$', PlaceListView.as_view()), url(r'^places/$', PlaceListView.as_view()), - + url(r'^social/', include('social.apps.django_app.urls', namespace='social')), url(r'^login/', 'registration.backends.default.views.LoginView'), url(r'^logout/', 'registration.backends.default.views.LogoutView'), - url(r'^profile/$', 'accounts.views.profile'), + #url(r'^profile/$', 'accounts.views.profile'), url(r'^accounts/', include('registration.backends.default.urls')), #url(r'^places/$', 'place_exposition.views.catalog'), #url(r'^places/(?P.*)/(?Pphoto)', 'place_exposition.views.place'), #url(r'^places/(?P.*)', 'place_exposition.views.place'), #url(r'^company/(?P.*)', 'core.views.company'), - (r'^i18n/', include('django.conf.urls.i18n')), + url(r'^i18n/', include('django.conf.urls.i18n')), + #url(r'^social/', include('social_auth.urls')), + # admin part url(r'^search/', include('haystack.urls')), diff --git a/proj/views.py b/proj/views.py index ed36bf8d..f5ced3b9 100644 --- a/proj/views.py +++ b/proj/views.py @@ -2,21 +2,52 @@ from django.core.context_processors import csrf from django.shortcuts import render_to_response from django.template import RequestContext - from exposition.models import Exposition +from theme.models import Theme +from news.models import News +from article.models import Article +from django.views.generic import TemplateView + + +class MainPageView(TemplateView): + template_name = 'index.html' + + def get_context_data(self, **kwargs): + context = super(MainPageView, self).get_context_data(**kwargs) + events = Exposition.objects.all().order_by('-main_page')[:5] + exposition_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.exposition)[:6] + conference_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.conference)[:6] + seminar_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.seminar)[:6] + news_list = News.objects.order_by('-main_page').all()[:3] + articles = Article.objects.order_by('-main_page').all()[:2] + + args = {'events': events, 'exposition_themes': exposition_themes, + 'conference_themes': conference_themes, 'seminar_themes': seminar_themes, + 'news_list': news_list, 'articles': articles} + + context.update(args) + return context + + def home(request): #reg_form = RegistrationFormUniqueEmail() #login_form = LoginForm() #args = {'reg_form': reg_form, 'login_form': login_form} - events = Exposition.objects.all()[:3] - args = {'events': events} + events = Exposition.objects.all().order_by('-main_page')[:5] + exposition_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.exposition)[:6] + conference_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.conference)[:6] + seminar_themes = Theme.objects.order_by('-main_page').filter(types=Theme.types.seminar)[:6] + news_list = News.objects.order_by('-main_page').all()[:3] + articles = Article.objects.order_by('-main_page').all()[:2] + args = {'events': events, 'exposition_themes': exposition_themes, + 'conference_themes': conference_themes, 'seminar_themes': seminar_themes, + 'news_list': news_list, 'articles': articles} args.update(csrf(request)) return render_to_response('index.html', args, context_instance=RequestContext(request)) from django.views.generic import View, ListView, DetailView from django.http import HttpResponse -from exposition.models import Exposition from country.models import Country from functions.views_help import split_params from functions.custom_views import ExpoListView @@ -25,3 +56,9 @@ from functions.custom_views import ExpoListView class Test(ExpoListView): model = Exposition + +from django.views.generic import TemplateView + +class AdvertisingView(TemplateView): + template_name = 'advertising.html' + diff --git a/seminar/admin.py b/seminar/admin.py index 818c0677..27ee6a60 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -185,8 +185,9 @@ def seminar_change(request, url): data['descriptions_%s' % code] = obj.descriptions #initial form form = SeminarChangeForm(initial=data) + form.fields['city'].widget.attrs['data-init-text'] = seminar.city.name #set choices filled by ajax - form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] + #form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=data['country'])] form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.filter(theme__in=data['theme'])] #get existing statistic statistic = Statistic.objects.filter(seminar=getattr(seminar, 'id')) diff --git a/seminar/models.py b/seminar/models.py index 46869094..f03fc11c 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -89,7 +89,8 @@ class Seminar(TranslatableModel, EventMixin): created = models.DateTimeField(auto_now_add=True) modified = models.DateTimeField(auto_now=True) - views = models.PositiveIntegerField(null=True) + main_page = models.PositiveIntegerField(default=0, db_index=True) + views = models.PositiveIntegerField(default=0) def __unicode__(self): return self.lazy_translation_getter('name', unicode(self.pk)) diff --git a/service/admin.py b/service/admin.py index b0284144..08632403 100644 --- a/service/admin.py +++ b/service/admin.py @@ -73,7 +73,7 @@ def service_change(request, url): args = {} args.update(csrf(request)) - args['form'] = form + #args['form'] = form args['languages'] = settings.LANGUAGES args['service_id'] = service_id return render_to_response('service_add.html', args) @@ -89,21 +89,23 @@ def service_add(request): else: form = ServiceForm() + args = {} args.update(csrf(request)) - args['form'] = form + #args['form'] = form args['languages'] = settings.LANGUAGES return render_to_response('service_add.html', args) - +""" def get_country(request): if request.GET: - country_region = request.GET['region'] - countries = Country.objects.filter(region=country_region) + #country_region = request.GET['region'] + #countries = Country.objects.filter(region=country_region) return render_to_response('checkbox_option.html', {'options': countries}) else: return HttpResponse('error') +""" def get_city(request): if request.GET: diff --git a/service/admin_urls.py b/service/admin_urls.py index f7837533..46e0b347 100644 --- a/service/admin_urls.py +++ b/service/admin_urls.py @@ -8,6 +8,6 @@ urlpatterns = patterns('service.admin', url(r'^all/$', 'service_all'), #ajax url(r'^get_city/$', 'get_city'), - url(r'^get_country/$', 'get_country'), + #url(r'^get_country/$', 'get_country'), ) diff --git a/service/forms.py b/service/forms.py index 11c6355a..b7877773 100644 --- a/service/forms.py +++ b/service/forms.py @@ -13,14 +13,14 @@ from functions.form_check import translit_with_separator class ServiceForm(forms.Form): - europa = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='europa'), required=False, - widget=forms.CheckboxSelectMultiple()) - asia = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='asia'), required=False, - widget=forms.CheckboxSelectMultiple()) - america = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='america'),required=False, - widget=forms.CheckboxSelectMultiple()) - africa = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='africa'),required=False, - widget=forms.CheckboxSelectMultiple()) + #europa = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='europa'), required=False, + # widget=forms.CheckboxSelectMultiple()) + #asia = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='asia'), required=False, + # widget=forms.CheckboxSelectMultiple()) + #america = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='america'),required=False, + # widget=forms.CheckboxSelectMultiple()) + #africa = forms.ModelMultipleChoiceField(queryset=Country.objects.filter(region='africa'),required=False, + # widget=forms.CheckboxSelectMultiple()) city = forms.MultipleChoiceField(required=False, choices="") diff --git a/service/models.py b/service/models.py index 6aa256b2..82928999 100644 --- a/service/models.py +++ b/service/models.py @@ -20,6 +20,8 @@ class Service(TranslatableModel): keywords = models.CharField(max_length=255, blank=True), ) + main_page = models.PositiveIntegerField(default=0, db_index=True) + def __unicode__(self): return self.lazy_translation_getter('name', self.pk) diff --git a/settings/admin.py b/settings/admin.py index e51c0a1f..f413e85b 100644 --- a/settings/admin.py +++ b/settings/admin.py @@ -17,4 +17,63 @@ def change_settings(request): form = SettingsForm() args = {'form': form, 'languages': settings.LANGUAGES} args.update(csrf(request)) - return render_to_response('settings.html', args) \ No newline at end of file + return render_to_response('settings.html', args) + +from forms import MainPageEvent, MainPagePhotoreport, MainPageArticle, MainPageNews, MainPageThemes + + + +def handle_form(request, Form): + if request.POST: + form = Form(request.POST) + if form.is_valid(): + form.save() + return HttpResponseRedirect('/admin/settings/main-page/') + else: + + return HttpResponseRedirect('/admin/settings/main-page/') + + return HttpResponseRedirect('/admin/settings/main-page/') + +def handle_events(request): + return handle_form(request, MainPageEvent) + +def handle_news(request): + return handle_form(request, MainPageNews) + +def handle_articles(request): + return handle_form(request, MainPageArticle) + +def handle_themes(request): + return handle_form(request, MainPageThemes) + +def handle_photoreports(request): + return handle_form(request, MainPagePhotoreport) + + +from exposition.models import Exposition +from conference.models import Conference +from seminar.models import Seminar +from webinar.models import Webinar +from theme.models import Theme +import datetime + +def main_page(request): + now = datetime.datetime.now() + expositions = Exposition.objects.filter(main_page__gt=0, data_begin__gte=now) + conferences = Conference.objects.filter(main_page__gt=0, data_begin__gte=now) + seminars = Seminar.objects.filter(main_page__gt=0, data_begin__gte=now) + webinars = Webinar.objects.filter(main_page__gt=0, data_begin__gte=now) + events = {'expositions':expositions, 'conferences': conferences, + 'seminars':seminars, 'webinars': webinars} + + exposition_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.exposition) + confrence_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.conference) + seminar_themes = Theme.objects.filter(main_page__gt=0, types=Theme.types.seminar) + + themes = {'exposition_themes': exposition_themes, 'conference_themes': confrence_themes, + 'seminar_themes':seminar_themes} + args = {'event_form':MainPageEvent(initial=events), 'theme_form':MainPageThemes(initial=themes), 'article_form':MainPageArticle(), + 'news_form':MainPageNews(), 'photoreport_form':MainPagePhotoreport(),} + args.update(csrf(request)) + return render_to_response('admin/settings/main_page.html', args) \ No newline at end of file diff --git a/settings/admin_urls.py b/settings/admin_urls.py index 743f686f..e857b268 100644 --- a/settings/admin_urls.py +++ b/settings/admin_urls.py @@ -2,5 +2,11 @@ from django.conf.urls import patterns, include, url urlpatterns = patterns('settings.admin', + url(r'^main-page/$', 'main_page'), + url(r'^main-page/events/$', 'handle_events'), + url(r'^main-page/photoreports/$', 'handle_photoreports'), + url(r'^main-page/themes/$', 'handle_themes'), + url(r'^main-page/news/$', 'handle_news'), + url(r'^main-page/articles/$', 'handle_articles'), url(r'^$', 'change_settings'), ) diff --git a/settings/forms.py b/settings/forms.py index 2014c5fe..cdff1b1f 100644 --- a/settings/forms.py +++ b/settings/forms.py @@ -63,4 +63,103 @@ class SettingsForm(forms.Form): data = self.cleaned_data capacity_tmpl = Setting.objects.get(key='hall_template') for code, name in settings.LANGUAGES: - capacity_tmpl.set_value(data['hall_capacity_tmpl_%s'%code], code) \ No newline at end of file + capacity_tmpl.set_value(data['hall_capacity_tmpl_%s'%code], code) + + +from exposition.models import Exposition +from conference.models import Conference +from seminar.models import Seminar +from webinar.models import Webinar +from photoreport.models import Photoreport +from news.models import News +from theme.models import Theme +from article.models import Article + +import datetime + +class MainPageEvent(forms.Form): + def __init__(self, *args, **kwargs): + super(MainPageEvent, self).__init__(*args, **kwargs) + now = datetime.datetime.now + self.fields['expositions' ] = forms.ModelMultipleChoiceField( + queryset=Exposition.objects.filter(data_begin__gte=now), + required=False + ) + + self.fields['conferences' ] = forms.ModelMultipleChoiceField( + queryset=Conference.objects.filter(data_begin__gte=now), + required=False + ) + self.fields['seminars' ] = forms.ModelMultipleChoiceField( + queryset=Seminar.objects.filter(data_begin__gte=now), + required=False + ) + self.fields['webinars' ] = forms.ModelMultipleChoiceField( + queryset=Webinar.objects.filter(data_begin__gte=now), + required=False + ) + def save(self): + data = self.cleaned_data + expositions = data['expositions'] + conferences = data['conferences'] + seminars = data['seminars'] + webinars = data['webinars'] + Exposition.objects.all().update(main_page=0) + expositions.update(main_page=1) + Conference.objects.all().update(main_page=0) + conferences.update(main_page=1) + Seminar.objects.all().update(main_page=0) + seminars.update(main_page=1) + Webinar.objects.all().update(main_page=0) + webinars.update(main_page=1) + +class MainPageThemes(forms.Form): + exposition_themes = forms.ModelMultipleChoiceField(queryset=Theme.objects.filter(types=Theme.types.exposition), + required=False) + conference_themes = forms.ModelMultipleChoiceField(queryset=Theme.objects.filter(types=Theme.types.conference), + required=False) + seminar_themes = forms.ModelMultipleChoiceField(queryset=Theme.objects.filter(types=Theme.types.seminar), + required=False) + + def save(self): + data = self.cleaned_data + exposition_themes = data['exposition_themes'] + conference_themes = data['conference_themes'] + seminar_themes = data['seminar_themes'] + Theme.objects.filter(types=Theme.types.exposition).update(main_page=0) + Theme.objects.filter(types=Theme.types.conference).update(main_page=0) + Theme.objects.filter(types=Theme.types.seminar).update(main_page=0) + exposition_themes.update(main_page=1) + conference_themes.update(main_page=1) + seminar_themes.update(main_page=1) + + + + +class MainPagePhotoreport(forms.Form): + photoreports = forms.ModelMultipleChoiceField(queryset=Photoreport.objects.all()) + + def save(self): + data = self.cleaned_data + photoreports = data['photoreports'] + photoreports.update(main_page=1) + + +class MainPageNews(forms.Form): + news = forms.ModelMultipleChoiceField(queryset=News.objects.all()) + + def save(self): + data = self.cleaned_data + news = data['news'] + news.update(main_page=1) + + +class MainPageArticle(forms.Form): + article = forms.ModelMultipleChoiceField(queryset=Article.objects.all()) + + def save(self): + data = self.cleaned_data + articles = data['articles'] + articles.update(main_page=1) + def save(self): + pass \ No newline at end of file diff --git a/settings/models.py b/settings/models.py index 1c267e4b..ec623778 100644 --- a/settings/models.py +++ b/settings/models.py @@ -54,11 +54,11 @@ class Setting(TranslatableModel): # dictionaty of models settings # every model have list of settings # key: setting in db, field_name: field in model -settings_dict = dict(City=[{'key': 'city_title', 'field_name': 'title', 'type': 'transl', 'verbose_name': 'title Городов'}, - {'key': 'city_keywords', 'field_name': 'keywords', 'type': 'transl', 'verbose_name': 'keywords'}, - {'key': 'city_descriptions', 'field_name': 'descriptions', 'type': 'transl', 'verbose_name': 'description'}], - Exposition=[{'key': 'exposition_title', 'field_name': 'title', 'type': 'transl', 'verbose_name': 'title Выставок'}, - {'key': 'exposition_keywords', 'field_name': 'keywords', 'type': 'transl', 'verbose_name': 'keywords Выставок'}], +settings_dict = dict(#City=[{'key': 'city_title', 'field_name': 'title', 'type': 'transl', 'verbose_name': 'title Городов'}, + # {'key': 'city_keywords', 'field_name': 'keywords', 'type': 'transl', 'verbose_name': 'keywords'}, + # {'key': 'city_descriptions', 'field_name': 'descriptions', 'type': 'transl', 'verbose_name': 'description'}], + #Exposition=[{'key': 'exposition_title', 'field_name': 'title', 'type': 'transl', 'verbose_name': 'title Выставок'}, + # {'key': 'exposition_keywords', 'field_name': 'keywords', 'type': 'transl', 'verbose_name': 'keywords Выставок'}], # Country=[{'key': 'country_title', 'field_name': 'title', 'type': 'transl', 'verbose_name': 'title'}, # {'key': 'country_keywords', 'field_name': 'keywords', 'type': 'transl', 'verbose_name': 'keywords'}, # {'key': 'country_descriptions', 'field_name': 'descriptions', 'type': 'transl', 'verbose_name': 'description'}] diff --git a/settings/templatetags/template_filters.py b/settings/templatetags/template_filters.py index a1f73144..b2b104ed 100644 --- a/settings/templatetags/template_filters.py +++ b/settings/templatetags/template_filters.py @@ -1,5 +1,6 @@ from django import template import phonenumbers +import datetime register = template.Library() @@ -33,13 +34,14 @@ from conference.models import Conference from seminar.models import Seminar from webinar.models import Webinar from company.models import Company +from photoreport.models import Photoreport @register.filter def generate_url(value, arg=None): models = {Exposition:'expositions', Conference: 'conferences', Seminar: 'seminars', Webinar: 'webinars', - 'places': 'places', Company: 'members'} + 'places': 'places', Company: 'members', Photoreport: 'photoreports'} result = [] @@ -53,4 +55,41 @@ def generate_url(value, arg=None): if item.get('type') == arg: return '/'.join(result) - return '/'.join(result) \ No newline at end of file + return '/'.join(result) + +@register.filter +def get_range(value): + return range(value) + +@register.filter +def duration(event, month=None): + if month: + return event.duration_days(int(month)) + else: + return event.duration_days() + +@register.filter +def in_event(event, day): + beg = event.data_begin + end = event.data_end + beg = datetime.date(beg.year, beg.month, beg.day) + end = datetime.date(end.year, end.month, end.day) + day = datetime.date(day.year, day.month, day.day) + + if day >= beg and day <= end: + return True + return False + +from dateutil.relativedelta import relativedelta + +@register.filter +def add_month(date, month=1): + return date + relativedelta(months=int(month)) + +@register.filter +def in_calendar(event, user): + calendar = user.calendar + + if event in calendar.get_events(): + return True + return False \ No newline at end of file diff --git a/static/client/css/main.css b/static/client/css/main.css index 2e712a16..4909304a 100644 --- a/static/client/css/main.css +++ b/static/client/css/main.css @@ -146,6 +146,28 @@ textarea { } +@font-face { + font-family: 'pt_sans'; + src: url('../fonts/pts75f-webfont.eot'); + src: url('../fonts/pts75f-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/pts75f-webfont.woff') format('woff'), + url('../fonts/pts75f-webfont.ttf') format('truetype'); + font-weight: bold; + font-style: normal; + +} + +@font-face { + font-family: 'pt_sans'; + src: url('../fonts/pts55f-webfont.eot'); + src: url('../fonts/pts55f-webfont.eot?#iefix') format('embedded-opentype'), + url('../fonts/pts55f-webfont.woff') format('woff'), + url('../fonts/pts55f-webfont.ttf') format('truetype'); + font-weight: normal; + font-style: normal; + +} + /* ========================================================================== @@ -224,6 +246,27 @@ hr { clear: both; } +.e-details .item-wrap.event + hr { + margin-top: 5px; +} + + +.rub { + font-style: normal; + text-decoration: none; +} + +.rub:before { + content: '\20CF'; + font-family: "pt_sans", sans-serif; +} + +.rub i { + display: none; +} + + + .page-wrap { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; @@ -1345,7 +1388,8 @@ aside nav + hr { .button, -.pgc-buttons button { +.pgc-buttons button, +.e-form button { display: inline-block; vertical-align: middle; height: 26px; @@ -1373,12 +1417,21 @@ aside nav + hr { transition: background .3s, color .3s; } -.button.lc { +.lc { text-transform: none; +} + +.button.lc { font-weight: normal; line-height: 18px; } +.e-form button, +.e-form .button { + color: #ffffff; + text-shadow: 0 1px 0 rgba(0, 0, 0, .3); +} + @-moz-document url-prefix() { .button.lc { @@ -1388,7 +1441,8 @@ aside nav + hr { .button:hover, -.pgc-buttons button:hover { +.pgc-buttons button:hover, +.e-form button:hover { border-color: #ff6600; background: #ff6600; color: #fff; @@ -1398,6 +1452,13 @@ aside nav + hr { box-shadow: inset 0 1px 0 rgba(0, 0, 0, .1); } +.e-form button:hover, +.e-form .button:hover, +.e-form .input-file:hover .button { + background: #ff8000; + border-color: #ffffff; +} + .button.blue { border-color: #90c7e0; color: #2592c5; @@ -1451,6 +1512,32 @@ aside nav + hr { color: #fff; } +.button.orange { + border-color: #ff6600; + text-shadow: 0 1px 0 rgba(0, 0, 0, .3); + color: #fff; + background: #ff6600; + background: -moz-linear-gradient(top, #ff8000 0%, #ff6600 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff8000), color-stop(100%,#ff6600)); + background: -webkit-linear-gradient(top, #ff8000 0%,#ff6600 100%); + background: -o-linear-gradient(top, #ff8000 0%,#ff6600 100%); + background: -ms-linear-gradient(top, #ff8000 0%,#ff6600 100%); + background: linear-gradient(to bottom, #ff8000 0%,#ff6600 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff8000', endColorstr='#ff6600',GradientType=0 ); +} + +.button.orange:hover { + text-shadow: 0 1px 0 rgba(0, 0, 0, .3); + background: #ff8000; + background: -moz-linear-gradient(top, #fe9150 0%, #ff8000 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fe9150), color-stop(100%,#ff8000)); + background: -webkit-linear-gradient(top, #fe9150 0%,#ff8000 100%); + background: -o-linear-gradient(top, #fe9150 0%,#ff8000 100%); + background: -ms-linear-gradient(top, #fe9150 0%,#ff8000 100%); + background: linear-gradient(to bottom, #fe9150 0%,#ff8000 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fe9150', endColorstr='#ff8000',GradientType=0 ); +} + .button.more { height: 29px; font-size: 17px; @@ -1468,6 +1555,16 @@ aside nav + hr { margin: 1px 0 0 10px; } +.button.b-more:after { + content: ''; + display: inline-block; + vertical-align: middle; + width: 8px; + height: 12px; + background: url(../img/sprites.png) -175px 0 no-repeat; + margin: -1px -5px 0 8px; +} + .button.blue.more:after { background-position: -165px -14px; } @@ -1494,6 +1591,34 @@ aside nav + hr { background-position: -60px -16px; } +.button.icon-calendar-o:before { + width: 13px; + background-position: -183px -145px; +} +.button.icon-calendar-o:hover:before { + background-position: -197px -145px; + } + +.button.icon-save:before { + width: 12px; + height: 13px; + background-position: -155px -145px; + margin-top: -1px; +} +.button.icon-save:hover:before { + background-position: -155px -159px; +} + +.button.icon-print:before { + width: 13px; + height: 13px; + background-position: -169px -145px; + margin-top: -2px; +} +.button.icon-print:hover:before { + background-position: -169px -159px; +} + .button.icon-note:before { width: 10px; height: 14px; @@ -1518,7 +1643,8 @@ aside nav + hr { height: 13px; background-position: -277px 0; } -.button.icon-edit:hover:before { +.button.icon-edit:hover:before, +.button.orange:before { background-position: -277px -15px; } @@ -1638,8 +1764,20 @@ aside nav + hr { background-position: -250px 0; } +.button.icon-clip:before { + width: 14px; + height: 16px; + background-position: -225px -147px; + margin-bottom: -1px; +} +.button.icon-clip:hover:before, +.e-form .button.icon-clip:before { + background-position: -240px -147px; +} + -button { +button, +.button.big { border: none; outline: none; height: 36px; @@ -1668,6 +1806,13 @@ button { box-sizing: border-box; } +.button.big { + height: 41px; + font-size: 17px; + line-height: 40px; +} + +.button.orange:hover, button:hover { background: #ff8000; background: -moz-linear-gradient(top, #fe9150 0%, #ff8000 100%); @@ -3261,14 +3406,13 @@ label.check input { .custom-select { position: relative; - display: inline-block; - vertical-align: middle; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + display: block; text-align: left; line-height: 18px; height: 40px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } .pw-form .custom-select { @@ -3276,17 +3420,26 @@ label.check input { height: 40px; } +.e-form .custom-select { + width: 200px; + height: 26px; +} + .custom-select select { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; + position: relative; width: 100%; - min-width: 100%; + padding-right: 30px; height: 40px; - position: relative; - opacity: 0; filter: alpha(opacity=0); + opacity: 0; z-index: 0; cursor: pointer; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.lt-ie9 .custom-select select { + filter: alpha(opacity=0); } .custom-select select[disabled] { @@ -3323,6 +3476,12 @@ label.check input { height: 40px; } +.e-form .custom-select .custom-select-wrap { + line-height: 26px; + height: 26px; + padding-left: 7px; +} + .custom-select .custom-select-wrap:after { content: " "; @@ -3337,6 +3496,10 @@ label.check input { margin-top: -3px; } +.e-form .custom-select .custom-select-wrap:after { + margin-top: -2px; +} + .custom-select .custom-select-text { display: block; width: 100%; @@ -3350,6 +3513,10 @@ label.check input { line-height: 39px; } +.e-form .custom-select .custom-select-text { + line-height: 25px; +} + /*.custom-select select:hover + .custom-select-wrap { border-color: #58d357; }*/ @@ -3365,11 +3532,12 @@ label.check input { .custom-select .cs-menu-wrap { position: absolute; + min-width: 100%; left: 0; - right: 0; top: 100%; margin-top: -1px; background: #fff; + white-space: nowrap; z-index: 50; padding: 5px; border: 1px solid #ccc; @@ -3408,6 +3576,60 @@ label.check input { color: #ff6600; } + +.input-file { + display: inline-block; + position: relative; +} + +.e-form .input-file { + display: block; + color: #ffffff; + cursor: pointer +} + +.e-form .input-file .button { + float: left; + margin-right: 10px; +} + +.input-file .file-text { + display: block; + overflow: hidden; + height: 26px; + line-height: 26px; + text-overflow: ellipsis; + font-size: 15px; + white-space: nowrap; +} + +.input-file .if-field-wrap { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + overflow: hidden; +} + +.input-file .if-field-wrap input[type=file] { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + letter-spacing: 10em; /* IE 9 fix */ + -ms-transform: scale(20); /* IE 9 fix */ + transform: scale(20); + font-size: 200em; + opacity: 0; + cursor: pointer +} + +.lt-ie9 .input-file .if-field-wrap input[type=file] { + filter: alpha(opacity=0); +} + form { font-family: 'dindisplay_pro', sans-serif; } @@ -3444,10 +3666,6 @@ form.s-message { padding-left: 20px; display: none; } -.pwf-msg .msg-error { - color: #fe0238; - padding-left: 20px; -} .pwf-msg .msg-help:before { content: '—'; @@ -3509,6 +3727,11 @@ form.s-message { min-height: 40px; } +.e-form .c-select-box.select { + min-height: 26px; + padding: 0 1px; +} + .c-select-box .csb-title { padding: 0 35px 0 18px; height: 40px; @@ -3535,6 +3758,14 @@ form.s-message { padding: 2px 0; margin-bottom: 3px; min-height: 30px; + line-height: 24px; +} + +.e-form .c-select-box .csb-selected-items { + min-height: 18px; + line-height: 18px; + padding: 1px 0; + margin-bottom: 2px; } .c-select-box .csb-selected-items.show { @@ -3566,18 +3797,31 @@ form.s-message { margin-top: -3px; } +.e-form .c-select-box.select .csb-selected-items:after { + top: 15px; +} + .c-select-box .csb-selected { + position: relative; display: none; vertical-align: top; min-height: 26px; + line-height: 26px; color: #ff6600; + white-space: nowrap; margin: 0 3px 3px 0; border: 1px solid #ff6600; + padding-right: 25px; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } +.e-form .c-select-box .csb-selected { + min-height: 16px; + margin: 0 2px 1px 0; +} + .c-select-box .csb-selected.show { display: inline-block; } @@ -3588,20 +3832,27 @@ form.s-message { } .c-select-box .csb-selected .csbs-text { - padding-left: 17px; - line-height: 20px; + padding-left: 15px; + line-height: 18px; font-size: 16px; + white-space: normal; } .c-select-box .csb-selected a.csbs-del { - display: inline-block; - position: relative; - width: 28px; + display: block; + position: absolute; + right: 0; + top: 0; + width: 25px; height: 0; padding-top: 26px; overflow: hidden; } +.e-form .c-select-box .csb-selected a.csbs-del { + padding-top: 20px; +} + .c-select-box .csb-selected a.csbs-del:before { content: ' '; display: inline-block; @@ -3639,6 +3890,10 @@ form.s-message { display: none; } +.e-form .c-select-box.select .csb-menu-wrap { + margin-top: 0; +} + /*.c-select-box.select .csb-menu { border-top: 1px dotted #cdcdcd; }*/ @@ -3770,6 +4025,26 @@ form.s-message { box-sizing: border-box; } +.mCSB_horizontal.mCustomScrollBox > .mCSB_scrollTools { + left: 20px; + right: 20px; + bottom: 5px; + width: auto; + height: 20px; +} + +.mCSB_horizontal > .mCSB_scrollTools .mCSB_draggerRail { + width: 100%; + height: 12px; + background: #dbdbdb; +} + +.mCSB_horizontal > .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar { + height: 10px; + margin: 8px auto; + border-width: 2px 3px; +} + .pw-subscribe {} @@ -4164,7 +4439,7 @@ form.s-message { color: #a2a2a2; display: inline-block; margin-left: 7px; - + text-decoration: none; } .bread-crumbs b, @@ -4564,7 +4839,6 @@ form.s-message { text-align: center; background: #ffffff; margin: 3px -100% 0 -120px; - overflow: hidden; float: left; -webkit-box-shadow: inset 0 1px 0 #e8e8e7; -moz-box-shadow: inset 0 1px 0 #e8e8e7; @@ -5587,7 +5861,8 @@ form.s-message { .i-info header .i-place { float: right; font-size: 15px; - padding: 10px 0 0 15px; + padding: 13px 0 0 15px; + max-width: 235px; } .i-info header .i-place:before { @@ -5616,6 +5891,9 @@ form.s-message { line-height: 37px; color: #ff6600; margin: 0 6px 5px 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; -webkit-transition: color .3s; -moz-transition: color .3s; -ms-transition: color .3s; @@ -5778,15 +6056,20 @@ form.s-message { float: left; } +.i-info .i-contacts .ic-buttons .icb-exit-edit { + display: none; +} + .i-info .i-contacts .ic-buttons .soc-media-buttons { margin-top: 25px; } .i-info .i-contacts .ic-links { - overflow: hidden; font-family: 'dindisplay_pro', sans-serif; font-size: 15px; line-height: 20px; + width: 310px; + float: left; } .ic-tel { @@ -5931,6 +6214,14 @@ dl.add-info dd ul li { margin-bottom: 15px; } +.e-details .sect-title { + font-family: 'dindisplay_pro', sans-serif; + font-weight: 300; + font-size: 30px; + line-height: 32px; + color: #feb17d; +} + .m-article .sect-title a { color: #464646; text-decoration: none; @@ -5940,6 +6231,14 @@ dl.add-info dd ul li { color: #ff6600; } +.graph-title { + font-family: 'dindisplay_pro', sans-serif; + font-weight: 300; + font-size: 25px; + line-height: 26px; + color: #feb17d; +} + .i-staff-list { margin-bottom: 15px; @@ -7130,6 +7429,7 @@ dl.add-info dd ul li { .order-button { display: inline-block; text-decoration: none; + color: #ff6600; border: 1px solid #ff6600; height: 44px; font-family: 'dindisplay_pro', sans-serif; @@ -7139,11 +7439,13 @@ dl.add-info dd ul li { border-radius: 4px; } -.order-button span { +.order-button > span, +.order-button > a { display: inline-block; - vertical-align: middle; - padding: 0 20px; - line-height: 44px; + vertical-align: top; + padding: 2px 20px 0; + line-height: 43px; + height: 42px; } .order-button .ob-price { @@ -7153,6 +7455,7 @@ dl.add-info dd ul li { .order-button .ob-text { font-weight: bold; font-size: 17px; + text-decoration: none; text-transform: uppercase; color: #fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3); @@ -7165,8 +7468,8 @@ dl.add-info dd ul li { background: linear-gradient(to bottom, #ff8000 0%,#ff6600 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff8000', endColorstr='#ff6600',GradientType=0 ); } - -.order-button:hover .ob-text { +a.order-button:hover .ob-text, +.order-button a.ob-text:hover { background: #ff8000; background: -moz-linear-gradient(top, #fe9150 0%, #ff8000 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fe9150), color-stop(100%,#ff8000)); @@ -7187,6 +7490,10 @@ dl.add-info dd ul li { margin: -1px 0 0 7px; } +.order-button .rub { + font-size: 22px; +} + .order-descr { font-size: 13px; line-height: 15px; @@ -7403,25 +7710,7 @@ dl.add-info dd ul li { padding-bottom: 5px; } -.mf-line .mf-error{ - color: #ff083c; - font-size: 15px; - padding-right: 10px; - padding-bottom: 5px; - width: 65%; -} - -.mf-line .mf-success{ - display: none; - color: #31ff13; - font-size: 15px; - padding-right: 10px; - padding-bottom: 5px; - width: 65%; - -} - -.ch-pwd .mf-line .mf-field{ +.ch-pwd .mf-line .mf-field { width: 47%; } @@ -7604,179 +7893,1851 @@ dl.add-info dd ul li { -/* ========================================================================== - Media Queries - ========================================================================== */ +.p-editable { + position: relative; +} -@media only screen and (min-width: 1080px) { +.p-editable.pe-active { + padding-left: 24px; +} - .page-wrap { - width: 100%; - padding-right: 40px; - } +.i-pict.p-editable.pe-active { + padding-left: 0; +} - .page-wrap .layout { - padding-left: 3%; - } +.i-info header .i-place.p-editable.pe-active { + padding-left: 24px; +} - .page-wrap .layout.mp-announces .layout-wrap { - padding-right: 0; - } +.i-info header .i-place.p-editable.pe-active:before { + content: none; +} - .page-wrap .layout.mp-announces .layout-wrap aside { - margin-right: 0; - width: 33.33%; - margin-left: -100%; - } +.edit-wrap { + position: absolute; + left: 0; + top: 0; + display: none; + margin: -1px 0 0 -6px; +} - .page-wrap .layout.mp-announces .layout-wrap .mcl { - width: 66.66%; - } +.i-pict.p-editable .edit-wrap { + left: 100%; + top: 5px; + margin: 0 0 0 -30px; +} +.i-title.p-editable .edit-wrap { + margin-top: 10px; +} +.i-place.p-editable .edit-wrap { + margin-top: 10px; } -@media only screen and (min-width: 1170px) { +.i-descr.p-editable .edit-wrap, +.i-additional .p-editable .edit-wrap { + margin-top: -6px; +} - .page-wrap .layout { - padding-left: 6%; - } +.ic-buttons .p-editable .edit-wrap { + margin-top: -2px; + } - .page-wrap .layout .layout-wrap { - padding-left: 230px; - } +.ic-tel.p-editable .edit-wrap { + margin-top: 0; +} - .main-page .page-wrap .header-wrap, - .main-page .page-wrap .mp-catalog .layout-wrap, - .page-wrap > footer .layout-wrap.footer-wrap { - padding-left: 240px; - } +.p-editable.pe-active .edit-wrap { + display: block; +} - .page-wrap section.layout.search-form .layout-wrap { - padding-left: 430px; - } +.e-btn { + position: relative; + display: block; + width: 24px; + height: 0; + padding-top: 24px; + overflow: hidden; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + transition: none; +} - .page-wrap .layout .layout-wrap > aside { - width: 230px; - padding-right: 50px; - margin-left: -230px; - } +.i-pict.p-editable .e-btn { + background: #fcfcfb; + width: 25px; +} - .page-wrap > header .logo { - margin-left: -230px; - } +.e-btn:before { + content: ''; + display: block; + width: 18px; + height: 16px; + background: url(../img/sprites.png) -117px -145px no-repeat; + position: absolute; + left: 5px; + top: 4px; +} - .page-wrap > header .logo h1, - .page-wrap > header .logo h2, - .page-wrap > header .logo h3 { - margin-left: -67px; - } +.e-btn:hover { + opacity: 0.7; +} - .page-wrap .layout .layout-wrap > aside > .sbg { - left: -239px; - } +.lt-ie9 .e-btn:hover { + filter: alpha(opacity=70); +} - .mp-partners .mpp-wrap { - padding-left: 430px; - } +.i-pict.p-editable .e-btn:hover { + background: #ff6600; +} - .mp-partners .mpp-wrap header { - width: 230px; - margin-left: -230px; - } +.p-editable.pe-current .e-btn { + width: 28px; + background: #ff6600; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} - .s-phone { - margin-left: -25px; - } +.p-editable.pe-current .e-left .e-btn { + width: 28px; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} - .online-adviser { - margin-left: -40px; - } +.i-pict.p-editable .e-btn:hover, +.p-editable.pe-current .e-btn:hover { + opacity: 1; +} - .s-news-list ul li { - padding-left: 60px; - margin-left: -60px; - } +.lt-ie9 .i-pict.p-editable .e-btn:hover, +.lt-ie9 .p-editable.pe-current .e-btn:hover { + filter: alpha(opacity=100); +} - .s-news-list .nl-pict { - margin: 0 -40px 0 -60px; - } +.i-pict.p-editable .e-btn:hover:before, +.p-editable.pe-current .e-btn:before { + background-position: -136px -145px; +} - .page-wrap .layout.mp-announces .layout-wrap { - padding-left: 230px; - } +.i-pict.p-editable.pe-current .e-btn { + width: 33px; +} - .mp-photo-gallery { - margin-left: -230px; - } +.edit-wrap .e-form { + position: absolute; + left: 28px; + top: 0; + width: 600px; + z-index: 1000; + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 12px; + line-height: 15px; + text-align: left; + background: #ff6600; + padding: 9px 20px 15px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-border-radius: 0 3px 3px 3px; + -moz-border-radius: 0 3px 3px 3px; + border-radius: 0 3px 3px 3px; + display: none; +} - .mp-photo-gallery header { - padding-left: 230px; - } +.i-pict.p-editable .edit-wrap .e-form { + left: 32px; +} - .mp-photo-gallery header .pg-title { - margin-left: -230px; - } +.ic-links .edit-wrap .e-form { + width: 330px; +} - .mp-photo-gallery .pg-item .pgi-descr { - padding-left: 230px; - } +.edit-wrap.e-left .e-form { + left: auto; + right: 100%; + -webkit-border-radius: 3px 0 3px 3px; + -moz-border-radius: 3px 0 3px 3px; + border-radius: 3px 0 3px 3px; +} - .mp-photo-gallery .pg-item .pgi-descr .pgi-date { - margin-left: -190px; - } +.edit-wrap .e-form:before { + content: ''; + display: block; + width: 0; + height: 0; + border: 1px solid; + border-color: #ff6600 #ff6600 transparent transparent; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + position: absolute; + right: 100%; + top: 24px; +} +.edit-wrap.e-left .e-form:before { + border-color: #ff6600 transparent transparent #ff6600; + right: auto; + left: 100%; } -@media only screen and (min-width: 1200px) { +.p-editable.pe-active.pe-current .edit-wrap .e-form { + display: block; +} - .page-wrap .layout { - padding-left: 9%; - } +.edit-wrap .e-form .ef-body { + width: 420px; + float: left; + word-spacing: 16px; + margin-bottom: -10px; +} - .page-wrap > header .logo h1, - .page-wrap > header .logo h2, - .page-wrap > header .logo h3 { - margin-left: -67px; - } +.ic-links .edit-wrap .e-form .ef-body { + width: 150px; +} - .mp-partners .mpp-wrap ul { - margin-left: -30px; - } +.edit-wrap .e-form .epfl { + display: inline-block; + vertical-align: top; + word-spacing: normal; + min-width: 200px; + margin-bottom: 10px; +} - .mp-partners .mpp-wrap li { - margin-left: 30px; - } +.ic-links .edit-wrap .e-form .epfl { + width: 150px; + min-width: 0; +} +.i-pict .edit-wrap .e-form .epfl { + display: block; } +.edit-wrap .e-form .ef-body .epfl > label { + color: #ffffff; + display: block; + margin-bottom: 5px; +} -@media only screen and (min-width: 1260px) { +.edit-wrap .e-form .ef-body .epfl > label img { + margin: -3px 0 -2px; +} - /*.page-wrap > header .logo, - .page-wrap .layout .layout-wrap aside { - width: 21%; - } +.edit-wrap .e-form .epfl .c-select-box { + width: 200px; +} - .page-wrap .layout.mp-announces .layout-wrap .mcl { - width: 73.1%; - }*/ +.e-form select, +.e-form .custom-select select { + width: 200px; + height: 26px; +} - .header-body .header-top { - padding-right: 480px; - } +.e-form input[type="text"] { + height: 26px; + line-height: 26px; + padding: 0 7px; +} - .header-body .header-top .ht-main { - width: 100%; - } +.e-form input[type="text"]:focus { + border-width: 1px; +} - .header-body .header-top .ht-side { - width: 470px; - margin-right: -470px; - } +.i-title .e-form input[type="text"] { + width: 420px; +} - .mp-partners .mpp-wrap ul { - margin-left: -40px; +.edit-wrap .e-form textarea { + width: 420px; + height: 90px; + border-width: 1px; +} + +.edit-wrap .e-form .ef-buttons { + float: right; + padding-top: 20px; +} + +.edit-wrap .e-form .ef-close { + display: block; + width: 22px; + height: 0; + padding-top: 22px; + overflow: hidden; + position: absolute; + right: 15px; + top: 5px; +} + +.edit-wrap .e-form .ef-close:before { + content: ''; + display: block; + width: 9px; + height: 10px; + background: url(../img/sprites.png) -63px -159px no-repeat; + position: absolute; + left: 50%; + top: 50%; + margin: -5px 0 0 -4px; +} + + + +.ed-back { + margin: 20px 0; +} + +.ed-back a { + display: inline-block; + font-size: 17px; + line-height: 17px; + text-decoration: none; + border: 1px solid #fcaf7b; + padding: 5px 25px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.ed-back a:before { + content: ''; + display: inline-block; + width: 6px; + height: 11px; + background: url(../img/sprites.png) -157px 0 no-repeat; + margin-right: 8px; +} + +.ed-back a:hover { + color: #ffffff; + background: #ff6600; + border-color: #ff6600; +} + +.ed-back a:hover:before { + background-position: -115px 0; +} + + +.e-programm { + margin-bottom: 30px; +} + +.ep-sect { + margin-bottom: 30px; +} + +.ep-sect-title { + height: 12px; + border-bottom: 1px dotted #cccccc; + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 25px; + line-height: 25px; + font-weight: bold; +} + +.e-programm .ep-sect-title { + height: 14px; + font-size: 30px; + line-height: 30px; +} + +.p-calendar .ep-sect-title { + font-size: 17px; + line-height: 20px; + border: none; + height: auto; + color: #959595; +} + +.ep-sect-title a { + display: inline-block; + text-decoration: none; + text-transform: uppercase; + background: #fcfcfb; + padding: 0 10px 0 5px; + color: #464646; +} + +.e-programm .ep-sect-title a { + min-width: 180px; + margin-left: -5px; +} + +.p-calendar .ep-sect-title a { + color: #959595; +} + +.ep-sect-title a:before { + content: ''; + display: inline-block; + width: 18px; + height: 18px; + background: url(../img/sprites.png) -296px -22px no-repeat; + margin-right: 8px; +} + +.e-programm .ep-sect-title a:before { + width: 21px; + height: 21px; + background-position: -317px 0; + margin-right: 8px; +} + +.eps-opened .ep-sect-title a:before { + background-position: -315px -22px; +} + +.e-programm .eps-opened .ep-sect-title a:before { + background-position: -295px 0; +} + +.p-calendar .ep-sect-title a:before { + width: 13px; + height: 14px; + background-position: -250px -109px; + margin-right: 5px; + vertical-align: middle; + margin-top: -2px; +} + +.p-calendar .eps-opened .ep-sect-title a:before { + background-position: -211px -145px; +} + +.ep-sect-body { + padding-top: 25px; + display: none; +} + +.eps-opened .ep-sect-body { + display: block; +} + +.e-programm ul { + margin: 0; + padding: 0; + list-style: none; +} + +.e-programm li { + margin-top: 20px; + padding: 15px 0 5px; +} + +.e-programm li:first-child { + margin-top: 0; +} + +.e-programm .ep-item { + border: 1px dotted #cccccc; + padding: 0 10px 0 30px; +} + +.e-programm .ep-item header { + font-family: 'dindisplay_pro', Arial, sans-serif; + margin-top: -15px; + padding: 0 0 0 160px; +} + +.ep-item .ep-time { + font-size: 25px; + line-height: 25px; + color: #ff6600; + background: #fcfcfb; + padding: 0 5px; + float: left; + margin: 0 -100% 0 -165px; +} + +.ep-item .ep-title { + display: inline; + font-size: 22px; + line-height: 25px; + background: #fcfcfb; + outline: #fcfcfb solid 6px; + outline-offset: -1px; +} + +.ep-item .ep-title span { + position: relative; +} + +.ep-item .ep-body { + font-size: 12px; + line-height: 16px; + margin: 7px 0; +} + +.ep-item .ep-body p { + margin: 7px 0; +} + +.ep-item .ep-body .ep-coord { + color: #ff6600; +} + +.e-programm .ep-item footer { + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 15px; + line-height: 15px; + margin-bottom: -7px; +} + +.ep-item .ap-area { + display: inline-block; + padding: 0 5px; + color: #8f8f8f; + background: #fcfcfb; + margin-left: -5px; +} + +.e-programm + .i-steps, +.e-statistic + .i-steps { + margin-top: 40px; + margin-bottom: 15px; +} + + + + +.e-statistic { + font-family: 'dindisplay_pro', Arial, sans-serif; +} + +.ep-stats { + padding: 5px 25px 0; + border-bottom: 1px dotted #cccccc; + margin-bottom: 25px; +} + +.ep-stats .eps-item { + width: 220px; + float: right; + font-weight: bold; + font-size: 28px; + line-height: 28px; + margin-bottom: -13px; +} + +.ep-stats .eps-item:first-child { + color: #ff6600; + width: 450px; + float: left; +} + +.ep-stats b { + display: block; + font-size: 120px; + line-height: 120px; + margin-top: -10px; + word-spacing: -10px; + letter-spacing: -7px; + white-space: nowrap; +} + +.ep-stats .eps-text { + display: block; + margin: -18px 0 0; + padding: 0 5px; + background: #fcfcfb; + float: left; +} + +.ep-info { + padding: 0 30px; + margin-bottom: 20px; +} + +.ep-info .ep-area-wrap { + width: 450px; + float: left; + font-size: 80px; + line-height: 80px; +} + +.ep-info .epa-title { + font-size: 18px; + line-height: 18px; + width: 110px; + padding-top: 12px; + float: left; +} + +.ep-info .epa-area { + display: inline-block; + font-weight: 100; + letter-spacing: -2px; + word-spacing: -5px; +} + +.ep-info .epa-area sup { + display: inline-block; + font-size: 45px; + margin: 0 0 0 3px; +} + +.ep-info .ep-founded { + width: 210px; + float: right; + font-size: 16px; + line-height: 18px; + color: #afafae; + padding-top: 14px; +} + +.ep-founded b { + display: block; + font-size: 40px; + line-height: 40px; + letter-spacing: -1px; + margin: 0 0 -5px -2px; +} + +.ep-countries { + padding: 0 30px 0 140px; + border-top: 1px dotted #cccccc; + font-size: 18px; + color: #ff6600; +} + +.ep-countries .epc-title { + color: #feb17d; + background: #fcfcfb; + margin: -10px -100% 0 -115px; + padding: 0 5px; + float: left; +} + +.ep-countries .epc-list { + margin-top: -10px; + display: table; + table-layout: fixed; + width: 100%; +} + +.ep-countries ul { + margin: 0; + padding: 0; + list-style: none; + display: table-cell; + vertical-align: top; +} + +.ep-countries ul + ul + ul { + width: 215px; +} + +.ep-countries ul li { + padding: 0 5px; + background: #fcfcfb; + margin-top: 4px; + float: left; + clear: left; +} + +.ep-countries ul li:first-child { + margin-top: 0; +} + + + +.e-price { + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 15px; + line-height: 18px; + margin-bottom: 5px; +} + +.e-price-wrap { + margin: 0 -20px; + padding-top: 15px; +} + +.epr-layout { + display: table; + width: 100%; + border-spacing: 20px 0; +} + +.eprl-col { + border: 1px dotted #cccccc; + display: table-cell; + vertical-align: top; + padding: 0 15px 15px; +} + +.eprl-col:first-child { + width: 350px; +} + +.epr-title { + font-weight: bold; + font-size: 28px; + margin: -12px 0 20px -5px; +} + +.epr-title span { + display: inline-block; + padding: 0 5px; + background: #fcfcfb; +} + +.epr-subtitle { + color: #ff6600; + font-weight: bold; + text-transform: uppercase; + margin-bottom: 10px; +} + +.pr-list { + margin: 0 0 20px; + padding: 0; + list-style: none; + color: #ff6600; +} + +.pr-list.gray { + color: #8b8b8b; +} + +.pr-list li { + margin-bottom: 3px; + word-spacing: -2px; + white-space: nowrap; +} + +.pr-list .prl-value { + display: inline-block; + vertical-align: middle; + border: 1px solid #ffd2b2; + height: 32px; + padding: 2px 15px 0; + font-weight: bold; + font-size: 28px; + line-height: 32px; + word-spacing: -4px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.pr-list .prl-descr { + display: inline-block; + vertical-align: top; + border: 1px solid #ffd2b2; + min-height: 34px; + padding: 0 15px; + font-size: 18px; + line-height: 32px; + word-spacing: normal; + white-space: normal; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.pr-list.gray .prl-value, +.pr-list.gray .prl-descr { + border-color: #c6c6c6; +} + +.pr-list .prl-descr span { + display: inline-block; + vertical-align: middle; + line-height: 19px; +} + +.epr-conditons { + margin-top: 20px; +} + +.epr-conditons p { + margin: 0; +} + +.tp-wrap, +.tp-btn-wrap { + display: table; + width: 100%; + border-spacing: 0; + border-collapse: collapse; + margin-bottom: 20px; +} + +.tp-wrap > *, +.tp-btn-wrap > * { + display: table-cell; + vertical-align: middle; + margin-bottom: 0; +} + +.tp-wrap .pr-list, +.tp-btn-wrap .tp-btn { + width: 215px; +} + +.tp-wrap .tp-descr, +.tp-btn-wrap .tp-categories { + font-weight: 500; + font-size: 14px; + line-height: 17px; + text-transform: uppercase; + color: #ff6600; +} + +.tp-wrap .tp-descr.gray { + color: #8b8b8b; +} + +.tp-btn-wrap { + margin-bottom: 0; +} + +.tp-btn-wrap > * { + vertical-align: top; +} + +.tp-btn-wrap .tp-categories { + font-weight: normal; + text-transform: none; +} + +.tp-btn-wrap .tp-categories .tpc-title { + font-size: 13px; + color: #feb17d; + margin-bottom: 3px; +} + +.tp-btn-wrap .tp-categories ul { + margin: 0; + padding: 0 0 0 15px; + font-size: 15px; + line-height: 16px; + font-weight: bold; +} + + +.targets { + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 15px; + line-height: 16px; +} + +.t-layout { + display: table; + width: 100%; +} + +.t-layout .t-col { + display: table-cell; + vertical-align: top; + width: 50%; + padding-right: 20px; +} + +.tg-title { + font-size: 22px; + line-height: 22px; + color: #ff6600; + margin-bottom: 10px; +} + +.tg-title:before { + content: ''; + display: inline-block; + width: 24px; + height: 23px; + background: url(../img/sprites.png) -300px -41px no-repeat; + margin: 0 5px -3px 0; +} + +.tg-title.icon-case:before { + width: 23px; + height: 19px; + background-position: -300px -65px; + margin: 0 6px -1px 0; +} + +.targets ul { + margin: 0; + padding: 0 0 0 30px; + list-style: none; +} + +.targets ul li { + margin-bottom: 5px; +} + +.targets small { + display: inline-block; + font-size: 13px; +} + +.tad-price ul { + margin: 0; + padding: 0; + list-style: none; +} + +.tad-price li { + position: relative; + padding: 17px 230px 20px 20px; + margin-bottom: 20px; + background: #fcfcfb; + -webkit-box-shadow: inset 0 1px 0 #e8e8e7; + -moz-box-shadow: inset 0 1px 0 #e8e8e7; + box-shadow: inset 0 1px 0 #e8e8e7; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-transition: background .3s; + -moz-transition: background .3s; + -ms-transition: background .3s; + -o-transition: background .3s; + transition: background .3s; +} + +.tad-price li:before, +.tad-price li:after { + content: " "; + display: table; +} + +.tad-price li:after { + clear: both; +} + +.tad-price li.p-left { + padding: 17px 20px 20px 230px; +} + +.tad-price .tad-pict { + width: 190px; + float: right; + padding: 5px 0; + margin: 0 -210px 0 -100%; +} + +.tad-price li.p-left .tad-pict { + float: left; + margin: 0 -100% 0 -210px; +} + +.tad-price .tad-pict img { + width: 190px; +} + +.tad-price .tad-pict a:hover img { + opacity: 0.9; +} + +.tad-price h3 { + font-family: 'dindisplay_pro', Arial, sans-serif; + font-weight: normal; + font-size: 25px; + line-height: 26px; + margin: 0 0 10px; +} + +.tadi-text { + font-size: 13px; + line-height: 16px; + min-height: 55px; + margin-bottom: 25px; +} + +.tad-price p { + margin: 10px 0 0; + color: #464646; +} + +.tad-price p:first-child { + margin-top: 0; +} + +.btn-wrap { + margin: 25px 0 5px; +} + +.btn-wrap .tad-prise-descr { + padding-left: 21px; + margin-top: 5px; + color: #ff6600; +} + + + +.a-graphic { + position: relative; + font-family: 'dindisplay_pro', Arial, sans-serif; + font-size: 12px; + line-height: 14px; + padding-top: 10px; +} + +.a-graphic table { + width: 100%; + border-collapse: collapse; +} + +.a-graphic > table > tbody > tr > td { + width: 100%; + padding: 0 5px 0 20px; + vertical-align: top; + background: url(../img/ag-bg.png) 0 0 repeat; +} + +.a-graphic > table > tbody.bottom > tr > td { + background: none; + vertical-align: middle; +} + +.a-graphic > table > tbody > tr > td:first-child { + width: auto; + padding: 0 10px 0 0; + height: 20px; + vertical-align: middle; + text-align: left; + background: none; +} + +.a-graphic > table > tbody > tr > td > div { + display: inline-block; + min-width: 45px; + height: 20px; + line-height: 20px; + text-align: right; +} + +.a-graphic > table > tbody.bottom > tr > td:first-child { + font-size: 11px; + line-height: 12px; + color: #aeaeae; + height: 35px; +} + +.a-graphic > table > tbody.bottom > tr > td:first-child div { + line-height: 12px; + text-align: center; +} + +.a-graphic table table { + table-layout: fixed; +} + +.a-graphic table table td { + width: 20%; + padding: 0 5px; +} + +.a-graphic tbody.main table td { + vertical-align: bottom; +} + +.a-graphic tbody.bottom table td { + text-align: center; + font-size: 14px; + font-weight: 500; + color: #ff6600; +} + +.a-graphic .at-bar { + height: 20px; + background: #ff6600; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.a-graphic .at-bar.bh1 { + height: 20px; +} + +.a-graphic .at-bar.bh2 { + height: 40px; +} + +.a-graphic .at-bar.bh3 { + height: 60px; +} + +.a-graphic .at-bar.bh4 { + height: 80px; +} + +.a-graphic .at-bar.bh5 { + height: 100px; +} + +.a-graphic .at-bar.bh6 { + height: 120px; +} + +.a-graphic .at-bar.bh7 { + height: 140px; +} + +.a-graphic .at-bar.bh8 { + height: 160px; +} + +.a-graphic .at-bar.bh9 { + height: 180px; +} + +.a-graphic .at-bar.bh10 { + height: 200px; +} + +.a-graphic .at-bar .atb-text { + padding: 10px 5px; + color: #ffffff; + font-size: 13px; + text-align: center; +} + +.a-graphic .at-bar .atb-text p { + margin: 30px 0 0; +} + +.a-graphic .at-bar .atb-text p:first-child { + margin-top: 10px; + font-size: 15px; +} + +.a-graphic .at-bar .atb-text p b { + display: block; + font-weight: 500; + font-size: 20px; + line-height: 21px; + word-spacing: -2px; + white-space: nowrap; +} + +.a-graphic .at-bar .atb-text p:first-child b { + display: block; + font-size: 25px; + line-height: 25px; + word-spacing: -3px; +} + +/*.a-graphic td { + padding: 0 10px 0 0; + height: 20px; + vertical-align: middle; +} + +.a-graphic .main td { + position: relative; +} + +.a-graphic .main td:first-child { + position: static; + width: 70px; + padding: 0 15px 0 0; +} + +.a-graphic .main td:first-child:before { + content: ''; + display: block; + width: 100%; + height: 10px; + border-bottom: 1px dotted #cccccc; + position: absolute; +} + +.a-graphic td:first-child div { + position: relative; + display: inline-block; +} + +.a-graphic .main td:first-child div { + min-width: 45px; + height: 20px; + line-height: 20px; + padding-right: 15px; + background: #fcfcfb; + text-align: right; +} + +.a-graphic .bottom td { + text-align: center; + font-size: 14px; + font-weight: 500; + color: #ff6600; + padding-top: 5px; +} + +.a-graphic .bottom td:first-child { + text-align: left; + font-weight: normal; + font-size: 11px; + line-height: 12px; + color: #aeaeae; +} + +.a-graphic .bottom td:first-child div { + text-align: center; + width: 60px; +} + +.a-graphic .at-bar { + height: 20px; + background: #ff6600; +} + +.a-graphic .at-bar.first { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.a-graphic .at-bar.last { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.a-graphic .at-bar.first.last { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +}*/ + + + +.p-calendar { + font-family: 'dindisplay_pro', Arial, sans-serif; +} + +.p-calendar .ep-sect { + margin-bottom: 0; +} + +.p-calendar .ep-sect-body { + padding-top: 10px; +} + +.p-calendar .ep-sect-body header { + height: 15px; + margin-bottom: 25px; + text-align: center; + border-bottom: 1px dotted #cccccc; +} + +.p-calendar .pc-month-wrap { + display: inline-block; + padding: 0 10px; + background: #fcfcfb; +} + +.p-calendar .pc-month-wrap a { + position: relative; + display: inline-block; + vertical-align: middle; + width: 18px; + height: 0; + padding-top: 18px; + overflow: hidden; + background: #464646; + -webkit-border-radius: 18px; + -moz-border-radius: 18px; + border-radius: 18px; +} + +.p-calendar .pc-month-wrap a:hover { + background: #ff6600; +} + +.p-calendar .pc-month-wrap a:before { + content: ''; + display: block; + width: 8px; + height: 12px; + background: url(../img/sprites.png) -225px -134px no-repeat; + position: absolute; +} + +.p-calendar .pc-month-wrap a.pcm-prev:before { + background-position: -225px -134px; + left: 4px; + top: 4px; +} + +.p-calendar .pc-month-wrap a.pcm-next:before { + background-position: -175px 0; + right: 4px; + top: 4px; +} + +.p-calendar .pc-month { + display: inline-block; + vertical-align: middle; + font-weight: bold; + font-size: 30px; + line-height: 30px; + text-transform: uppercase; + margin: 0 15px; +} + +.cal-wrap { + margin: 0 -20px; +} + +.calendar-container .scroll-content { + padding: 25px 20px 5px; +} + +.calendar-container table { + border-collapse: collapse; +} + +.calendar-container table td { + width: 115px; + border-left: 1px dotted #cccccc; + text-align: center; + padding: 0; +} + +.calendar-container table td:first-child { + border-left: none; +} + +.calendar-container table tr.c-sep td { + height: 10px; +} + +.calendar-container table td.c-cur { + background: #fff0e5; + border: solid #ffd8bb; + border-width: 0 1px; +} + +.calendar-container .cal-days td { + font-size: 25px; + color: #959595; + padding: 8px 0 12px; +} + +.calendar-container .cal-body + .cal-days td { + padding: 2px 0 28px; +} + +.calendar-container .cal-days td.c-cur > div { + position: relative; + width: 100%; + background: #fff0e5; + padding-top: 33px; + margin: -33px -1px 0; + border: solid #ffd8bb; + border-width: 1px 1px 0; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.calendar-container .cal-body + .cal-days td.c-cur > div { + padding: 0 0 32px; + margin: 0 -1px -32px; + border-width: 0 1px 1px; + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.calendar-container .cal-days td b { + letter-spacing: -1px; + color: #464646; + margin-right: 3px; +} + +.calendar-container .cal-days td i { + font-style: normal; + font-size: 20px; +} + +.calendar-container .cal-days td.c-cur { + color: #ffb380; +} + +.calendar-container .cal-days td.c-cur b { + color: #ff6600; +} + +.calendar-container .cal-days td.c-cur .cur-mark { + position: absolute; + width: 100%; + left: 0; + top: 10px; + font-size: 14px; + color: #ff6600; +} + +.calendar-container .cal-body + .cal-days td.c-cur .cur-mark { + top: auto; + bottom: 12px; +} + +.calendar-container .c-event { + position: relative; + width: 100%; + padding: 0 5px; + background: #ff6600; + color: #ffffff; + margin: 0 -5px; + text-align: left; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.calendar-container .c-event.grey { + background: #7e7e7e; +} + +.calendar-container .c-event.cont-prev { + padding-left: 20px; + margin-left: -20px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.calendar-container .c-event.cont-next { + padding-right: 20px; + margin-right: -20px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.calendar-container .c-event.cont-prev.cont-next { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.calendar-container .c-event .ce-wrap { + padding: 10px 7px 10px 12px; +} + +.calendar-container .c-event h3 { + margin: 0 0 5px; + font-weight: normal; + font-size: 13px; + line-height: 14px; +} + +.calendar-container .c-event h3 a { + color: #ffffff; + text-decoration: none; +} + +.calendar-container .c-event .ce-info { + font-size: 12px; + line-height: 14px; + color: #ffd0ae; +} + +.calendar-container .c-event.grey .ce-info { + color: #c0c0c0; +} + +.calendar-container .c-event .ce-info > div { + display: inline-block; + vertical-align: middle; + margin-bottom: 4px; +} + +.ce-ico { + position: relative; + display: inline-block; + vertical-align: middle; + width: 19px; + height: 19px; + margin-right: 2px; + border: 1px solid #ffb380; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.c-event.grey .ce-ico, +.cal-item .ce-ico.icon-fav { + border-color: #bfbfbf; +} + +.ce-ico:before { + content: ''; + background: url(../img/sprites.png) 0 0 no-repeat; + position: absolute; +} + +.ce-ico.icon-check:before { + width: 12px; + height: 9px; + background-position: -93px -16px; + left: 4px; + top: 5px; +} + +.c-event .ce-ico.icon-check:before { + background-position: -117px -162px; +} + +.ce-ico.icon-fav:before { + width: 11px; + height: 11px; + background-position: -130px -162px; + left: 4px; + top: 4px; +} + +.c-event .ce-ico.icon-fav:before { + background-position: -142px -162px; +} + + + +.cal-lists { + font-family: 'dindisplay_pro', Arial, sans-serif; +} + +.cl-sect { + margin-top: 20px; +} + +.cl-sect:first-child { + margin-top: 0; +} + +.cl-sect .cls-title { + font-size: 25px; + line-height: 26px; + padding-bottom: 10px; + border-bottom: 1px dotted #cccccc; +} + +.cl-sect ul { + margin: 0; + padding: 0; + list-style: none; +} + +.cl-sect ul li { + position: relative; + padding: 10px 50px 10px 0; + border-bottom: 1px dotted #cccccc; +} + +.cal-item { + padding-left: 50px; +} + +.cal-item .cali-pict { + width: 40px; + float: left; + margin: 0 -100% 0 -50px; +} + +.cal-item .cali-pict img { + width: 40px; +} + +.cal-item .cli-info { + margin-bottom: 0; +} + +.cal-item .cli-info .cli-top { + margin-bottom: 3px; +} + +.cal-item header { + margin-bottom: 2px; +} + +.cal-item .cli-title { + display: inline-block; + font-size: 20px; + line-height: 22px; + color: #ff6600; + margin-right: 5px; + max-width: 550px; +} + +.cal-item .cli-title a { + color: #ff6600; + text-decoration: none; +} + +.cal-item .cli-title a:hover { + color: #464646; +} + +.cli-icos { + display: inline-block; + vertical-align: top; +} + +.cal-item .cli-info .cli-bot .cli-date { + width: 150px; + font-size: 15px; +} + +.cal-item .cli-place { + font-size: 15px; + float: left; +} + +.cl-sect ul li .check-wrap { + position: absolute; + right: 5px; + top: 12px; +} + + +.cl-actions { + border-bottom: 1px dotted #cccccc; + padding: 15px 0 12px; + font-size: 15px; + line-height: 16px; +} + +.cl-actions .cla-title { + float: left; + margin-right: 20px; + line-height: 26px; + color: #979797; +} + +.cl-actions .cla-btns { + overflow: hidden; +} + +.cl-actions .cla-btns .button { + margin-bottom: 4px; +} + + + + +.to-prev-cal { + font-size: 15px; + margin-top: 20px; +} + +.to-prev-cal .icon-back:before { + width: 11px; + height: 12px; + background-position: -183px -162px; + margin-right: 7px; +} + + + + + +/* ========================================================================== + Media Queries + ========================================================================== */ + +@media only screen and (min-width: 1080px) { + + .page-wrap { + width: 100%; + padding-right: 40px; + } + + .page-wrap .layout { + padding-left: 3%; + } + + .page-wrap .layout.mp-announces .layout-wrap { + padding-right: 0; + } + + .page-wrap .layout.mp-announces .layout-wrap aside { + margin-right: 0; + width: 33.33%; + margin-left: -100%; + } + + .page-wrap .layout.mp-announces .layout-wrap .mcl { + width: 66.66%; + } + + .eprl-col { + padding: 0 20px 15px; + } + +} + +@media only screen and (min-width: 1100px) { + + .e-price-wrap { + margin: 0 -40px; + } + + .epr-layout { + border-spacing: 40px 0; + } + +} + +@media only screen and (min-width: 1170px) { + + .page-wrap .layout { + padding-left: 6%; + } + + .page-wrap .layout .layout-wrap { + padding-left: 230px; + } + + .main-page .page-wrap .header-wrap, + .main-page .page-wrap .mp-catalog .layout-wrap, + .page-wrap > footer .layout-wrap.footer-wrap { + padding-left: 240px; + } + + .page-wrap section.layout.search-form .layout-wrap { + padding-left: 430px; + } + + .page-wrap .layout .layout-wrap > aside { + width: 230px; + padding-right: 50px; + margin-left: -230px; + } + + .page-wrap > header .logo { + margin-left: -230px; + } + + .page-wrap > header .logo h1, + .page-wrap > header .logo h2, + .page-wrap > header .logo h3 { + margin-left: -67px; + } + + .page-wrap .layout .layout-wrap > aside > .sbg { + left: -239px; + } + + .mp-partners .mpp-wrap { + padding-left: 430px; + } + + .mp-partners .mpp-wrap header { + width: 230px; + margin-left: -230px; + } + + .s-phone { + margin-left: -25px; + } + + .online-adviser { + margin-left: -40px; + } + + .s-news-list ul li { + padding-left: 60px; + margin-left: -60px; + } + + .s-news-list .nl-pict { + margin: 0 -40px 0 -60px; + } + + .page-wrap .layout.mp-announces .layout-wrap { + padding-left: 230px; + } + + .mp-photo-gallery { + margin-left: -230px; + } + + .mp-photo-gallery header { + padding-left: 230px; + } + + .mp-photo-gallery header .pg-title { + margin-left: -230px; + } + + .mp-photo-gallery .pg-item .pgi-descr { + padding-left: 230px; + } + + .mp-photo-gallery .pg-item .pgi-descr .pgi-date { + margin-left: -190px; + } + +} + +@media only screen and (min-width: 1200px) { + + .page-wrap .layout { + padding-left: 9%; + } + + .page-wrap > header .logo h1, + .page-wrap > header .logo h2, + .page-wrap > header .logo h3 { + margin-left: -67px; + } + + .mp-partners .mpp-wrap ul { + margin-left: -30px; + } + + .mp-partners .mpp-wrap li { + margin-left: 30px; + } + + .eprl-col:first-child { + width: 50%; + } + +} + + +@media only screen and (min-width: 1260px) { + + /*.page-wrap > header .logo, + .page-wrap .layout .layout-wrap aside { + width: 21%; + } + + .page-wrap .layout.mp-announces .layout-wrap .mcl { + width: 73.1%; + }*/ + + .header-body .header-top { + padding-right: 480px; + } + + .header-body .header-top .ht-main { + width: 100%; + } + + .header-body .header-top .ht-side { + width: 470px; + margin-right: -470px; + } + + .mp-partners .mpp-wrap ul { + margin-left: -40px; } .mp-partners .mpp-wrap li { @@ -7923,4 +9884,34 @@ dl.add-info dd ul li { h3 { page-break-after: avoid; } +} +/*block*/ + +.pwf-msg .msg-error { + color: #fe0238; + padding-left: 20px; +} + +.pwf-msg .msg-help:before { + content: '—'; + float: left; + margin: 0 -15px 0 -20px; +} + +.mf-line .mf-error{ + color: #ff083c; + font-size: 15px; + padding-right: 10px; + padding-bottom: 5px; + width: 65%; +} + +.mf-line .mf-success{ + display: none; + color: #31ff13; + font-size: 15px; + padding-right: 10px; + padding-bottom: 5px; + width: 65%; + } \ No newline at end of file diff --git a/static/client/css/phototag.css b/static/client/css/phototag.css new file mode 100644 index 00000000..086af62b --- /dev/null +++ b/static/client/css/phototag.css @@ -0,0 +1,215 @@ + +/* Resizable +----------------------------------*/ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 9px; width: 9px; top: -5px; left: 50%; margin-left: -4px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-s { cursor: s-resize; height: 9px; width: 9px; bottom: -5px; left: 50%; margin-left: -4px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-e { cursor: e-resize; width: 9px; right: -5px; top: 50%; margin-top: -4px; height: 9px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-w { cursor: w-resize; width: 9px; left: -5px; top: 50%; height: 9px; margin-top: -4px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-se { cursor: se-resize; width: 9px; height: 9px; right: -5px; bottom: -5px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; background: rgba(255, 255, 255, 0.5);} +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px; background: rgba(255, 255, 255, 0.5);} + +.photoTag-taglist{ + list-style:none; + padding: 0; +} +.photoTag-taglist li{ + margin-left: 0; + display: inline; + padding: 0; +} +.tg-close { + display: block; + position: absolute; + right: 0; + top: 0; + width: 32px; + height: 32px; + cursor: pointer; + z-index: 100; +} +.tg-close:before { + content: ''; + display: block; + width: 10px; + height: 10px; + background: url(../img/sprites.png) -227px -149px no-repeat; + position: absolute; + left: 50%; + top: 50%; + margin: -5px 0 0 -5px; +} +.taghover:before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; +} +.taghover .tg-close { + width: 18px; + height: 18px; +} +.taghover .tg-close:before { + background: url('static/img/x.png') 0 0 no-repeat; + left: 8px; + top: 9px; +} + +.taghover .tg-close:hover:before { + background-position: 0 -32px; +} +.tg-close:hover:before { + background-position: -227px -160px ; +} +.photoTag-taglist a.tg-close { + display: inline; + margin: 0; + padding: 0 5px 0 3px; + text-decoration: none; + position: relative; +} +.photoTag-wrap { + overflow: hidden; +} +.utag-right, .utag-left { + width: 2000px; + background: rgba(0, 0, 0, 0.5); + position: absolute; + top: 0; +} +.utag-left { + left: -2000px; +} +.utag-top, .utag-bot { + width: 4000px; + background: rgba(0, 0, 0, 0.5); + position: absolute; + height: 2000px; + left: -2000px; +} +.utag-top { + top: -2000px; +} +.taghover { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 3014; + background-color: rgba(255, 255, 255, 0.01); +} +#expoNewTagForm { + background-color: #FFFFFF; + padding: 10px; + overflow:hidden; + position: absolute; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + line-height: 100%; + z-index: 1039; +} +#expoNewTagForm button { + padding: 0 27px; + margin: 10px 0 0 0; +} +.ptListHolder ul { + position:relative; + display: block; + min-height: 24px; + width: 120px; + background: #ffffff; +} +.ptListHolder ul li { + padding: 0; + margin:0; + border-bottom: 1px solid #DDDDDD; +} +.ptListHolder ul li a { + padding: 10px 5px 10px 5px!important; + text-align: left; + display: block!important; +} +.photoTag-tag { + border: 1px solid rgba(255, 255, 255, 0.7); + background-color: transparent; + overflow: hidden; + z-index:1021; +} +#photoTag-tag_expo { + overflow: visible; +} +.photoTag-tag .photoTag-delete { + background:url('/x2.png') no-repeat; + width:25px; + height:29px; + display:inline; + z-index:3200; + position:absolute; + right:-22px; + cursor:pointer; + opacity: 0.8; +} +#expoNewTagForm input{ + display: block; +} +#expoNewTagForm input[type="text"] { + padding: 0 5px 0 5px; + font-size: 14px; + height: 36px; +} +#expoNewTagForm label{ + width: auto; + float: left; + color: #FF6600; + line-height: 100%; + text-align: left; + line-height: 21px; +} +#expoNewTagForm .inputSubmit +{ + color: #FF6600; + background-color: #ffffff; + border: 1px solid #ffffff; + -moz-border-radius-topleft: 5px; + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topright: 5px; + -webkit-border-top-right-radius: 5px; + -moz-border-radius-bottomleft: 5px; + -webkit-border-bottom-left-radius: 5px; + -moz-border-radius-bottomright: 5px; + -webkit-border-bottom-right-radius: 5px; +} +#expoNewTagForm .inputSubmit { + float: right; + margin: 5px 0 0; + padding: 5px; +} +#expoNewTagForm .inputCancel { + border: 0 none; +} + +.innerTag{ + float: left; + background-color: #FF6600; + padding: 3px; + height: 14px; + position: relative; + line-height: 100%; + top: -23px; + left: 0; + font-size: 12px; + color: #ffffff; + -moz-border-radius-topleft: 5px; + -webkit-border-top-left-radius: 5px; + -moz-border-radius-topright: 5px; + -webkit-border-top-right-radius: 5px; +} diff --git a/static/client/css/regions.css b/static/client/css/regions.css new file mode 100644 index 00000000..64b3fcc7 --- /dev/null +++ b/static/client/css/regions.css @@ -0,0 +1,75 @@ +.c-select-box.places .csb-title ul.ui-autocomplete { + background: none repeat scroll 0 0 #FFFFFF; + border: 1px solid #CCCCCC; + margin-left: -10px; + z-index: 1020; +} + +.c-select-box.places .csb-title ul.ui-autocomplete li +{ + margin-bottom: 5px; +} +.places-list ul li a:before, .topics-list ul li a:before { + content: ""; + display: block; + height: 8px; + left: -12px; + position: absolute; + top: 4px; + width: 8px; + z-index: 1010; + background: url('../img/sprites.png') no-repeat -83px -16px; +} +.places-list ul li.active a:before, .topics-list ul li.active a:before { + content: ""; + display: block; + height: 8px; + left: -12px; + position: absolute; + top: 3px; + width: 8px; + z-index: 1010; + background: url('../img/sprites.png') no-repeat -86px -24px; +} +.c-select-box-wrap .custom-radio-check:before { + content: ''; + width: 13px; + height: 13px; + display: block; + position: absolute; + top: 3px; + left: -15px; + z-index: 1010; + background: url('../img/sprites.png') no-repeat -225px -135px ; +} +.c-select-box-wrap .custom-radio-check.active:before { + content: ''; + width: 13px; + height: 13px; + display: block; + position: absolute; + top: 4px; + left: -15px; + z-index: 1010; + background: url('../img/sprites.png') no-repeat -46px -16px; +} +.ac-custom-message { + background: none repeat scroll 0 0 #FFFFFF; + border: 1px solid #CCCCDC; + border-radius: 5px; + padding: 5px 10px 5px 25px; + position: absolute; + z-index: 1415; + display: none; +} +.ac-custom-message span:before { + background: url("../img/sprites.png") no-repeat scroll -106px -16px #FFFFFF; + content: ""; + display: block; + height: 10px; + left: 7px; + position: absolute; + top: 19px; + width: 13px; + z-index: 1416; +} \ No newline at end of file diff --git a/static/client/fonts/pts55f-webfont.eot b/static/client/fonts/pts55f-webfont.eot new file mode 100644 index 00000000..65a0e182 Binary files /dev/null and b/static/client/fonts/pts55f-webfont.eot differ diff --git a/static/client/fonts/pts55f-webfont.ttf b/static/client/fonts/pts55f-webfont.ttf new file mode 100644 index 00000000..12e75469 Binary files /dev/null and b/static/client/fonts/pts55f-webfont.ttf differ diff --git a/static/client/fonts/pts55f-webfont.woff b/static/client/fonts/pts55f-webfont.woff new file mode 100644 index 00000000..2f3e2212 Binary files /dev/null and b/static/client/fonts/pts55f-webfont.woff differ diff --git a/static/client/fonts/pts75f-webfont.eot b/static/client/fonts/pts75f-webfont.eot new file mode 100644 index 00000000..9bd86f36 Binary files /dev/null and b/static/client/fonts/pts75f-webfont.eot differ diff --git a/static/client/fonts/pts75f-webfont.ttf b/static/client/fonts/pts75f-webfont.ttf new file mode 100644 index 00000000..51b55b9e Binary files /dev/null and b/static/client/fonts/pts75f-webfont.ttf differ diff --git a/static/client/fonts/pts75f-webfont.woff b/static/client/fonts/pts75f-webfont.woff new file mode 100644 index 00000000..61318ed2 Binary files /dev/null and b/static/client/fonts/pts75f-webfont.woff differ diff --git a/static/client/img/Thumbs.db b/static/client/img/Thumbs.db index be1fea4a..54e4721c 100644 Binary files a/static/client/img/Thumbs.db and b/static/client/img/Thumbs.db differ diff --git a/static/client/img/ag-bg.png b/static/client/img/ag-bg.png new file mode 100644 index 00000000..c64dc99e Binary files /dev/null and b/static/client/img/ag-bg.png differ diff --git a/static/client/img/soc-medias/Thumbs.db b/static/client/img/soc-medias/Thumbs.db new file mode 100644 index 00000000..2353d479 Binary files /dev/null and b/static/client/img/soc-medias/Thumbs.db differ diff --git a/static/client/img/soc-medias/sm-icon-fb-w.png b/static/client/img/soc-medias/sm-icon-fb-w.png new file mode 100644 index 00000000..9b5314d7 Binary files /dev/null and b/static/client/img/soc-medias/sm-icon-fb-w.png differ diff --git a/static/client/img/soc-medias/sm-icon-lin-w.png b/static/client/img/soc-medias/sm-icon-lin-w.png new file mode 100644 index 00000000..19b88726 Binary files /dev/null and b/static/client/img/soc-medias/sm-icon-lin-w.png differ diff --git a/static/client/img/soc-medias/sm-icon-twit-w.png b/static/client/img/soc-medias/sm-icon-twit-w.png new file mode 100644 index 00000000..0aa71157 Binary files /dev/null and b/static/client/img/soc-medias/sm-icon-twit-w.png differ diff --git a/static/client/img/soc-medias/sm-icon-vk-w.png b/static/client/img/soc-medias/sm-icon-vk-w.png new file mode 100644 index 00000000..34dc48a1 Binary files /dev/null and b/static/client/img/soc-medias/sm-icon-vk-w.png differ diff --git a/static/client/img/sprites.png b/static/client/img/sprites.png index f87dba17..650ab10f 100644 Binary files a/static/client/img/sprites.png and b/static/client/img/sprites.png differ diff --git a/static/client/img/themes/Thumbs.db b/static/client/img/themes/Thumbs.db new file mode 100644 index 00000000..55c980b8 Binary files /dev/null and b/static/client/img/themes/Thumbs.db differ diff --git a/static/client/img/themes/expo-1.png b/static/client/img/themes/expo-1.png new file mode 100644 index 00000000..e672d56b Binary files /dev/null and b/static/client/img/themes/expo-1.png differ diff --git a/static/client/img/themes/expo-2.png b/static/client/img/themes/expo-2.png new file mode 100644 index 00000000..473bc938 Binary files /dev/null and b/static/client/img/themes/expo-2.png differ diff --git a/static/client/img/themes/expo-3.png b/static/client/img/themes/expo-3.png new file mode 100644 index 00000000..56844291 Binary files /dev/null and b/static/client/img/themes/expo-3.png differ diff --git a/static/client/img/x2.png b/static/client/img/x2.png new file mode 100644 index 00000000..22c3c78e Binary files /dev/null and b/static/client/img/x2.png differ diff --git a/static/client/js/existing-tags.js b/static/client/js/existing-tags.js new file mode 100644 index 00000000..987c1223 --- /dev/null +++ b/static/client/js/existing-tags.js @@ -0,0 +1,40 @@ +{ + "Image" : [ + { + "id":150, + "Tags":[ + { + "id":200, + "text":"John Doe", + "left":250, + "top":50, + "url": "/person.php?id=200", + "isDeleteEnable": true + }, + { + "id":350, + "text":"Michael Smith", + "left":420, + "top":45, + "width":120, + "height":120, + "url": "/person.php?id=350", + "isDeleteEnable": true + }, + { + "id":500, + "text":"Peter Parker", + "left":55, + "top":40, + "url": "/person.php?id=500", + "isDeleteEnable": true + } + ] + } + ], + "options":{ + "tag":{ + "flashAfterCreation": true + } + } +} diff --git a/static/client/js/jquery-ui-1.10.4.custom.min.js b/static/client/js/jquery-ui-1.10.4.custom.min.js new file mode 100644 index 00000000..fb915141 --- /dev/null +++ b/static/client/js/jquery-ui-1.10.4.custom.min.js @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.10.4 - 2014-01-31 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.autocomplete.js, jquery.ui.datepicker.js, jquery.ui.menu.js +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("
"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("
").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=e.pageX,h=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(l=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,l=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,a=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,a))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY=0;u--)r=p.snapElements[u].left,l=r+p.snapElements[u].width,h=p.snapElements[u].top,c=h+p.snapElements[u].height,r-f>_||m>l+f||h-f>b||v>c+f||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==g.snapMode&&(s=f>=Math.abs(h-b),n=f>=Math.abs(c-v),a=f>=Math.abs(r-_),o=f>=Math.abs(l-m),s&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),d=s||n||a||o,"outer"!==g.snapMode&&(s=f>=Math.abs(h-v),n=f>=Math.abs(c-b),a=f>=Math.abs(r-m),o=f>=Math.abs(l-_),s&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||a||o||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],undefined):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},t.ui.ddmanager.droppables[i.scope]=t.ui.ddmanager.droppables[i.scope]||[],t.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,a,o=(t.positionAbs||t.position.absolute).left,r=(t.positionAbs||t.position.absolute).top,l=o+t.helperProportions.width,h=r+t.helperProportions.height,c=i.offset.left,u=i.offset.top,d=c+i.proportions().width,p=u+i.proportions().height;switch(s){case"fit":return o>=c&&d>=l&&r>=u&&p>=h;case"intersect":return o+t.helperProportions.width/2>c&&d>l-t.helperProportions.width/2&&r+t.helperProportions.height/2>u&&p>h-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,a=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(a,u,i.proportions().height)&&e(n,c,i.proportions().width);case"touch":return(r>=u&&p>=r||h>=u&&p>=h||u>r&&h>p)&&(o>=c&&d>=o||l>=c&&d>=l||c>o&&l>d);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,a=t.ui.ddmanager.droppables[e.options.scope]||[],o=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||e&&!a[s].accept.call(a[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue t}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=t.ui.intersect(e,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),a.length&&(s=t.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}})(jQuery);(function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),a="ui-resizable-"+s,n=t("
"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,a;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,a),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(t(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),o.containment&&(s+=t(o.containment).scrollLeft()||0,n+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-a.left||0,d=e.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,a=s?0:c.sizeDiff.width,o={width:c.helper.width()-a,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(o,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidtht.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return o&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),a&&(t.height=e.maxHeight),o&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),a&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,a=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:o,h=t.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,a,o=t(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,c=o._aspectRatio||e.shiftKey,u={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-u.left),c&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),c&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-u.left:o.offset.left-u.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-u.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=Math.abs(o.parentData.left)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,c&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,c&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,a=e.containerElement,o=t(e.helper),r=o.offset(),h=o.outerWidth()-e.sizeDiff.width,l=o.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(a[e]=i||null)}),e.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,a=e.originalPosition,o=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(o)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.top=a.top-u):/^(sw)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.left=a.left-c):(p-l>0?(e.size.height=p,e.position.top=a.top-u):(e.size.height=l,e.position.top=a.top+n.height-l),d-h>0?(e.size.width=d,e.position.left=a.left-c):(e.size.width=h,e.position.left=a.left+n.width-h))}})})(jQuery);(function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("
")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=e.pageX,l=e.pageY;return a>r&&(i=r,r=a,a=i),o>l&&(i=l,l=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:l-o}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),h=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?h=!(i.left>r||a>i.right||i.top>l||o>i.bottom):"fit"===n.tolerance&&(h=i.left>a&&r>i.right&&i.top>o&&l>i.bottom),h?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t(" ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.leftthis.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(e){e.widget("ui.autocomplete",{version:"1.10.4",defaultElement:"",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("
- {# region #} -
- -
- {{ form.region }} - {{ form.region.errors }} -
-
+ {# language #}
diff --git a/templates/admin/exposition/exposition_add.html b/templates/admin/exposition/exposition_add.html index 1bb18c54..e32fe7f2 100644 --- a/templates/admin/exposition/exposition_add.html +++ b/templates/admin/exposition/exposition_add.html @@ -49,6 +49,13 @@ format : 'dd.mm.yyyy hh:ii' }); + + $('#id_application_deadline').datetimepicker({ + todayHighlight: true, + format : 'dd.mm.yyyy', + minView:2 + }); + }); @@ -223,7 +230,21 @@ {{ form.currency.errors }}
+ {# application_deadline #} +
+ +
{{ form.application_deadline }} + {{ form.application_deadline.errors }} +
+
+ {# min_stand_size #} +
+ +
{{ form.min_stand_size }} + {{ form.min_stand_size.errors }} +
+
{# price_day #}
@@ -238,6 +259,21 @@ {{ form.price_all.errors }}
+ {# price_day_bar #} +
+ +
{{ form.price_day_bar }} + {{ form.price_day_bar.errors }} +
+
+ {# price_all_bar #} +
+ +
{{ form.price_all_bar }} + {{ form.price_all_bar.errors }} +
+
+ {# price_catalog #}
diff --git a/templates/admin/photo_list.html b/templates/admin/photo_list.html new file mode 100644 index 00000000..11bac65b --- /dev/null +++ b/templates/admin/photo_list.html @@ -0,0 +1,12 @@ +{% for photo in photos %} + + {{ photo.id }} + + {{ photo.file_name }} + + + + +{% endfor %} \ No newline at end of file diff --git a/templates/admin/photoreport/photoreport_add.html b/templates/admin/photoreport/photoreport_add.html new file mode 100644 index 00000000..a68ddd43 --- /dev/null +++ b/templates/admin/photoreport/photoreport_add.html @@ -0,0 +1,165 @@ +{% extends 'base.html' %} +{% load static %} + + +{% block scripts %} + + {# selects #} + + + + +{% endblock %} + +{% block body %} + +
{% csrf_token %} +
+ {% if obj_id %} Изменить {% else %} Добавить {% endif %}фотоотчет +
+
+

Основная информация

+
+
+ + {{ form.key }} + + {# name #} + {% with field='name' form=form languages=languages %} + {% include 'admin/forms/multilang.html' %} + {% endwith %} + + {# description #} + {% with field='description' form=form languages=languages %} + {% include 'admin/forms/multilang.html' %} + {% endwith %} + + {# exposition #} +
+ +
{{ form.exposition }} + {{ form.exposition.errors }} +
+
+ + {# conference #} +
+ +
{{ form.conference }} + {{ form.conference.errors }} +
+
+ + {# seminar #} +
+ +
{{ form.seminar }} + {{ form.seminar.errors }} +
+
+ +
+
+
+
+

Фото

+
+
+ {# button that shows modal window with file form #} + Добавить фото +
+ + + + + + + + + + + {% for photo in photos %} + + + + + + + {% endfor %} + +
idФотоИмя
{{ file.id }}{{ file.name }} + +
+
+ +
+ +
+ +
+
+

Мета даные

+
+
+ {% with field='keywords' form=form languages=languages %} + {% include 'admin/forms/multilang.html' %} + {% endwith %} + + {% with field='title' form=form languages=languages %} + {% include 'admin/forms/multilang.html' %} + {% endwith %} + + {% with field='descriptions' form=form languages=languages %} + {% include 'admin/forms/multilang.html' %} + {% endwith %} +
+
+ +
+ + +
+ +
+
+ +{# modal window #} + +{% endblock %} \ No newline at end of file diff --git a/templates/admin/photoreport/photoreport_all.html b/templates/admin/photoreport/photoreport_all.html new file mode 100644 index 00000000..c5be710e --- /dev/null +++ b/templates/admin/photoreport/photoreport_all.html @@ -0,0 +1,54 @@ +{% extends 'base.html' %} +{% block body %} +
+
+

Список фоторепортажей

+
+
+ + + + + + + + + + + {% for item in objects %} + + + + + + + {% endfor %} + +
idФоторепортаж 
{{ item.id }}{{ item.name }} + + Изменить + + + Удалить + +
+ Добавить фоторепортаж + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/templates/admin/settings/main_page.html b/templates/admin/settings/main_page.html new file mode 100644 index 00000000..f66f7933 --- /dev/null +++ b/templates/admin/settings/main_page.html @@ -0,0 +1,85 @@ +{% extends 'base.html' %} +{% load static %} +{% block scripts %} + {# selects #} + + + +{% endblock %} + +{% block body %} +
+
+
+

События

+
+
+
{% csrf_token %} + {{ event_form.expositions.label }}:    {{event_form.expositions }}     + {{ event_form.conferences.label }}:     {{event_form.conferences }} +
+
+ {{ event_form.seminars.label }}:         {{event_form.seminars }}     + {{ event_form.webinars.label }}:           {{event_form.webinars }} + + +
+ +
+
+
+
+ +
+
+
+

Новости

+
+
+
{% csrf_token %} + {{ news_form }} +
+ +
+
+
+
+
+

Обзоры

+
+
+
{% csrf_token %} + {{ article_form }} +
+ +
+
+
+
+
+
+
+

Тематики

+
+
+
{% csrf_token %} + {{ theme_form }} +
+ +
+
+
+
+
+

Фоторепортажи

+
+
+
{% csrf_token %} + {{ photoreport_form }} +
+ +
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/client/accounts/calendar.html b/templates/client/accounts/calendar.html new file mode 100644 index 00000000..4cb234ab --- /dev/null +++ b/templates/client/accounts/calendar.html @@ -0,0 +1,31 @@ +{% extends 'base_catalog.html' %} +{% load static %} +{% load i18n %} +{% load template_filters %} + +{% block bread_scrumbs %} + +{% endblock %} + +{% block page_title %} +
+

{% trans 'Личный календарь' %}

+
+{% endblock %} + +{% block content_list %} +
+ {% with days=days events=events current_day=current_day %} + {% include 'includes/accounts/calendar_table.html' %} + {% endwith %} + +
+{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/templates/client/accounts/messages.html b/templates/client/accounts/messages.html new file mode 100644 index 00000000..3bd7fdce --- /dev/null +++ b/templates/client/accounts/messages.html @@ -0,0 +1,69 @@ +{% extends 'base_catalog.html' %} +{% load i18n %} + +{% block bread_scrumbs %} + +{% endblock %} + +{% block page_title %} +
+

{% trans 'Сообщения' %}

+
+{% endblock %} + +{% block content_list %} + +{% endblock %} + +{% block popup %} + +{% endblock %} \ No newline at end of file diff --git a/templates/client/accounts/messages_history.html b/templates/client/accounts/messages_history.html new file mode 100644 index 00000000..11d2ab05 --- /dev/null +++ b/templates/client/accounts/messages_history.html @@ -0,0 +1,57 @@ +{% extends 'base_catalog.html' %} +{% load i18n %} + +{% block bread_scrumbs %} + +{% endblock %} + +{% block page_title %} +
+

{% trans 'Сообщения' %}

+
+{% endblock %} + +{% block content_list %} +
    +{% for msg in profile_messages %} +
  • +
    +
    + {% with obj=msg.sender %} + {% include 'includes/show_logo.html' %} + {% endwith %} +
    +
    +
    + {% ifequal msg.sender user %} + {% trans 'Вы' %}: + {% else %} + {{ msg.sender.get_full_name }} + {% endifequal %} +
    +
    {{ msg.body }}
    +
    +
    {{ msg.sent_at }}
    +
    +
  • +{% endfor %} +
+
{% csrf_token %} +
+ + +
+ {{ form.recipient }} + {{ form.body }} +
+
+
+ + {% trans 'Все сообщения' %} +
+
+{% endblock %} \ No newline at end of file diff --git a/templates/client/accounts/profile.html b/templates/client/accounts/profile.html new file mode 100644 index 00000000..e943f5f8 --- /dev/null +++ b/templates/client/accounts/profile.html @@ -0,0 +1,417 @@ +{% extends 'base_catalog.html' %} +{% load static %} +{% load i18n %} +{% load template_filters %} + + +{% block bread_scrumbs %} + +{% endblock %} + +{% block page_title %} +
+

{% trans 'Личный кабинет' %}

+
+{% endblock %} + +{% block content_list %} +
+
+ + {# avatar #} + + {# END avatar #} +
+
+ {# country and city #} +
+ {{ home_form.instance.country }} + {% if home_form.instance.city %} + , {{ home_form.instance.city }} + {% endif %} +
+ {% trans 'редактировать' %} +
+
{% csrf_token %} +
+ +
+ +
+ {{ home_form.country }} + +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ {% trans 'закрыть' %} +
+
+
+ {# END country and city #} + + {# name #} +
+ {{ name_form.get_full_name }} +
+ {% trans 'редактировать' %} +
+
{% csrf_token %} + +
+ +
+ +
+ {{ name_form.first_name }} +
+
+
+ +
+ {{ name_form.last_name }} +
+
+ +
+ +
+ +
+
+ + {% trans 'закрыть' %} +
+
+
+ {# END name #} +
+ + {# position #} +
+ {{ work_form.position.value }} + {% if work_form.work.value %} + {% trans 'в' %} {{ work_form.work.value }} + {% endif %} + +
+ {% trans 'редактировать' %} +
+
{% csrf_token %} + +
+ +
+ +
+ {{ work_form.position }} +
+
+ +
+ +
+ {{ work_form.work }} +
+
+ +
+ +
+ +
+
+ + {% trans 'закрыть' %} +
+
+
+ {# END position #} + + + {# description #} +
+ {{ about_company_form.about_company.value }} +
+ {% trans 'редактировать' %} +
+
{% csrf_token %} + +
+ +
+ +
+ {{ about_company_form.about_company }} +
+
+ +
+ +
+ +
+
+ + {% trans 'закрыть' %} +
+
+
+ {# END description #} +
+ +
+
+ {% trans 'редактировать профиль' %} + {% trans 'завершить редактирование' %} +
+
    +
  • Facebook
  • +
  • LinkedIn
  • +
  • В контакте
  • +
  • Twitter
  • +
+
+ {% trans 'редактировать' %} +
+
{% csrf_token %} + +
+ +
+ +
+ {{ social_form.facebook }} +
+
+ +
+ +
+ {{ social_form.linkedin }} +
+
+ +
+ +
+ {{ social_form.vk }} +
+
+ +
+ +
+ {{ social_form.twitter }} +
+
+ +
+ +
+ +
+
+ + {% trans 'закрыть' %} +
+
+
+
+ {# contacts #} + +
+ +
+ {# about #} +
+
{% trans 'О себе:' %}
+ +
+

{{ about_form.about.value }}

+ +
+ {% trans 'редактировать' %} +
+
{% csrf_token %} + +
+ +
+ +
+ {{ about_form.about }} +
+
+ +
+ +
+ +
+
+ + {% trans 'закрыть' %} +
+
+
+
+ {# END about #} + +
+
+
+{% endblock %} +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/templates/client/profile.html b/templates/client/accounts/settings.html similarity index 75% rename from templates/client/profile.html rename to templates/client/accounts/settings.html index eb94d65a..539035c7 100644 --- a/templates/client/profile.html +++ b/templates/client/accounts/settings.html @@ -1,255 +1,136 @@ -{% extends 'blank.html' %} - +{% extends 'base_catalog.html' %} +{% load static %} {% load i18n %} -{% block title %} -{% trans 'Личный кабинет' %} + + +{% block bread_scrumbs %} + - {% trans 'в расписание' %} + {% if obj|in_calendar:user %}{% trans 'из расписания' %} + {% else %} + {% trans 'в расписание' %}{% endif %} {% trans 'заметка' %}
diff --git a/templates/client/includes/event_object.html b/templates/client/includes/event_object.html index b1c32450..6810826e 100644 --- a/templates/client/includes/event_object.html +++ b/templates/client/includes/event_object.html @@ -98,25 +98,9 @@ -
-
{% trans 'Посетить выставку' %}
- -
+ {% with event=exposition %} + {% include 'includes/event_steps.html' %} + {% endwith %} {% if exposition.get_photos %}
@@ -144,8 +128,8 @@
{% trans 'Дополнительная информация' %}
{% trans 'Организатор' %}:
diff --git a/templates/client/includes/event_steps.html b/templates/client/includes/event_steps.html new file mode 100644 index 00000000..7ce05974 --- /dev/null +++ b/templates/client/includes/event_steps.html @@ -0,0 +1,21 @@ +{% load i18n %} + +
+
{% trans 'Посетить выставку' %}
+ +
\ No newline at end of file diff --git a/templates/client/includes/header.html b/templates/client/includes/header.html index 8f3711e8..e68f2b69 100644 --- a/templates/client/includes/header.html +++ b/templates/client/includes/header.html @@ -1,5 +1,7 @@ {% load static %} {% load i18n %} +{% load inbox %} +
@@ -46,10 +46,11 @@ {% trans 'фото' %} {% endif %}
- +
diff --git a/templates/client/includes/place_object.html b/templates/client/includes/place_object.html index d7d06c92..5a929af5 100644 --- a/templates/client/includes/place_object.html +++ b/templates/client/includes/place_object.html @@ -15,7 +15,7 @@
- {{ place.main_title|safe }} + {{ place.name|safe }}
{{ place.description|safe }} @@ -23,14 +23,14 @@
- {{ place.address.address }} + {{ place.adress }}
@@ -150,15 +150,19 @@
Схема павильонов
-
+ {% for scheme in place.get_scheme %} +
+
+ {% endfor %} +
{% endif %}
Контактная информация
-
{{ place.address.address }}
- +
{{ place.adress }}
+
@@ -175,7 +179,7 @@
- + {% if place.events %}
Список событий
- в расписание + в расписание + - +