astroboa-cli 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/bin/astroboa-cli CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: UTF-8
2
+ # encoding: utf-8
3
3
 
4
4
  begin
5
5
  require "pathname"
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  # This file contains modifications of work covered by the following copyright and
4
4
  # permission notice:
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  require 'astroboa-cli/command/base'
4
4
  require 'nokogiri'
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  require 'astroboa-cli/command/base'
4
4
  require 'fileutils'
@@ -46,19 +46,6 @@ class AstroboaCLI::Command::Repository < AstroboaCLI::Command::Base
46
46
 
47
47
  server_configuration = get_server_configuration
48
48
 
49
- # try to load the 'pg' library if repository is backed by postgres
50
- unless server_configuration['database'] == 'derby'
51
- error <<-MSG unless gem_available?('pg')
52
- You should manually install the 'pg' gem if you want to create repositories backed by postgres
53
- astroboa-cli gem does not automatically install 'pg' gem since in some environments (e.g. MAC OS X) this might require
54
- to have a local postgres already installed, which in turn is too much if you do not care about postgres.
55
- In *Ubuntu Linux* run first 'sudo apt-get install libpq-dev' and then run 'gem install pg'.
56
- For MAC OS x read http://deveiate.org/code/pg/README-OS_X_rdoc.html to learn how to install the 'pg' gem.
57
- MSG
58
-
59
- require 'pg'
60
- end
61
-
62
49
  check_repo_existense(server_configuration, repository_name)
63
50
 
64
51
  database_name = options[:db_name] ||= repository_name
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  require 'astroboa-cli/command/base'
4
4
  require 'astroboa-cli/command/repository'
@@ -336,7 +336,7 @@ private
336
336
  download_package(@astroboa_setup_templates_download_url, @install_dir) unless File.size?(File.join(@install_dir, @astroboa_setup_templates_package)) == 11030750
337
337
 
338
338
  # download astroboa schemas
339
- download_package(@schemas_download_url, @install_dir) unless File.size?(File.join(@install_dir, @schemas_download_url)) == 28426
339
+ download_package(@schemas_download_url, @install_dir) unless File.size?(File.join(@install_dir, @schemas_package)) == 28426
340
340
  end
341
341
 
342
342
 
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  require 'astroboa-cli/command/base'
4
4
  require 'fileutils'
@@ -463,8 +463,26 @@ module AstroboaCLI
463
463
  end
464
464
 
465
465
 
466
+ def load_pg_library(server_configuration)
467
+ # try to load the 'pg' library if repository is backed by postgres
468
+ unless server_configuration['database'] == 'derby'
469
+ error <<-MSG unless gem_available?('pg')
470
+ You should manually install the 'pg' gem if you want to create repositories backed by postgres
471
+ astroboa-cli gem does not automatically install 'pg' gem since in some environments (e.g. MAC OS X) this might require
472
+ to have a local postgres already installed, which in turn is too much if you do not care about postgres.
473
+ In *Ubuntu Linux* run first 'sudo apt-get install libpq-dev' and then run 'gem install pg'.
474
+ For MAC OS x read http://deveiate.org/code/pg/README-OS_X_rdoc.html to learn how to install the 'pg' gem.
475
+ MSG
476
+
477
+ require 'pg'
478
+ end
479
+ end
480
+
466
481
  def create_postgresql_db(server_configuration, database_name)
482
+ load_pg_library(server_configuration)
483
+
467
484
  database_admin, database_admin_password, database_server = get_postgresql_config(server_configuration)
485
+
468
486
  begin
469
487
  conn = PG.connect(
470
488
  host: database_server,
@@ -479,7 +497,9 @@ module AstroboaCLI
479
497
  display "Database #{database_name} exists. You may run the command with --db_name repo_db_name to specify a different database name"
480
498
  raise
481
499
  end
482
-
500
+
501
+ display "Check that database #{database_name} does not exist: OK"
502
+
483
503
  res = conn.exec("CREATE DATABASE #{database_name} ENCODING 'UNICODE'")
484
504
  if res.result_status == PG::Result::PGRES_COMMAND_OK
485
505
  display %(Create Postges database "#{database_name}" : OK)
@@ -492,9 +512,10 @@ module AstroboaCLI
492
512
  display "The error is: #{res.error_message}"
493
513
  display %(The error trace is \n #{e.backtrace.join("\n")})
494
514
  raise
495
- else
515
+ rescue
496
516
  display %(An error has occured during the creation of postgres database "#{database_name}")
497
517
  display %(The error trace is \n #{e.backtrace.join("\n")})
518
+ raise
498
519
  ensure
499
520
  conn.finish if conn && !conn.finished?
500
521
  end
@@ -502,7 +523,10 @@ module AstroboaCLI
502
523
 
503
524
 
504
525
  def drop_postgresql_db(server_configuration, database_name)
526
+ load_pg_library(server_configuration)
527
+
505
528
  database_admin, database_admin_password, database_server = get_postgresql_config(server_configuration)
529
+
506
530
  begin
507
531
  conn = PG.connect(
508
532
  :host => database_server,
@@ -531,9 +555,10 @@ module AstroboaCLI
531
555
  display "The error is: #{res.error_message}"
532
556
  display %(The error trace is \n #{e.backtrace.join("\n")})
533
557
  raise
534
- else
558
+ rescue
535
559
  display %(An error has occured during the deletion of postgres database "#{database_name}")
536
560
  display %(The error trace is \n #{e.backtrace.join("\n")})
561
+ raise
537
562
  ensure
538
563
  conn.finish if conn && !conn.finished?
539
564
  end
@@ -1,3 +1,3 @@
1
1
  module AstroboaCLI
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
data/lib/astroboa-cli.rb CHANGED
@@ -1,4 +1,4 @@
1
- # encoding: UTF-8
1
+ # encoding: utf-8
2
2
 
3
3
  # Astroboa CLI has been inspired by the design of Heroku client
4
4
  # and contains some adapted code (mainly in the base.rb and command.rb files)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: astroboa-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-05 00:00:00.000000000 Z
13
+ date: 2012-11-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: progressbar