예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
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)
예제 #4
0
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
예제 #5
0
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)
예제 #6
0
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)
예제 #7
0
# 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 =[],