def refresh_open_orders(db_file, confirm_file, typ, clean=False, confirm=True): data = load_db(db_file) for k in data: #log.debug(json.dumps(data,indent=4)) #log.debug(data) if not '_id' in data[k]: log.debug("found empty data %s" % k) try: data[k] = retry_get_order(k, typ) except Exception as e: log.error("cannot update order %s, not logged in?" % k) log.error(e) elif not (data[k]["order-status"] in ("Finished", "Closed")): log.info("refreshing id %s - status %s" % \ (k,data[k]["order-status"])) try: data[k] = retry_get_order(k, typ) except Exception as e: log.error("cannot update order %s, not logged in?" % k) log.error(e) #log.debug(json.dumps(data[k],indent=4)) if data[k]["order-status"] == "Finished" and confirm: log.debug("Order Status Changed from Shipped to Finished") try: set_confirm_date(k, datetime.now(), db_file, confirm_file) except Exception as e: log.warn( "could not confirm order %s with new order date %s" % (k, datetime.now())) else: log.debug("will not refresh id %s" % k) save_db(data, db_file)
def get_all_orders(filename, detailed): db = load_db(filename) for k, v in sorted(db.items(), key=lambda x: x[1]["payment-time"], reverse=True): if detailed: print_detailed_order(v) else: print_short_order(v)
def get_open_orders(filename, detailed): db = load_db(filename) for k, v in sorted(db.items(), key=lambda x: x[1]["payment-time"], reverse=True): if v["order-status"] in ("Finished", "Closed", "Fund Processing"): pass else: if detailed: print_detailed_order(v) else: print_short_order(v)
def confirm_order(order, order_db, confirm_db): db = load_db(order_db) try: o = db[order] if o['type'] == 'ali': ali.confirm_order(order) elif o['type'] == 'ebay': ebay.confirm_order(order) else: log.error("no such type '%s' for order %i" % (o['type'], order)) set_confirm_date(order, datetime.now(), order_db, confirm_db) except Exception as e: log.error(e) raise
def new_orders_to_file(db_file, typ, full=False): db = load_db(db_file) if typ == "ali": ret = ali.get_order_list(full) elif typ == "ebay": ret = ebay.get_order_list(full) else: raise Exception("no such typ %s" % typ) changed = False for k in ret: if not (str(k) in db): log.info("adding new order %s to db" % k) db[k] = {'type': typ} changed = True if not changed: log.info("nothing changed") else: save_db(db, db_file)
def confirm_order(ident, confirm_file): confirm = load_db(confirm_file) try: print(json.dumps(run_casper(confirm_js, [ident]))) except: log.error("could not confirm order %s" % ident)
# TODO: this does not yet work from core import load_config, save_db, load_db from splinter import Browser import time from pprint import pprint #order_list="http://trade.aliexpress.com/orderList.htm" order_list = 'http://trade.alibaba.com/order_list.htm' ali_website = "http://aliexpress.com/" customHeaders = {"Referer": ali_website, "DNT": "1"} config = load_config() aconf = config['ali'] with Browser("firefox", user_agent=config['user_agent']) as browser: browser.visit(ali_website) browser.cookies.add(load_db(aconf['cookie_file'])) pprint(browser.cookies.all()) browser.find_by_css('.nav-user-account').mouse_over() time.sleep(10) browser.click_link_by_href(order_list) pprint(browser.cookies.all()) time.sleep(20) """ // partly from https://code.google.com/p/phantomjs/issues/attachmentText?id=716&aid=7160000000&name=alipromo.js&token=78bfXm_YEKbtdwqWmkdPRGO7_fU%3A1352647368420 var casper = require('casper').create(), utils = require('utils'), system = require('system'), fs = require('fs'); var ali_home= system.env.HOME + "/.ali"; var orders =[],