parsed['postAdForm.mapRadius'] = ['75.29440284317512'] parsed['postAdForm.adType'] = ['OFFER'] parsed['postAdForm.priceType'] = ['FIXED'] parsed['postAdForm.priceAmount'] = ['1000'] parsed['postAdForm.attributeMap[forsaleby_s]'] = ['ownr'] parsed['postAdForm.title'] = ['asdfasdff'] parsed['postAdForm.description'] = ['asdfasdfasdfasdf'] # parsed['file']=[''] # parsed['postAdForm.youtubeVideoURL']=[''] # parsed['location-fallback']=['k1m 0s6'] # parsed['postAdForm.phoneNumber']=[''] parsed['featuresForm.topAdDuration'] = ['7'] # parsed['submitType']=['saveAndCheckout'] session = login.new_session() sessionStr = RequestUtils.get_session_str(session) client = httpclient.AsyncHTTPClient() httpmethod = "POST" url = "https://www.kijiji.ca/p-submit-ad.html" nativeCookies = { 'Content-Type': 'application/x-www-form-urlencoded', "Cookie": sessionStr } necessary = [] toCheck = len(parsed.keys()) def handle_create(field, isNec): print("Failed field is :", field) necessary.append(field)
request = httpclient.HTTPRequest(url, method=httpmethod, headers=nativeCookies) client.fetch( request, partial(handle_getad, categoryId, sessionStr, extraFields, finalCb)) def Create_Callbacks(): cbs = {} cbs['OnSuccessCreate'] = handle_success_create cbs['OnFailCreate'] = handle_failed_create return cbs def main(session, toTest): for c in toTest: get_ad(c, session, None, handle_delete) if __name__ == '__main__': catId = 10 children = KijijiCategories.load_child_flat(catId) session = login.new_session() cookiesStr = RequestUtils.get_session_str(session) main(cookiesStr, toTest) ioloop.IOLoop.instance().start() with open('./data/failed-creates.json', 'w') as f: dump(failed, f)