'Get raw material details like uom, desc and rate'

def get_bom_material_detail(self, args=None):

    if (not args):
        args = frappe.form_dict.get(u'args')
    if isinstance(args, basestring):
        import json
        args = json.loads(args)
    item = self.get_item_det(args[u'item_code'])
    self.validate_rm_item(item)
    args[u'bom_no'] = (args[u'bom_no'] or (item and cstr(item[0][u'default_bom'])) or u'')
    args.update(item[0])
    rate = self.get_rm_rate(args)
    ret_item = {u'item_name': ((item and args[u'item_name']) or u''), u'description': ((item and args[u'description']) or u''), u'image': ((item and args[u'image']) or u''), u'stock_uom': ((item and args[u'stock_uom']) or u''), u'uom': ((item and args[u'stock_uom']) or u''), u'conversion_factor': 1, u'bom_no': args[u'bom_no'], u'rate': rate, u'stock_qty': (args.get(u'qty') or args.get(u'stock_qty') or 1), u'base_rate': (rate if (self.company_currency() == self.currency) else (rate * self.conversion_rate))}
    return ret_item
