Уведомления

Группа в Telegram: присоединиться

#1 Фев. 9, 2018 16:34:54

CoLoR
Зарегистрирован: 2018-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

python soap zeen где данные?

print(result._value_1):

 [<Schema(location=None, tns=None)>, <Element {urn:schemas-microsoft-com:xml-diffgram-v1}diffgram at 0x3e8d648>]

print(result._value_2):
 None

От себя добавлю: я вроде умею пользоваться отладчиком, после запроса я прошерстил все variables которые вообще используются на данный момент, но там нет необходимых мне данных.
В PHP в результатах есть массив diffgram в котором и находятся все необходимые данные, а здесь - нет.

Офлайн

#2 Фев. 10, 2018 01:13:22

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 5900
Репутация: +  537  -
Профиль   Отправить e-mail  

python soap zeen где данные?

CoLoR
но там нет необходимых мне данных
Ты предлагаешь догадываться, каких у тебя данных нет. Ты не заметил, что ты вообще не написал, что тебе приходит? Дал только какой-то похожий сайт.

CoLoR
В PHP в результатах есть массив diffgram
А это что?
<Element {urn:schemas-microsoft-com:xml-diffgram-v1}diffgram at 0x3e8d648>

CoLoR
я вроде умею пользоваться отладчиком
Вот где это подтверждено? Ты даже через Wireshark не проверил, приходят ли тебе одни и те же данные на оба скрипта. То есть ты можешь спокойно какую-то фигню додумать и пытаться её решить, а там вообще что-нибудь другое пришло.



Офлайн

#3 Фев. 10, 2018 08:41:22

CoLoR
Зарегистрирован: 2018-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

python soap zeen где данные?

py.user.next
Ты предлагаешь догадываться, каких у тебя данных нет. Ты не заметил, что ты вообще не написал, что тебе приходит? Дал только какой-то похожий сайт.
Сорри, сейчас исправлюсь. Сайт дал, т.к. он общедоступный, и ситуация идентичная. Можно даже забыть о моём внутреннем soap сервисе, а отработать на этом, что я даю здесь, от центробанка.

py.user.next
А это что?
<Element {urn:schemas-microsoft-com:xml-diffgram-v1}diffgram at 0x3e8d648>
На сколько я понимаю, это что-то вроде заголовков/схемы но не данные.

py.user.next
Вот где это подтверждено?
исправляюсь:

Итак, берём общедоступный soap-сервис от центробанка и тестим на нём:

Test #1 (c включенной опцией (raw_response=True))
код скрипта:
 from zeep import Client
from datetime import datetime, timedelta
client = Client("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?wsdl", strict=False)
with client.options(raw_response=True):
    result = client.service.OstatDepo((datetime.now() - timedelta(days=2)),datetime.now())
print(result.text)

Wireshark сформированный запрос:
<?xml version='1.0' encoding='utf-8'?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/“>
<soap-env:Body>
<ns0:OstatDepo xmlns:ns0=”http://web.cbr.ru/">
<ns0:fromDate>2018-02-08T08:57:37.802996</ns0:fromDate>
<ns0:ToDate>2018-02-10T08:57:37.802996</ns0:ToDate>
</ns0:OstatDepo>
</soap-env:Body>
</soap-env:Envelope>

Wireshark ответ сервиса:
<?xml version=“1.0” encoding=“utf-8”?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/“ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“ xmlns:xsd=”http://www.w3.org/2001/XMLSchema“>
<soap:Body>
<OstatDepoResponse xmlns=”http://web.cbr.ru/“>
<OstatDepoResult>
<xs:schema id=”OD“ xmlns=”“ xmlns:xs=”http://www.w3.org/2001/XMLSchema“ xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata“>
<xs:element name=”OD“ msdata:IsDataSet=”true“ msdata:UseCurrentLocale=”true“>
<xs:complexType>
<xs:choice minOccurs=”0“ maxOccurs=”unbounded“>
<xs:element name=”odr“>
<xs:complexType>
<xs:sequence>
<xs:element name=”D0“ msdata:Caption=”“ type=”xs:dateTime“ minOccurs=”0“ />
<xs:element name=”D1_7“ msdata:Caption=” 1 7 “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”D8_30“ msdata:Caption=” 8 30 “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”depo“ msdata:Caption=” “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”total“ msdata:Caption=”“ type=”xs:decimal“ minOccurs=”0“ />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata“ xmlns:diffgr=”urn:schemas-microsoft-com:xml-diffgram-v1“>
<OD xmlns=”“>
<odr diffgr:id=”odr1“ msdata:rowOrder=”0">
<D0>2018-02-09T00:00:00+03:00</D0>
<D1_7>3005371.02</D1_7>
<depo>7890.29</depo>
<total>3013261.31</total>
</odr>
</OD>
</diffgr:diffgram>
</OstatDepoResult>
</OstatDepoResponse>
</soap:Body>
</soap:Envelope>


результат работы скрипта в консоли:
 <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.
xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><OstatDepoResponse xml
ns="http://web.cbr.ru/"><OstatDepoResult><xs:schema id="OD" xmlns="" xmlns:xs="h
ttp://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msd
ata"><xs:element name="OD" msdata:IsDataSet="true" msdata:UseCurrentLocale="true
"><xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded"><xs:element nam
e="odr"><xs:complexType><xs:sequence><xs:element name="D0" msdata:Caption="Дата"
 type="xs:dateTime" minOccurs="0" /><xs:element name="D1_7" msdata:Caption="от 1
 до 7 дней" type="xs:decimal" minOccurs="0" /><xs:element name="D8_30" msdata:Ca
ption="от 8 до 30 дней" type="xs:decimal" minOccurs="0" /><xs:element name="depo
" msdata:Caption="до востребования" type="xs:decimal" minOccurs="0" /><xs:elemen
t name="total" msdata:Caption="Итого" type="xs:decimal" minOccurs="0" /></xs:seq
uence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></
xs:schema><diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" x
mlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><OD xmlns=""><odr diffgr
:id="odr1" msdata:rowOrder="0"><D0>2018-02-09T00:00:00+03:00</D0><D1_7>3005371.0
2</D1_7><depo>7890.29</depo><total>3013261.31</total></odr></OD></diffgr:diffgra
m></OstatDepoResult></OstatDepoResponse></soap:Body></soap:Envelope>



Test #2 (c ВЫключенной опцией (raw_response=False))
скрипт:
 from zeep import Client
from datetime import datetime, timedelta
client = Client("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?wsdl", strict=False)
with client.options(raw_response=False):
    result = client.service.OstatDepo((datetime.now() - timedelta(days=2)),datetime.now())
print(result)

Wireshark мой запрос:
<?xml version='1.0' encoding='utf-8'?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/“>
<soap-env:Body>
<ns0:OstatDepo xmlns:ns0=”http://web.cbr.ru/">
<ns0:fromDate>2018-02-08T09:07:57.479439</ns0:fromDate>
<ns0:ToDate>2018-02-10T09:07:57.479439</ns0:ToDate>
</ns0:OstatDepo>
</soap-env:Body>
</soap-env:Envelope>

Wireshark ответ:
<?xml version=“1.0” encoding=“utf-8”?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/“ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“ xmlns:xsd=”http://www.w3.org/2001/XMLSchema“>
<soap:Body>
<OstatDepoResponse xmlns=”http://web.cbr.ru/“>
<OstatDepoResult>
<xs:schema id=”OD“ xmlns=”“ xmlns:xs=”http://www.w3.org/2001/XMLSchema“ xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata“>
<xs:element name=”OD“ msdata:IsDataSet=”true“ msdata:UseCurrentLocale=”true“>
<xs:complexType>
<xs:choice minOccurs=”0“ maxOccurs=”unbounded“>
<xs:element name=”odr“>
<xs:complexType>
<xs:sequence>
<xs:element name=”D0“ msdata:Caption=”“ type=”xs:dateTime“ minOccurs=”0“ />
<xs:element name=”D1_7“ msdata:Caption=” 1 7 “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”D8_30“ msdata:Caption=” 8 30 “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”depo“ msdata:Caption=” “ type=”xs:decimal“ minOccurs=”0“ />
<xs:element name=”total“ msdata:Caption=”“ type=”xs:decimal“ minOccurs=”0“ />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata=”urn:schemas-microsoft-com:xml-msdata“ xmlns:diffgr=”urn:schemas-microsoft-com:xml-diffgram-v1“>
<OD xmlns=”“>
<odr diffgr:id=”odr1“ msdata:rowOrder=”0">
<D0>2018-02-09T00:00:00+03:00</D0>
<D1_7>3005371.02</D1_7>
<depo>7890.29</depo>
<total>3013261.31</total>
</odr>
</OD>
</diffgr:diffgram>
</OstatDepoResult>
</OstatDepoResponse>
</soap:Body>
</soap:Envelope>

результат работы скрипта в консоли:
 {
    'schema': <Schema(location=None, tns=None)>,
    '_value_1': <Element {urn:schemas-microsoft-com:xml-diffgram-v1}diffgram at
0x3422a80>
}


ИТОГО: в обоих случаях формируется одинаковый запрос (меняется только время datetime, не суть важно), ответ - идентичен, что с включенным параметром, что с выключенным. То есть фактически данные приходят, но zeep не формирует из них массив с данными и не передаёт пользователю.
Вопросы: 1) где данные? как их получить в массив?
2) может быть полученные данные (при включенной опции raw_response=True) можно как то легко парсить в массив?

Офлайн

#4 Фев. 10, 2018 10:06:59

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 5900
Репутация: +  537  -
Профиль   Отправить e-mail  

python soap zeen где данные?

  
>>> from zeep import Client
>>> from datetime import datetime, timedelta
>>> 
>>> client = Client("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?wsdl", strict=False)
>>> 
>>> with client.options(raw_response=False):
...     result = client.service.OstatDepo((datetime.now() - timedelta(days=2)),datetime.now())
... 
>>> print(result)
{
    'schema': <Schema(location=None, tns=None)>,
    '_value_1': <Element {urn:schemas-microsoft-com:xml-diffgram-v1}diffgram at 0x7f9011d687c8>
}
>>> [i.text for i in result._value_1[0][0]]
['2018-02-09T00:00:00+03:00', '3005371.02', '7890.29', '3013261.31']
>>>

CoLoR
На сколько я понимаю, это что-то вроде заголовков/схемы но не данные.
Это узел с данными. Он не может его представить, поэтому просто разбирает дотуда, докуда может, а потом просто прицепляетс к атрибутам с именами _value_N неразобранные узлы.

CoLoR
2) может быть полученные данные (при включенной опции raw_response=True) можно как то легко парсить в массив?
Да конечно можно. Просто берёшь и делаешь функцию, которая принимает сырые данные, а возвращает словарь (или список, если там одинаковые элементы есть в данных). А внутри функции через lxml и встроенный в него xpath ищешь всё что нужно и составляешь из этих данных словарь. Словарь - это аналог ассоциативного массива в php, но в питоне это не одно и то же, потому что ассоциативные массивы в php имеют порядок, тогда как в питоне это классическое нагруженное множество с быстрым поиском и без порядка.

Пример обработки сырых данных
  
>>> from zeep import Client
>>> from datetime import datetime, timedelta
>>> import lxml
>>> import pprint
>>> 
>>> client = Client(
...     "http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?wsdl",
...     strict=False)
>>> 
>>> with client.options(raw_response=True):
...     result = client.service.OstatDepo(
...         datetime.now() - timedelta(days=2),
...         datetime.now())
... 
>>> print(result)
<Response [200]>
>>> 
>>> def f(data):
...     doc = lxml.etree.fromstring(data)
...     nodes = doc.xpath(
...         '//xs:element',
...         namespaces={'xs': 'http://www.w3.org/2001/XMLSchema'})
...     out = [i.attrib for i in nodes]
...     return out
... 
>>> data = f(result.content)
>>> pprint.pprint(data)
[{'name': 'OD', '{urn:schemas-microsoft-com:xml-msdata}IsDataSet': 'true', '{urn:schemas-microsoft-com:xml-msdata}UseCurrentLocale': 'true'},
 {'name': 'odr'},
 {'name': 'D0', '{urn:schemas-microsoft-com:xml-msdata}Caption': 'Дата', 'type': 'xs:dateTime', 'minOccurs': '0'},
 {'name': 'D1_7', '{urn:schemas-microsoft-com:xml-msdata}Caption': 'от 1 до 7 дней', 'type': 'xs:decimal', 'minOccurs': '0'},
 {'name': 'D8_30', '{urn:schemas-microsoft-com:xml-msdata}Caption': 'от 8 до 30 дней', 'type': 'xs:decimal', 'minOccurs': '0'},
 {'name': 'depo', '{urn:schemas-microsoft-com:xml-msdata}Caption': 'до востребования', 'type': 'xs:decimal', 'minOccurs': '0'},
 {'name': 'total', '{urn:schemas-microsoft-com:xml-msdata}Caption': 'Итого', 'type': 'xs:decimal', 'minOccurs': '0'}]
>>> 
Тут не стал удалять пространства имён (они затрудняют взятие значений по ключу), но всё это так же можно удалить внутри функции, чтобы на выход в словаре шли только нужные данные.



Отредактировано py.user.next (Фев. 10, 2018 10:43:12)

Офлайн

#5 Фев. 10, 2018 13:38:32

CoLoR
Зарегистрирован: 2018-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

python soap zeen где данные?

Спасибо большое. То есть проблема всё же в zeep - не разбирает ответ в словарь.
Я на гитхабе по zeep обнаружил аналогичные запросы от пользователей, и ответа им пока не дали. Zeep отлично отрабатывает когда в ответе String, пусть даже несколько, а вот когда та xml - то, с чем я столкнулся, вот

Офлайн

#6 Фев. 10, 2018 14:40:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 5900
Репутация: +  537  -
Профиль   Отправить e-mail  

python soap zeen где данные?

Ну вот он пишет
http://docs.python-zeep.org/en/master/

The SOAP specifications are unfortunately really vague and leave a lot of things open for interpretation. Due to this there are a lot of WSDL documents available which are invalid or SOAP servers which contain bugs. Zeep tries to be as compatible as possible but there might be cases where you run into problems. Don’t hesitate to submit an issue in this case (but please first read Reporting bugs).
Он, видимо, разбирает только то, в чём уверен в соответствии со спецификацией. Может быть и баг, конечно, у него в модуле, раз куда-то данные вообще пропадают. Обычно принято такое складывать куда-то, даже если оно неправильное.



Офлайн

#7 Фев. 20, 2018 09:40:20

CoLoR
Зарегистрирован: 2018-02-08
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

python soap zeen где данные?

Я задавал свой вопрос разработчику zeep, вчера получил ответ:

The call returns an any without a schema. So zeep has no idea how to parse the result.
I can add a lxml element to dict, need to think about that

Спасибо большое py.user.next за отклик в теме и набросанную функцию для разбора сырого ответа, в ближайшее время пойду по этому пути.

Офлайн

#8 Фев. 20, 2018 10:54:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 5900
Репутация: +  537  -
Профиль   Отправить e-mail  

python soap zeen где данные?

Да похоже, что у него баг там. Он и сам думает “куда оно делось?”.



Офлайн

#9 Сен. 26, 2018 10:29:33

clibin009
Зарегистрирован: 2018-09-26
Сообщения: 100
Репутация: +  -4  -
Профиль   Отправить e-mail  

python soap zeen где данные?

clb20180927
air max 90
coach factory outlet online
nike cortez classic
nike shoes
moncler outlet
coach outlet store online clearance
coach factory outlet
yeezy boost 350
adidas outlet store
cheap air jordans
ralph lauren sale
pg 2 shoes
canada goose outlet store
uggs outlet
cheap jordans
uggs outlet online
ugg outlet store
canadian goose jacket
moncler outlet online
fitflops sale
cheap oakley sunglasses
coach factorty outlet store
ralph lauren
coach outlet online
swarovski outlet
fitflop sandals
pandora charms outlet
michael kors outlet store
uggs outlet
michael kors outlet clearance
canada goose
reebok outlet
ralph lauren uk
adidas superstar shoes
michael kors outlet canada
salvatore ferragamo outlet
ralph lauren uk
nike huarache shoes
kate spade outlet online
uggs outlet
fendi handbags
coach factorty outlet online
coach outlet online
louboutin shoes
pandora charms
canada goose outlet
oakley sunglasses outlet
coach factory outlet
michael kors canada
nike air max 97
coach factorty outlet online
cheap air jordans
louis vuitton outlet
gucci outlet online
louboutin outlet
kate spade handbags
skechers outlet
moncler outlet
philipp plein outlet
ugg outlet online
nike outlet store
canada goose coats
air max 95
ray ban glasses
fitflops sale
kate spade handbags
nike tessen
timberland outlet
pandora jewelry store
ralph lauren outlet online
coach outlet canada
nike air presto
salomon outlet
coach outlet online
coach factory outlet online
pandora charms sale clearance
oakley sunglasses wholesale
kate spade purses
birkenstock outlet store
cheap jordan shoes
dr martens boots
nike react shoes
ugg outlet
nike zoom
nike free 3.0
coach factory outlet online
fake rolex
fitflops sale
ecco outlet
nike shoes outlet
nike air max 97
adidas superstars
converse all star
adidas shoes
ugg outlet online
coach outlet store online
pandora jewelry outlet
kate spade purses
uggs on sale
moncler outlet
nmd adidas
fitflop sandals
polo ralph lauren outlet
nike cortez classic
timberland outlet
nike outlet online
ugg boots
pandora charms outlet
birkin handbags
pandora charms sale clearance
nike outlet
adidas campus shoes
kate spade outlet online
kate spade outlet online
cheap oakley sunglasses
ugg boots outlet
north face jackets
diamondbacks jerseys
ecco outlet
rolex replica watches for sale
coach canada outlet
adidas stan smith
michael kors outlet online
rangers jersey
padres jerseys
coach factory outlet
kate spade handbag
red bottom heels
cheap air jordans
coach outlet store
coach outlet online
michael kors outlet online
birkenstock shoes
pandora jewelry
pandora charms sale
michael kors outlet clearance
ugg outlet store
ugg outlet
coach outlet canada
discount oakley sunglasses
coach outlet store
longchamp outlet online
coach factory outlet online
birkenstock outlet online
coach factory outlet
coach outlet online
ugg outlet
louis vuitton outlet online
nike shoes
ysl outlet
michael kors canada
ecco outlet
louis vuitton outlet
air max
pandora sale clearance
adidas nmd r1
michael kors outlet clearance
ugg outlet store
indians jerseys
kate spade handbags
hermes bag
coach factory outlet online
lebron james shoes
longchamp outlet
coach bags
mont blanc pen
kate spade handbags
ugg canada
coach outlet online
pandora jewelry
nike free 5.0
adidas nmd r1
ugg boots
braves jerseys
pandora charms outlet
kate spade outlet online
coach outlet store online
burberry outlet store
new balance outlet store
coach outlet online
moncler jackets
ugg boots
polo ralph lauren outlet online
ray bans
yeezy shoes
durant shoes
jordans
fitflops sale clearance
canada goose outlet
christian louboutin shoes
coach factory outlet
pirates jerseys
coach factory outlet online
cheap jordans
birkenstock uk
athletics jerseys
nike huarache shoes
coach outlet store online
adidas nmd runner
astros jerseys
jimmy choo
nike zoom shoes
pandora charms sale
moncler outlet online
moncler outlet store
uggs outlet store
louis vuitton handbags
birkenstock shoes outlet
yeezy boost 350
cartier watches
timberland boots
canada goose
louis vuitton outlet store
birkenstock outlet
michael kors outlet online
cheap jordans for sale
kate spade handbags
fitflop shoes
polo ralph lauren outlet
birkenstock outlet store
hermes bags
coach outlet store online
christian louboutin sale
michael kors outlet online
nike outlet store
city royals jerseys
michael kors outlet store
adidas outlet store
pandora jewelry outlet
coach factory outlet online
adidas outlet online
ralph lauren uk
ralph lauren outlet online
nfl jerseys
air max shoes
coach factory outlet
coach outlet canada
pandora jewelry
coach outlet online
christian louboutin shoes
cheap oakley sunglasses
ralph lauren outlet online
longchamp
north face outlet store
dodgers jerseys
canada goose outlet store
air max 1
canada goose parka
michael kors outlet store
kate spade outlet
vans outlet store
michael kors outlet clearance
polo ralph lauren
columbia outlet
nfl jerseys
fred perry outlet
brewers jerseys
coach outlet online
ralph lauren sale clearance uk
moncler outlet online
pandora canada
mont blanc pens
coach factory outlet online
white sox jerseys
coach factory outlet online
new balance outlet
kate spade bags
pandora outlet
yeezy shoes
nike air max 2018
yeezy boost
tory burch outlet online
moncler outlet store
ugg shoes
adidas yeezy
tory burch handbags
canada goose outlet
adidas yeezy shoes
canada goose coats
coach outlet online
retro 11
air max 87
canada goose outlet store
coach factorty outlet store
adidas shoes
polo ralph lauren outlet online
polo ralph lauren outlet
michael kors
air max outlet
kobe shoes
reds jerseys
ugg outlet store
prada shoes
pandora rings
canada goose coats
pandora charms
air jordan retro
converse outlet
kate spade outlet online
canada goose outlet
coach factory outlet online
ecco shoes
polo outlet online
cheap jordans
toms shoes
nike sneakers
nike dunks
yeezy boost 350
oakley sunglasses outlet
canada goose
valentino outlet
prada outlet online
uggs outlet
mets jerseys
coach outlet store online
tory burch outlet store
discount oakley sunglasses
ugg boots
ralph lauren outlet online
air max shoes
ysl handbags
coach outlet store online
dansko shoes
adidas outlet online
michael kors outlet store
tiffany and co outlet
red bottom
rockies jerseys
tiffany and co jewelry
uggs outlet store
timberland shoes
dr martens boots
cheap nike shoes
uggs outlet
air more uptempo
pandora charms outlet
converse shoes
adidas yeezy boost 350
mlb jerseys cheap
louis vuitton factory outlet
coach outlet online
kate spade handbags
supra for sale
michael kors outlet
air more money
cheap air max
coach outlet online
cheap jordan shoes
fitflops uk
jimmy choo shoes
supreme shirts
cheap ray ban sunglasses
toms outlet store
adidas outlet store
canada goose sale
nike air max 2019
pandora charms outlet
nike outlet online
louboutin shoes
ugg outlet online
swarovski crystal
moncler coats
timberland shoes
coach outlet online
fitflop sandals
michael kors outlet online
adidas store
pandora jewelry
mulberry outlet uk
michael kors bags
ronaldo jerseys
fitflop uk
canada goose jacket
rolex replica watches
kate spade outlet online
canada goose
cheap jordan shoes
louis vuitton factory outlet
basketball shoes
columbia shoes
nike running shoes
nike outlet store online
coach factory outlet online
christian louboutin shoes
kate spade outlet store
vans outlet
mulberry
coach outlet
birkenstock outlet
ugg outlet
coach outlet
yeezy shoes
coach outlet online
coach outlet online
cheap jordan shoes
adidas yeezy boost
canada goose outlet online
canada goose outlet
ugg boots
cheap nfl jerseys wholesale
twins jerseys
ugg outlet
tiffany outlet
ugg canada
ugg boots
ecco shoes for women
louboutin outlet
canadian goose
ralph lauren uk
kate spade outlet
ugg outlet
salvatore ferragamo shoes
ugg outlet online
canada goose outlet store
jordan shoes
pandora outlet
ugg outlet
christian louboutin shoes
michael kors outlet store
uggs outlet
pandora charms sale
jordan shoes
kyrie 4
canada goose jackets
michael kors
nike shox shoes
red bottoms
canada goose
toms outlet online
ralph lauren
fred perry polo shirts
coach factory outlet online
supreme shirts
coach factory outlet online
michael kors outlet online
discount oakley sunglasses
kobe shoes
moncler coats
asics outlet store
nike air max zero
coach outlet online
birkenstock sale
birkenstock sandals
christian louboutin shoes
pandora charms outlet
nike air max 90
ugg boots
cheap jordan shoes
pandora jewelry
air jordan shoes
jordan shoes for sale
cheap oakley sunglasses
ugg outlet online
tory burch outlet online
jimmy choo outlet
angels jerseys
pandora charms
timberland boots outlet
pandora jewelry outlet
ugg outlet store
longchamp outlet
nike outlet
canada goose jackets
mlb jerseys wholesale
moncler outlet online
adidas outlet
christian louboutin sale
canada goose jackets
ugg boots outlet
moncler
lacoste polo shirts
coach outlet online
supreme uk
philipp plein
ugg outlet store
mulberry uk
canada goose
kate spade outlet online
michael kors outlet store
adidas ultra boost
nike air max 2018
ralph lauren sale
mulberry handbags
adidas originals
michael kors outlet
nike outlet store
marlins jerseys
pandora charms sale clearance
devil rays jerseys
moncler coats
gucci outlet store
supreme clothing
mariners jerseys
coach outlet canada
kate spade outlet online
louis vuitton outlet online
salvatore ferragamo
michael kors handbags
hermes outlet
air jordans
orioles jerseys
michael kors outlet clearance
cheap jordans free shipping
underarmour outlet
uggs outlet
cheap jordan shoes
air max
polo ralph lauren outlet online
michael kors handbags
pandora charms
dr martens
adidas nmd r1
asics outlet
pandora jewelry
canada goose outlet store
timberland outlet
adidas outlet online
kate spade outlet
kate spade bags
supra for sale
blue jays jerseys
coach factory outlet online
cheap ray ban sunglasses
coach factory outlet
hermes bags
rolex replica watches
timberland shoes
nike sneakers
ralph lauren sale clearance uk
pandora outlet store
adidas sneakers
cheap ray ban sunglasses
moncler outlet store
burberry outlet
kate spade outlet online
coach canada
canada goose jackets
clb20180927

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version