Show More
@@ -29,7 +29,7 b' from IPython.core.application import (' | |||
|
29 | 29 | BaseIPythonApplication, base_flags, base_aliases |
|
30 | 30 | ) |
|
31 | 31 | from IPython.core.profiledir import ProfileDir |
|
32 | from IPython.utils.path import get_ipython_dir | |
|
32 | from IPython.utils.path import get_ipython_dir, get_ipython_package_dir | |
|
33 | 33 | from IPython.utils.traitlets import Unicode, Bool, Dict |
|
34 | 34 | |
|
35 | 35 | #----------------------------------------------------------------------------- |
@@ -115,20 +115,53 b' class ProfileList(Application):' | |||
|
115 | 115 | the environment variable IPYTHON_DIR. |
|
116 | 116 | """ |
|
117 | 117 | ) |
|
118 | ||
|
118 | ||
|
119 | def _list_profiles_in(self, path): | |
|
120 | """list profiles in a given root directory""" | |
|
121 | files = os.listdir(path) | |
|
122 | profiles = [] | |
|
123 | for f in files: | |
|
124 | full_path = os.path.join(path, f) | |
|
125 | if os.path.isdir(full_path) and f.startswith('profile_'): | |
|
126 | profiles.append(f.split('_',1)[-1]) | |
|
127 | return profiles | |
|
128 | ||
|
129 | def _list_bundled_profiles(self): | |
|
130 | """list profiles in a given root directory""" | |
|
131 | path = os.path.join(get_ipython_package_dir(), u'config', u'profile') | |
|
132 | files = os.listdir(path) | |
|
133 | profiles = [] | |
|
134 | for profile in files: | |
|
135 | full_path = os.path.join(path, profile) | |
|
136 | if os.path.isdir(full_path): | |
|
137 | profiles.append(profile) | |
|
138 | return profiles | |
|
139 | ||
|
119 | 140 | def list_profile_dirs(self): |
|
120 | # Find the search paths | |
|
121 | paths = [os.getcwdu(), self.ipython_dir] | |
|
122 | ||
|
123 | self.log.warn('Searching for IPython profiles in paths: %r' % paths) | |
|
124 |
for p |
|
|
125 | files = os.listdir(path) | |
|
126 |
|
|
|
127 | full_path = os.path.join(path, f) | |
|
128 | if os.path.isdir(full_path) and f.startswith('profile_'): | |
|
129 | profile = f.split('_',1)[-1] | |
|
130 | start_cmd = 'ipython --profile=%s' % profile | |
|
131 | print start_cmd + " ==> " + full_path | |
|
141 | profiles = self._list_bundled_profiles() | |
|
142 | if profiles: | |
|
143 | ||
|
144 | print "Available profiles in IPython:" | |
|
145 | for profile in profiles: | |
|
146 | print ' ipython --profile=%s' % profile | |
|
147 | ||
|
148 | print " The first request for a bundled profile will copy it" | |
|
149 | print " into your IPython directory (%s)," % self.ipython_dir | |
|
150 | print " where you can customize it to your needs." | |
|
151 | ||
|
152 | profiles = self._list_profiles_in(self.ipython_dir) | |
|
153 | if profiles: | |
|
154 | ||
|
155 | print "Available profiles in %s:" % self.ipython_dir | |
|
156 | for profile in profiles: | |
|
157 | print ' ipython --profile=%s' % profile | |
|
158 | ||
|
159 | profiles = self._list_profiles_in(os.getcwdu()) | |
|
160 | if profiles: | |
|
161 | ||
|
162 | print "Available profiles in current directory (%s):" % os.getcwdu() | |
|
163 | for profile in profiles: | |
|
164 | print ' ipython --profile=%s' % profile | |
|
132 | 165 | |
|
133 | 166 | def start(self): |
|
134 | 167 | self.list_profile_dirs() |
General Comments 0
You need to be logged in to leave comments.
Login now