Michał Górny avatar Michał Górny committed 3d7f366

Support old IPython API as well.

Comments (0)

Files changed (1)

gentoopm/querycli.py

 		Run a Python shell with current PM selected.
 		"""
 		def __call__(self, pm, args):
+			welc = "The %s PM is now available as 'pm' object." % pm.name
+			kwargs = {}
+
 			try:
 				from IPython import embed
 			except ImportError:
-				self._arg.error('IPython >= 0.11 required for shell')
-				return 1
-
-			welc = "The %s PM is now available as 'pm' object." % pm.name
-			embed(banner2 = welc)
+				try:
+					from IPython.Shell import IPShellEmbed
+				except ImportError:
+					self._arg.error('IPython required for shell')
+					return 1
+				else:
+					embed = IPShellEmbed()
+					embed.set_banner(embed.IP.BANNER + '\n\n' + welc)
+			else:
+				kwargs['banner2'] = welc
+
+			embed(**kwargs)
 
 	def __iter__(self):
 		for k in dir(self):
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.