From 651462acf14b22a5e165926b46afd8776c31bba8 Mon Sep 17 00:00:00 2001 From: chakib benziane Date: Fri, 23 May 2014 16:15:34 +0200 Subject: [PATCH] we can use a custom browser binary --- CHANGES.rst | 4 ++++ README.rst | 6 ++++++ tmpbrowse/__init__.py | 2 +- tmpbrowse/tmpbrowse.py | 24 ++++++++++++++++++------ 4 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 CHANGES.rst diff --git a/CHANGES.rst b/CHANGES.rst new file mode 100644 index 0000000..02d254a --- /dev/null +++ b/CHANGES.rst @@ -0,0 +1,4 @@ +0.0.3 +------------------ + +- we can use a custom browser binary with --browser-bin argument \ No newline at end of file diff --git a/README.rst b/README.rst index 52dbe2d..89cb890 100644 --- a/README.rst +++ b/README.rst @@ -23,4 +23,10 @@ Usage :: +TODO +==== + +- Better browser abstraction + + diff --git a/tmpbrowse/__init__.py b/tmpbrowse/__init__.py index d18f409..ffcc925 100644 --- a/tmpbrowse/__init__.py +++ b/tmpbrowse/__init__.py @@ -1 +1 @@ -__version__ = '0.0.2' +__version__ = '0.0.3' diff --git a/tmpbrowse/tmpbrowse.py b/tmpbrowse/tmpbrowse.py index bdfe067..36decb3 100755 --- a/tmpbrowse/tmpbrowse.py +++ b/tmpbrowse/tmpbrowse.py @@ -8,14 +8,21 @@ import shutil import sys -CHROME_BIN = 'google-chrome' +DEFAULT_CHROME_BIN = 'google-chrome' CHROME_PARAMS = '--user-data-dir=' USER_DIRS = os.path.join(os.environ['HOME'], '.chrome_dirs') -class SpawnChrome(object): +class SpawnBrowser(object): def __init__(self, args): self.my_args = args[0] self.chrome_args = args[1] + + if self.my_args.browser_bin is not None: + self.browser_bin = self.my_args.browser_bin + else: + self.browser_bin = DEFAULT_CHROME_BIN + + if self.my_args.project_name: self.project_name = self.my_args.project_name self.project_path = os.path.join(USER_DIRS, self.project_name) @@ -29,7 +36,7 @@ class SpawnChrome(object): def spawn_chrome(self): # build the base chrome command - chrome_args = [CHROME_BIN] + [CHROME_PARAMS + self.project_path] + chrome_args = [self.browser_bin] + [CHROME_PARAMS + self.project_path] # add any additional params passed to chrome chrome_args += self.chrome_args subprocess.call(chrome_args) @@ -50,22 +57,27 @@ def cli_run(): help='Project name to spawn a chrome instance for ') parser.add_argument('-l', help='List existing chrome project dirs', action='store_true') + parser.add_argument('--browser-bin', dest='browser_bin', + help='Custom browser binary to call') + parser.add_argument('-d', '--remove-project', help='Removes the corresponding project dir from chrome dirs', nargs=1) + args = parser.parse_known_args() + if args[0].project_name: - spawn = SpawnChrome(args) + spawn = SpawnBrowser(args) spawn.mk_project_dir() spawn.spawn_chrome() if args[0].l: - spawn = SpawnChrome(args) + spawn = SpawnBrowser(args) spawn.ls_projects() if args[0].remove_project: - spawn = SpawnChrome(args) + spawn = SpawnBrowser(args) spawn.rm_project(args[0].remove_project[0]) if len(sys.argv) == 1: parser.print_help()