idata 0.0.1 → 0.0.2
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/iload +24 -3
- data/lib/idata/version.rb +1 -1
- metadata +103 -79
- checksums.yaml +0 -7
    
        data/bin/iload
    CHANGED
    
    | @@ -17,6 +17,15 @@ require 'fileutils' | |
| 17 17 | 
             
            SUPPORTED_INPUT_FORMATS = ['CSV', 'FX']
         | 
| 18 18 | 
             
            POSTGRESQL_PORT = 5432
         | 
| 19 19 | 
             
            CSV_DEFAULT_DELIMITER = ','
         | 
| 20 | 
            +
            CSV_DEFAULT_QUOTE = '"'
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            PG_TAB = "E'\t'"
         | 
| 23 | 
            +
            PG_BACKSPACE = "E'\b'"
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            PG_CHAR_MAP = {
         | 
| 26 | 
            +
              "\t" => PG_TAB,
         | 
| 27 | 
            +
              "\b" => PG_BACKSPACE
         | 
| 28 | 
            +
            }
         | 
| 20 29 |  | 
| 21 30 | 
             
            $options = {}
         | 
| 22 31 | 
             
            parser = OptionParser.new("", 24) do |opts|
         | 
| @@ -34,6 +43,10 @@ parser = OptionParser.new("", 24) do |opts| | |
| 34 43 | 
             
                $options[:delim] = v
         | 
| 35 44 | 
             
              end
         | 
| 36 45 |  | 
| 46 | 
            +
              opts.on("--quote QUOTE", "Default to '\"'") do |v|
         | 
| 47 | 
            +
                $options[:quote] = v
         | 
| 48 | 
            +
              end
         | 
| 49 | 
            +
             | 
| 37 50 | 
             
              # opts.on("-o", "--output CSV", "Temporary CSV output file") do |v|
         | 
| 38 51 | 
             
              #   $options[:output] = v
         | 
| 39 52 | 
             
              # end
         | 
| @@ -141,7 +154,8 @@ end | |
| 141 154 | 
             
            # Default value
         | 
| 142 155 | 
             
            $options[:listen] ||= POSTGRESQL_PORT
         | 
| 143 156 | 
             
            $options[:delim] ||= CSV_DEFAULT_DELIMITER
         | 
| 144 | 
            -
            $options[: | 
| 157 | 
            +
            $options[:quote] ||= CSV_DEFAULT_QUOTE
         | 
| 158 | 
            +
             | 
| 145 159 | 
             
            $tmpfile = "/tmp/#{Digest::SHA1.hexdigest(rand(100000).to_s)}.csv"
         | 
| 146 160 |  | 
| 147 161 | 
             
            # Database dump
         | 
| @@ -233,9 +247,16 @@ class MyParser | |
| 233 247 | 
             
                query(create_table_sql)
         | 
| 234 248 |  | 
| 235 249 | 
             
                # Dump data
         | 
| 236 | 
            -
                pg_tab = "E'\t'" if $options[:delim] == "\t"
         | 
| 250 | 
            +
                #pg_tab = "E'\t'" if $options[:delim] == "\t"
         | 
| 251 | 
            +
             | 
| 252 | 
            +
                tab = PG_CHAR_MAP[$options[:delim]]
         | 
| 253 | 
            +
                tab ||= "'#{$options[:delim]}'"
         | 
| 254 | 
            +
             | 
| 255 | 
            +
                quote = PG_CHAR_MAP[$options[:quote]]
         | 
| 256 | 
            +
                quote = "'#{$options[:quote]}'"
         | 
| 257 | 
            +
                
         | 
| 237 258 | 
             
                insert_data_sql = headers.map{|e| "\"#{e}\""}.join(",")
         | 
| 238 | 
            -
                insert_data_sql = "COPY #{$options[:table]}( #{insert_data_sql} ) FROM '#{csv_path}' DELIMITER #{ | 
| 259 | 
            +
                insert_data_sql = "COPY #{$options[:table]}( #{insert_data_sql} ) FROM '#{csv_path}' DELIMITER #{tab} CSV HEADER QUOTE #{quote};"
         | 
| 239 260 |  | 
| 240 261 | 
             
                # Change output file permission so that postgres user can read it
         | 
| 241 262 | 
             
                begin
         | 
    
        data/lib/idata/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,75 +1,86 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification
         | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: idata
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
               | 
| 3 | 
            +
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            +
              hash: 27
         | 
| 5 | 
            +
              prerelease: false
         | 
| 6 | 
            +
              segments: 
         | 
| 7 | 
            +
              - 0
         | 
| 8 | 
            +
              - 0
         | 
| 9 | 
            +
              - 2
         | 
| 10 | 
            +
              version: 0.0.2
         | 
| 5 11 | 
             
            platform: ruby
         | 
| 6 | 
            -
            authors:
         | 
| 12 | 
            +
            authors: 
         | 
| 7 13 | 
             
            - Nghi Pham
         | 
| 8 14 | 
             
            autorequire: 
         | 
| 9 15 | 
             
            bindir: bin
         | 
| 10 16 | 
             
            cert_chain: []
         | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 17 | 
            +
             | 
| 18 | 
            +
            date: 2014-04-21 00:00:00 +07:00
         | 
| 19 | 
            +
            default_executable: 
         | 
| 20 | 
            +
            dependencies: 
         | 
| 21 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 14 22 | 
             
              name: bundler
         | 
| 15 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            -
                requirements:
         | 
| 17 | 
            -
                - - '>='
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: '1.3'
         | 
| 20 | 
            -
              type: :development
         | 
| 21 23 | 
             
              prerelease: false
         | 
| 22 | 
            -
               | 
| 23 | 
            -
                 | 
| 24 | 
            -
                 | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: '0.9'
         | 
| 24 | 
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 25 | 
            +
                none: false
         | 
| 26 | 
            +
                requirements: 
         | 
| 27 | 
            +
                - - ">="
         | 
| 28 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 29 | 
            +
                    hash: 9
         | 
| 30 | 
            +
                    segments: 
         | 
| 31 | 
            +
                    - 1
         | 
| 32 | 
            +
                    - 3
         | 
| 33 | 
            +
                    version: "1.3"
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 | 
            +
              version_requirements: *id001
         | 
| 36 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 37 | 
            +
              name: rake
         | 
| 35 38 | 
             
              prerelease: false
         | 
| 36 | 
            -
               | 
| 37 | 
            -
                 | 
| 38 | 
            -
                 | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 39 | 
            +
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 40 | 
            +
                none: false
         | 
| 41 | 
            +
                requirements: 
         | 
| 42 | 
            +
                - - ">="
         | 
| 43 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 44 | 
            +
                    hash: 25
         | 
| 45 | 
            +
                    segments: 
         | 
| 46 | 
            +
                    - 0
         | 
| 47 | 
            +
                    - 9
         | 
| 48 | 
            +
                    version: "0.9"
         | 
| 49 | 
            +
              type: :development
         | 
| 50 | 
            +
              version_requirements: *id002
         | 
| 51 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 42 52 | 
             
              name: rails
         | 
| 43 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            -
                requirements:
         | 
| 45 | 
            -
                - - '>='
         | 
| 46 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: '4.0'
         | 
| 48 | 
            -
              type: :runtime
         | 
| 49 53 | 
             
              prerelease: false
         | 
| 50 | 
            -
               | 
| 51 | 
            -
                 | 
| 52 | 
            -
                 | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: '0'
         | 
| 54 | 
            +
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 55 | 
            +
                none: false
         | 
| 56 | 
            +
                requirements: 
         | 
| 57 | 
            +
                - - ">="
         | 
| 58 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 59 | 
            +
                    hash: 27
         | 
| 60 | 
            +
                    segments: 
         | 
| 61 | 
            +
                    - 4
         | 
| 62 | 
            +
                    - 0
         | 
| 63 | 
            +
                    version: "4.0"
         | 
| 62 64 | 
             
              type: :runtime
         | 
| 65 | 
            +
              version_requirements: *id003
         | 
| 66 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 67 | 
            +
              name: pg
         | 
| 63 68 | 
             
              prerelease: false
         | 
| 64 | 
            -
               | 
| 65 | 
            -
                 | 
| 66 | 
            -
                 | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            +
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 70 | 
            +
                none: false
         | 
| 71 | 
            +
                requirements: 
         | 
| 72 | 
            +
                - - ">="
         | 
| 73 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 74 | 
            +
                    hash: 3
         | 
| 75 | 
            +
                    segments: 
         | 
| 76 | 
            +
                    - 0
         | 
| 77 | 
            +
                    version: "0"
         | 
| 78 | 
            +
              type: :runtime
         | 
| 79 | 
            +
              version_requirements: *id004
         | 
| 69 80 | 
             
            description: Tools for importing data from raw files
         | 
| 70 | 
            -
            email:
         | 
| 81 | 
            +
            email: 
         | 
| 71 82 | 
             
            - minhnghivn@gmail.com
         | 
| 72 | 
            -
            executables:
         | 
| 83 | 
            +
            executables: 
         | 
| 73 84 | 
             
            - iload
         | 
| 74 85 | 
             
            - ieval
         | 
| 75 86 | 
             
            - ipatch
         | 
| @@ -77,44 +88,57 @@ executables: | |
| 77 88 | 
             
            - iexport
         | 
| 78 89 | 
             
            - isanitize
         | 
| 79 90 | 
             
            extensions: []
         | 
| 91 | 
            +
             | 
| 80 92 | 
             
            extra_rdoc_files: []
         | 
| 81 | 
            -
             | 
| 93 | 
            +
             | 
| 94 | 
            +
            files: 
         | 
| 82 95 | 
             
            - .gitignore
         | 
| 83 96 | 
             
            - Gemfile
         | 
| 84 97 | 
             
            - LICENSE.txt
         | 
| 85 98 | 
             
            - README.md
         | 
| 86 99 | 
             
            - Rakefile
         | 
| 87 | 
            -
            - bin/ieval
         | 
| 88 | 
            -
            - bin/iexport
         | 
| 89 | 
            -
            - bin/iload
         | 
| 90 | 
            -
            - bin/ipatch
         | 
| 91 | 
            -
            - bin/isanitize
         | 
| 92 | 
            -
            - bin/ivalidate
         | 
| 93 100 | 
             
            - idata.gemspec
         | 
| 94 101 | 
             
            - lib/idata.rb
         | 
| 95 102 | 
             
            - lib/idata/version.rb
         | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 103 | 
            +
            - bin/iload
         | 
| 104 | 
            +
            - bin/ieval
         | 
| 105 | 
            +
            - bin/ipatch
         | 
| 106 | 
            +
            - bin/ivalidate
         | 
| 107 | 
            +
            - bin/iexport
         | 
| 108 | 
            +
            - bin/isanitize
         | 
| 109 | 
            +
            has_rdoc: true
         | 
| 110 | 
            +
            homepage: ""
         | 
| 111 | 
            +
            licenses: 
         | 
| 98 112 | 
             
            - MIT
         | 
| 99 | 
            -
            metadata: {}
         | 
| 100 113 | 
             
            post_install_message: 
         | 
| 101 114 | 
             
            rdoc_options: []
         | 
| 102 | 
            -
             | 
| 115 | 
            +
             | 
| 116 | 
            +
            require_paths: 
         | 
| 103 117 | 
             
            - lib
         | 
| 104 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 105 | 
            -
               | 
| 106 | 
            -
               | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
             | 
| 118 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| 119 | 
            +
              none: false
         | 
| 120 | 
            +
              requirements: 
         | 
| 121 | 
            +
              - - ">="
         | 
| 122 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 123 | 
            +
                  hash: 3
         | 
| 124 | 
            +
                  segments: 
         | 
| 125 | 
            +
                  - 0
         | 
| 126 | 
            +
                  version: "0"
         | 
| 127 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 128 | 
            +
              none: false
         | 
| 129 | 
            +
              requirements: 
         | 
| 130 | 
            +
              - - ">="
         | 
| 131 | 
            +
                - !ruby/object:Gem::Version 
         | 
| 132 | 
            +
                  hash: 3
         | 
| 133 | 
            +
                  segments: 
         | 
| 134 | 
            +
                  - 0
         | 
| 135 | 
            +
                  version: "0"
         | 
| 114 136 | 
             
            requirements: []
         | 
| 137 | 
            +
             | 
| 115 138 | 
             
            rubyforge_project: 
         | 
| 116 | 
            -
            rubygems_version:  | 
| 139 | 
            +
            rubygems_version: 1.3.7
         | 
| 117 140 | 
             
            signing_key: 
         | 
| 118 | 
            -
            specification_version:  | 
| 141 | 
            +
            specification_version: 3
         | 
| 119 142 | 
             
            summary: Tools for importing data from raw files
         | 
| 120 143 | 
             
            test_files: []
         | 
| 144 | 
            +
             | 
    
        checksums.yaml
    DELETED
    
    | @@ -1,7 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            SHA1:
         | 
| 3 | 
            -
              metadata.gz: 27e594b49b95b536a5d01ed6f90155751104ec1a
         | 
| 4 | 
            -
              data.tar.gz: a4e52832bccdc2ab55ae33e7e6f659857b800991
         | 
| 5 | 
            -
            SHA512:
         | 
| 6 | 
            -
              metadata.gz: f55f15be3fbc959bcfacdb68f2b45e5b97fa560ee953890a66eb5a4715366019240e61c1b9ef36df9ed77d0ba396d6e38b32177a555d75aeb4f0deb04ae99757
         | 
| 7 | 
            -
              data.tar.gz: 0e8061590a8d5da84ee9f74d137c2f6d022a58009d9d56ca965241c10e064a9cde59fb1f0d784cab643d88d19c1cdbe3a2f688ce2bbfcc42f4cd50b14e2bcfda
         |