def create(self, order_id, *args, **kwargs):
if not args and not kwargs:<EOL><INDENT>raise Exception('<STR_LIT>')<EOL><DEDENT>attributes = args[<NUM_LIT:0>] if args else kwargs<EOL>attributes = dict((k, v) for k, v in attributes.iteritems() if k in self.OPTS_KEYS_TO_PERSIST)<EOL>_, _, line_item = self.http_client.post("<STR_LIT>".format(order_id=order_id), body=attributes)<EOL>return line_item<EOL>
Create a line item

Adds a new line item to an existing order
Line items correspond to products in the catalog, so first you must create products
Because products allow defining different prices in different currencies, when creating a line item, the parameter currency is required

:calls: ``post /orders/{order_id}/line_items``
:param int order_id: Unique identifier of a Order.
:param tuple *args: (optional) Single object representing LineItem resource.
:param dict **kwargs: (optional) LineItem attributes.
:return: Dictionary that support attriubte-style access and represents newely created LineItem resource.
:rtype: dict