Ejemplo n.º 1
0
async def change_alias_manufacturer_id():
    m_client = AgentManufacturerAliasesClient()
    manufacturer_aliases = await m_client.modify(data={
        "manufacturer_id": 18597,
        "origin": "world medicine"}, filter=3644)
    print(manufacturer_aliases)
    pass
Ejemplo n.º 2
0
async def add_manufacturer_aliases():
    await es.indices.delete(index="agentmanufactureraliasesexecutor-index")
    alias_client = AgentManufacturerAliasesClient()
    products = await alias_client.get_all()
    info = await es.info()
    print(info)

    for key, product in products.items():
        res = await es.index(index="agentmanufactureraliasesexecutor-index",
                             doc_type='item',
                             id=key,
                             body=product)

    es.indices.refresh(index="agentmanufactureraliasesexecutor-index")
Ejemplo n.º 3
0
async def fix_products_with_wrong_manufacturers():
    agent_manufacturers_client = AgentManufacturerAliasesClient()
    products = await db.list(
        "select *, current_timestamp from products where manufacturer_id=0")
    manufacturers = set()
    for product in products:
        manufacturers.add(product["manufacturer"].lower())

    manufacturer_client = ManufacturerClient()
    manufacturers_l = list(manufacturers)
    print(manufacturers_l)
    manufacturer_aliases_matches = await agent_manufacturers_client.matches(
        names=manufacturers_l)
    print(manufacturer_aliases_matches)
    product_client = ProductsExecutorClient()
    others = list()
    for product in products:
        manufacturer = product["manufacturer"]
        if manufacturer.lower() in manufacturer_aliases_matches:
            new_mnf = manufacturer_aliases_matches[manufacturer.lower()]
            data = {
                "product_id": product["product_id"],
                "manufacturer_id": new_mnf["manufacturer_id"],
                "manufacturer": new_mnf["origin"]
            }
            print(data)
            await product_client.modify(data=data)
        else:
            others.append(product)

    manufacturer_matches = await manufacturer_client.matches(
        names=manufacturers_l)
    for product in others:
        manufacturer = product["manufacturer"]
        if manufacturer.lower() in manufacturer_matches:
            new_mnf = manufacturer_matches[manufacturer.lower()]
            data = {
                "product_id": product["product_id"],
                "manufacturer_id": new_mnf["manufacturer_id"],
                "manufacturer": new_mnf["name"]
            }
            print(data)
            await product_client.modify(data=data)

    print("finish")
Ejemplo n.º 4
0
async def move_move():
    manufacturer_id = 19465
    manufacturer_client = ManufacturerClient()

    new_manufacturer_id = 18284
    print("## NEW ##")
    manufacturer = await manufacturer_client.get_by_id(mid=new_manufacturer_id)
    print(manufacturer)
    print("## END ##")
    alias_client = AgentManufacturerAliasesClient()
    aliases = await alias_client.list_by_manufacturer_id(
        manufacturer_id=manufacturer_id)
    print("### ALIASES ###")
    print(aliases)
    print("### END ###")

    for alias in aliases:
        manufacturer_aliases = await alias_client.modify(
            data={
                "manufacturer_id": manufacturer["manufacturer_id"],
                "origin": manufacturer["name"]
            },
            filter=alias["alias_id"])
        print(manufacturer_aliases)

    product_client = ProductsExecutorClient()
    products = await product_client.get_all_by_manufacturer_id(
        manufacturer_id=manufacturer_id)
    print("### PRODUCTS ###")
    print(products)
    print("### END ###")
    for product in products:
        r = await product_client.modify(
            data={
                "product_id": product["product_id"],
                "manufacturer_id": manufacturer["manufacturer_id"],
                "manufacturer": manufacturer["name"]
            })
    # manufacturer_aliases = await m_client.modify(data={
    #     "manufacturer_id":18597,
    #     "origin": "world medicine"}, filter=3644)

    r = await manufacturer_client.remove_by_id(manufacturer_id=manufacturer_id)
    print({"status": "success"})
Ejemplo n.º 5
0
async def clean():
    manufacturer_client = ManufacturerClient()
    dublicates = await db.list("select * from manufacturers as ou where (select count(*) from manufacturers as inr where inr.name = ou.name) > 1 order by name desc")
    name = None
    origin_id = 0
    counter = 0
    for dublicate in dublicates:
        if name is None:
            name = dublicate["name"]
            origin_id = dublicate["manufacturer_id"]
        elif name == dublicate["name"]:
            counter += 1
            manufacturer_id = dublicate["manufacturer_id"]
            alias_client = AgentManufacturerAliasesClient()
            aliases = await alias_client.list_by_manufacturer_id(manufacturer_id=manufacturer_id)
            print("### ALIASES ###")
            print(aliases)
            print("### END ###")

            for alias in aliases:
                alias["manufacturer_id"] = origin_id
                manufacturer_aliases = await alias_client.modify(data=alias,
                                                                 filter=alias["alias_id"])
                print(manufacturer_aliases)

            product_client = ProductsExecutorClient()
            products = await product_client.get_all_by_manufacturer_id(manufacturer_id=manufacturer_id)
            print("### PRODUCTS ###")
            print(products)
            print("### END ###")
            for product in products:
                r = await product_client.modify(data={
                    "product_id": product["product_id"],
                    "manufacturer_id": origin_id})
            await manufacturer_client.remove_by_id(manufacturer_id=manufacturer_id)
        else:
            name = dublicate["name"]
            origin_id = dublicate["manufacturer_id"]
    print("removed " + str(counter) + " dublicates")
Ejemplo n.º 6
0
async def parse():
    results = await db.list(
        "select manufacturer_id from manufacturers where manufacturer_id not in (select manufacturer_id from products)"
    )
    has = set()
    count = 0
    manufacturer_client = ManufacturerClient()
    for result in results:
        manufacturer_id = result["manufacturer_id"]
        print(manufacturer_id)
        alias_client = AgentManufacturerAliasesClient()
        aliases = await alias_client.list_by_manufacturer_id(
            manufacturer_id=manufacturer_id)
        origin_product = await manufacturer_client.get_by_id(
            mid=manufacturer_id)
        for alias in aliases:
            await alias_client.remove(alias_id=alias["alias_id"])

        await manufacturer_client.remove_by_id(manufacturer_id=manufacturer_id)
        print("remove manufacturer with id = " + str(manufacturer_id))

    print("found " + str(count) + " dublicates")
Ejemplo n.º 7
0
async def validate_manufacturer():
    alias_manufacturer_client = AgentManufacturerAliasesClient()
    manufacturer_aliases_matches = await alias_manufacturer_client.matches(
        names=["grace pharma"])
    print(manufacturer_aliases_matches)
Ejemplo n.º 8
0
async def remove_alias():
    m_client = AgentManufacturerAliasesClient()
    manufacturer_aliases = await m_client.remove(alias_id=6742)
    print(manufacturer_aliases)
    pass
Ejemplo n.º 9
0
async def list_names():
    agent_manufacturers_client = AgentManufacturerAliasesClient()
    manufacturer_aliases = await agent_manufacturers_client.list_names(agent_id=10)
    print(manufacturer_aliases)
    pass
Ejemplo n.º 10
0
async def test_():
    agent_manufacturers_client = AgentManufacturerAliasesClient()
    manufacturer_aliases_matches = await agent_manufacturers_client.matches(names=[u'hebei kaiwei pharmaceutical co. ltd, китай'])
    print("#####")
    print(manufacturer_aliases_matches)
    print("#####")