diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index a0bd495..dd81540 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -365,8 +365,8 @@
 		# load attributes
 		for v in context.variants:
 			v.attributes = frappe.get_all("Item Variant Attribute",
-				  fields=["attribute", "attribute_value"],
-				  filters={"parent": v.name})
+				fields=["attribute", "attribute_value"],
+				filters={"parent": v.name})
 			# make a map for easier access in templates
 			v.attribute_map = frappe._dict({})
 			for attr in v.attributes:
@@ -1256,7 +1256,7 @@
 
 	inverse_match = frappe.db.get_value("UOM Conversion Factor", {"to_uom": from_uom, "from_uom": to_uom}, ["value"], as_dict=1)
 	if inverse_match:
-		 return 1 / inverse_match.value
+		return 1 / inverse_match.value
 
 	# This attempts to try and get conversion from intermediate UOM.
 	# case:
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 9adacdf..406039d 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -518,11 +518,11 @@
 
 	def test_attribute_completions(self):
 		expected_attrs = [{'attribute_value': 'Small'},
-		 {'attribute_value': 'Extra Small'},
-		 {'attribute_value': 'Extra Large'},
-		 {'attribute_value': 'Large'},
-		 {'attribute_value': '2XL'},
-		 {'attribute_value': 'Medium'}]
+			{'attribute_value': 'Extra Small'},
+			{'attribute_value': 'Extra Large'},
+			{'attribute_value': 'Large'},
+			{'attribute_value': '2XL'},
+			{'attribute_value': 'Medium'}]
 
 		attrs = get_item_attribute("Test Size")
 		self.assertEqual(attrs, expected_attrs)
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 96b1cad..b9f9190 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -96,7 +96,7 @@
 
 	def validate_data(self):
 		def _get_msg(row_num, msg):
-			return _("Row # {0}: ").format(row_num+1) + msg
+			return _("Row # {0}:").format(row_num+1) + " " + msg
 
 		self.validation_messages = []
 		item_warehouse_combinations = []
@@ -182,7 +182,7 @@
 			validate_cancelled_item(item_code, item.docstatus)
 
 		except Exception as e:
-			self.validation_messages.append(_("Row # ") + ("%d: " % (row.idx)) + cstr(e))
+			self.validation_messages.append(_("Row #") + " " + ("%d: " % (row.idx)) + cstr(e))
 
 	def update_stock_ledger(self):
 		"""	find difference between current and expected entries
