Ejemplo n.º 1
0
 def check_connection(self):
     if self.use_pure_rest_api:
         success, resp = oc_request(self.url + '/languages',
                                    headers=self.headers)
     else:
         success, resp = oc_request(self.url + '/countries',
                                    headers=self.headers)
     return (success, resp.get('error', ''))
Ejemplo n.º 2
0
    def get_product(self, product_id):
        success, resp = oc_request(self.url + '/products/%s' % product_id,
                                   headers=self.headers)
        product = resp.get('data', {})
        product['product_id'] = product.get('product_id') or product.get('id')

        # resolving category_id
        if isinstance(product.get('category'), dict):
            for category_id, first_category in product.get('category').items():
                product['category_id'] = category_id
                break

        for i, first_description in product.get('product_description').items():
            if isinstance(first_description, list):
                for k, val in first_description[0].items():
                    product[k] = val
                break
            else:
                for k, val in first_description.items():
                    product[k] = val
            if i.isdigit():
                break
            else:
                product[i] = first_description
        return (success, product)
Ejemplo n.º 3
0
 def delete_customer(self, customer_id):
     data = {'customers': [customer_id]}
     success, resp = oc_request(self.url + '/customers',
                                headers=self.headers,
                                method='DELETE',
                                data=data)
     return (success, resp)
Ejemplo n.º 4
0
 def get_categories_by_level(self, level=1):
     success, resp = oc_request(self.url + '/categories/level/%s' % str(level), headers=self.headers)
     if not success:
         return
     categories_resp = resp.get('data').get('categories', {})
     for c in categories_resp:
         yield OpencartCategory(self, categories_resp.get(c)[0], level=level)
Ejemplo n.º 5
0
 def get_orders_by_customer(self, customer_id):
     success, resp = oc_request(self.url + '/orders/user/%s' % customer_id,
                                headers=self.headers)
     if not success:
         return
     for o in resp.get('data'):
         yield self.get_order(o.get('order_id'))
Ejemplo n.º 6
0
 def get_categories_by_parent(self, parent_id):
     success, resp = oc_request(self.url + '/categories/parent/%s' % parent_id, headers=self.headers)
     if not success:
         return
     categories_resp = resp.get('data').get('categories', {})
     for c in categories_resp:
         yield OpencartCategory(self, categories_resp.get(c)[0], parent=parent_id)
Ejemplo n.º 7
0
 def delete_order(self, order_id):
     data = {'orders': [order_id]}
     success, resp = oc_request(self.url + '/orders/%s' % order_id,
                                headers=self.headers,
                                method='DELETE',
                                data=data)
     return (success, resp)
Ejemplo n.º 8
0
 def get_products_by_category(self, category_id, limit=100, page=1):
     while True:
         success, resp = oc_request(
             self.url + '/products/category/%s/limit/%s/page/%s' %
             (category_id, str(limit), str(page)),
             headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data', {}):
             c['category_id'] = category_id
             c['product_id'] = c.get('product_id') or c.get('id')
             for i, first_description in c.get(
                     'product_description').items():
                 if isinstance(first_description, list):
                     for k, val in first_description[0].items():
                         c[k] = val
                     break
                 else:
                     for k, val in first_description.items():
                         c[k] = val
                 if i.isdigit():
                     break
                 else:
                     c[i] = first_description
             c['options_list'] = [
                 OpencartProductOptionExt(self, o) for o in c.get('options')
             ] if c.get('options') else []
             yield c
Ejemplo n.º 9
0
 def get_customers(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url + '/customers/limit/%s/page/%s' % (str(limit), str(page)), headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data'):
             yield self.get_customer(c.get('customer_id'))
Ejemplo n.º 10
0
 def get_all_products(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url + '/products/limit/%s/page/%s' % (str(limit), str(page)), headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data', {}):
             yield c
Ejemplo n.º 11
0
 def get_product_options(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url + '/product_options/limit/%s/page/%s' % (str(limit), str(page)), headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for po in resp.get('data'):
             yield OpencartProductOption(self, po)
Ejemplo n.º 12
0
 def get_stores(self):
     success, resp = oc_request(self.url + '/stores', headers=self.headers)
     if not success:
         return
     stores = resp.get('data')
     yield OpencartStore(self, stores)
     for i in stores:
         if i.isdigit():
             yield OpencartStore(self, stores.get(i))
Ejemplo n.º 13
0
 def get_customer_groups(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url + '/customergroups/limit/%s/page/%s' % (str(limit), str(page)), headers=self.headers)
         customer_groups = resp.get('data')
         if not success or not customer_groups:
             break
         page += 1
         for g in customer_groups:
             yield OpencartCustomerGroup(self, customer_groups.get(g)[0])
Ejemplo n.º 14
0
 def get_stores(self):
     success, resp = oc_request(self.url + '/stores', headers=self.headers)
     if not success:
         return
     stores = resp.get('data')
     yield OpencartStore(self, stores)
     for i in stores:
         if i.isdigit():
             yield OpencartStore(self, stores.get(i))
Ejemplo n.º 15
0
 def get_customer_group_json(self, limit=100, page=1, language_id=1):
     # for now just ignoring language_id
     while True:
         success, resp = oc_request(self.url + '/customergroups/limit/%s/page/%s' % (str(limit), str(page)), headers=self.headers)
         customer_groups = resp.get('data', {})
         if not success or not customer_groups:
             break
         page += 1
         for g in customer_groups:
             yield customer_groups.get(g)[0]
Ejemplo n.º 16
0
 def get_categories_by_level(self, level=1):
     success, resp = oc_request(self.url +
                                '/categories/level/%s' % str(level),
                                headers=self.headers)
     if not success:
         return
     categories_resp = resp.get('data').get('categories', {})
     for c in categories_resp:
         yield OpencartCategory(self,
                                categories_resp.get(c)[0],
                                level=level)
Ejemplo n.º 17
0
 def get_categories_by_parent(self, parent_id):
     success, resp = oc_request(self.url +
                                '/categories/parent/%s' % parent_id,
                                headers=self.headers)
     if not success:
         return
     categories_resp = resp.get('data').get('categories', {})
     for c in categories_resp:
         yield OpencartCategory(self,
                                categories_resp.get(c)[0],
                                parent=parent_id)
Ejemplo n.º 18
0
 def get_customers(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url +
                                    '/customers/limit/%s/page/%s' %
                                    (str(limit), str(page)),
                                    headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data'):
             yield self.get_customer(c.get('customer_id'))
Ejemplo n.º 19
0
 def get_product_options(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url +
                                    '/product_options/limit/%s/page/%s' %
                                    (str(limit), str(page)),
                                    headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for po in resp.get('data'):
             yield OpencartProductOption(self, po)
Ejemplo n.º 20
0
 def get_all_products(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url +
                                    '/products/limit/%s/page/%s' %
                                    (str(limit), str(page)),
                                    headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data', {}):
             yield c
Ejemplo n.º 21
0
 def get_customer_groups(self, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url +
                                    '/customergroups/limit/%s/page/%s' %
                                    (str(limit), str(page)),
                                    headers=self.headers)
         customer_groups = resp.get('data')
         if not success or not customer_groups:
             break
         page += 1
         for g in customer_groups:
             yield OpencartCustomerGroup(self, customer_groups.get(g)[0])
Ejemplo n.º 22
0
 def get_customer_group_json(self, limit=100, page=1, language_id=1):
     # for now just ignoring language_id
     while True:
         success, resp = oc_request(self.url +
                                    '/customergroups/limit/%s/page/%s' %
                                    (str(limit), str(page)),
                                    headers=self.headers)
         customer_groups = resp.get('data', {})
         if not success or not customer_groups:
             break
         page += 1
         for g in customer_groups:
             yield customer_groups.get(g)[0]
Ejemplo n.º 23
0
 def get_products_by_category(self, category_id, limit=100, page=1):
     while True:
         success, resp = oc_request(self.url + '/products/category/%s/limit/%s/page/%s' % (category_id, str(limit), str(page)), headers=self.headers)
         if not success or not resp.get('data'):
             break
         page += 1
         for c in resp.get('data', {}):
             c['category_id'] = category_id
             c['product_id'] = c.get('product_id') or c.get('id')
             for i, first_description in c.get('product_description').items():
                 if isinstance(first_description, list):
                     for k, val in first_description[0].items():
                         c[k] = val
                     break
                 else:
                     for k, val in first_description.items():
                         c[k] = val
                 if i.isdigit():
                     break
                 else:
                     c[i] = first_description
             c['options_list'] = [OpencartProductOptionExt(self, o) for o in c.get('options')] if c.get('options') else []
             yield c
Ejemplo n.º 24
0
    def get_product(self, product_id):
        success, resp = oc_request(self.url + '/products/%s' % product_id, headers=self.headers)
        product = resp.get('data', {})
        product['product_id'] = product.get('product_id') or product.get('id')

        # resolving category_id
        if isinstance(product.get('category'), dict):
            for category_id, first_category in product.get('category').items():
                product['category_id'] = category_id
                break

        for i, first_description in product.get('product_description').items():
            if isinstance(first_description, list):
                for k, val in first_description[0].items():
                    product[k] = val
                break
            else:
                for k, val in first_description.items():
                    product[k] = val
            if i.isdigit():
                break
            else:
                product[i] = first_description
        return (success, product)
Ejemplo n.º 25
0
 def get_payment_methods(self):
     success, resp = oc_request(self.url + '/paymentmethods', headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 26
0
 def get_order_statuses(self):
     success, resp = oc_request(self.url + '/order_statuses', headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 27
0
 def check_connection(self):
     if self.use_pure_rest_api:
         success, resp = oc_request(self.url + '/languages', headers=self.headers)
     else:
         success, resp = oc_request(self.url + '/countries', headers=self.headers)
     return (success, resp.get('error', ''))
Ejemplo n.º 28
0
 def get_orders_addeed_from_to(self, added_from, added_to):
     success, resp = oc_request(self.url + '/orders/details/added_from/%s/added_to/%s' % (added_from, added_to), headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 29
0
 def delete_order(self, order_id):
     data = {'orders': [order_id]}
     success, resp = oc_request(self.url + '/orders/%s' % order_id, headers=self.headers, method='DELETE', data=data)
     return (success, resp)
Ejemplo n.º 30
0
 def create_order(self, data):
     success, resp = oc_request(self.url + '/orderadmin', headers=self.headers, method='POST', data=data)
     return (success, resp)
Ejemplo n.º 31
0
 def get_payment_methods(self):
     success, resp = oc_request(self.url + '/paymentmethods',
                                headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 32
0
 def create_product(self, data):
     success, resp = oc_request(self.url + '/products', headers=self.headers, method='POST', data=data)
     return (success, str(resp.get('product_id', '')))
Ejemplo n.º 33
0
 def update_order(self, order_id, data):
     success, resp = oc_request(self.url + '/orders/%s' % order_id,
                                headers=self.headers,
                                method='PUT',
                                data=data)
     return (success, resp)
Ejemplo n.º 34
0
 def get_orders_addeed_from_to(self, added_from, added_to):
     success, resp = oc_request(
         self.url + '/orders/details/added_from/%s/added_to/%s' %
         (added_from, added_to),
         headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 35
0
 def get_orders(self):
     success, resp = oc_request(self.url + '/orders', headers=self.headers)
     if not success:
         return
     for o in resp.get('data'):
         yield self.get_order(o.get('order_id'))
Ejemplo n.º 36
0
 def get_init(self):
     success, resp = oc_request(self.url + '/init', headers=self.headers)
     return (success, resp.get('data', {}) if success else {})
Ejemplo n.º 37
0
 def get_order_statuses(self):
     success, resp = oc_request(self.url + '/order_statuses',
                                headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 38
0
 def delete_product(self, product_id):
     success, resp = oc_request(self.url + '/products/%s' % product_id,
                                headers=self.headers,
                                method='DELETE')
     return success
Ejemplo n.º 39
0
 def create_product(self, data):
     success, resp = oc_request(self.url + '/products',
                                headers=self.headers,
                                method='POST',
                                data=data)
     return (success, str(resp.get('product_id', '')))
Ejemplo n.º 40
0
 def update_product(self, product_id, data):
     success, resp = oc_request(self.url + '/products/%s' % product_id, headers=self.headers, method='PUT', data=data)
     return success
Ejemplo n.º 41
0
 def get_order_json(self, order_id):
     success, resp = oc_request(self.url + '/orders/%s' % order_id, headers=self.headers)
     return (success, resp.get('data', {}))
Ejemplo n.º 42
0
 def delete_product(self, product_id):
     success, resp = oc_request(self.url + '/products/%s' % product_id, headers=self.headers, method='DELETE')
     return success
Ejemplo n.º 43
0
 def update_order(self, order_id, data):
     success, resp = oc_request(self.url + '/orders/%s' % order_id, headers=self.headers, method='PUT', data=data)
     return (success, resp)
Ejemplo n.º 44
0
 def create_order(self, data):
     success, resp = oc_request(self.url + '/orderadmin',
                                headers=self.headers,
                                method='POST',
                                data=data)
     return (success, resp)
Ejemplo n.º 45
0
 def get_orders_by_customer(self, customer_id):
     success, resp = oc_request(self.url + '/orders/user/%s' % customer_id, headers=self.headers)
     if not success:
         return
     for o in resp.get('data'):
         yield self.get_order(o.get('order_id'))
Ejemplo n.º 46
0
 def get_order_json(self, order_id):
     success, resp = oc_request(self.url + '/orders/%s' % order_id,
                                headers=self.headers)
     return (success, resp.get('data', {}))
Ejemplo n.º 47
0
 def get_orders(self):
     success, resp = oc_request(self.url + '/orders', headers=self.headers)
     if not success:
         return
     for o in resp.get('data'):
         yield self.get_order(o.get('order_id'))
Ejemplo n.º 48
0
 def get_order(self, order_id):
     success, resp = oc_request(self.url + '/orders/%s' % order_id,
                                headers=self.headers)
     order = resp.get('data')
     return OpencartOrder(self, order) if order else None
Ejemplo n.º 49
0
 def get_init(self):
     success, resp = oc_request(self.url + '/init', headers=self.headers)
     return (success, resp.get('data', {}) if success else {})
Ejemplo n.º 50
0
 def get_customer(self, customer_id):
     success, resp = oc_request(self.url + '/customers/%s' % customer_id, headers=self.headers)
     return (success, resp.get('data', {}))
Ejemplo n.º 51
0
 def get_shipping_methods(self):
     success, resp = oc_request(self.url + '/shippingmethods', headers=self.headers)
     return (success, resp.get('data', []) if success else [])
Ejemplo n.º 52
0
 def create_customer(self, data):
     success, resp = oc_request(self.url + '/customers', headers=self.headers, method='POST', data=data)
     return (success, resp)
Ejemplo n.º 53
0
 def get_customer(self, customer_id):
     success, resp = oc_request(self.url + '/customers/%s' % customer_id,
                                headers=self.headers)
     return (success, resp.get('data', {}))
Ejemplo n.º 54
0
 def delete_customer(self, customer_id):
     data = {'customers': [customer_id]}
     success, resp = oc_request(self.url + '/customers', headers=self.headers, method='DELETE', data=data)
     return (success, resp)
Ejemplo n.º 55
0
 def update_product(self, product_id, data):
     success, resp = oc_request(self.url + '/products/%s' % product_id,
                                headers=self.headers,
                                method='PUT',
                                data=data)
     return success
Ejemplo n.º 56
0
 def create_customer(self, data):
     success, resp = oc_request(self.url + '/customers',
                                headers=self.headers,
                                method='POST',
                                data=data)
     return (success, resp)
Ejemplo n.º 57
0
 def get_order(self, order_id):
     success, resp = oc_request(self.url + '/orders/%s' % order_id, headers=self.headers)
     order = resp.get('data')
     return OpencartOrder(self, order) if order else None
Ejemplo n.º 58
0
 def get_shipping_methods(self):
     success, resp = oc_request(self.url + '/shippingmethods',
                                headers=self.headers)
     return (success, resp.get('data', []) if success else [])