daengine 0.5.0 → 0.5.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/lib/daengine.rb +0 -1
- data/lib/daengine/version.rb +1 -1
- metadata +6 -18
- data/lib/daengine/taxonomy_parser.rb +0 -60
    
        data/lib/daengine.rb
    CHANGED
    
    
    
        data/lib/daengine/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            name: daengine
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 4 | 
             
              prerelease:
         | 
| 5 | 
            -
              version: 0.5. | 
| 5 | 
            +
              version: 0.5.1
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| 8 8 | 
             
            - sbhatia
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire:
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2013-06- | 
| 13 | 
            +
            date: 2013-06-13 00:00:00.000000000Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: rails
         | 
| @@ -45,37 +45,26 @@ dependencies: | |
| 45 45 | 
             
              requirement: *2092
         | 
| 46 46 | 
             
              prerelease: false
         | 
| 47 47 | 
             
              type: :development
         | 
| 48 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 49 | 
            -
              name: nokogiri
         | 
| 50 | 
            -
              version_requirements: &2110 !ruby/object:Gem::Requirement
         | 
| 51 | 
            -
                requirements:
         | 
| 52 | 
            -
                - - ! '>='
         | 
| 53 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            -
                    version: '0'
         | 
| 55 | 
            -
                none: false
         | 
| 56 | 
            -
              requirement: *2110
         | 
| 57 | 
            -
              prerelease: false
         | 
| 58 | 
            -
              type: :runtime
         | 
| 59 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 60 49 | 
             
              name: mini_exiftool
         | 
| 61 | 
            -
              version_requirements: & | 
| 50 | 
            +
              version_requirements: &2110 !ruby/object:Gem::Requirement
         | 
| 62 51 | 
             
                requirements:
         | 
| 63 52 | 
             
                - - ~>
         | 
| 64 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 65 54 | 
             
                    version: '1.6'
         | 
| 66 55 | 
             
                none: false
         | 
| 67 | 
            -
              requirement: * | 
| 56 | 
            +
              requirement: *2110
         | 
| 68 57 | 
             
              prerelease: false
         | 
| 69 58 | 
             
              type: :runtime
         | 
| 70 59 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 71 60 | 
             
              name: rspec-rails
         | 
| 72 | 
            -
              version_requirements: & | 
| 61 | 
            +
              version_requirements: &2126 !ruby/object:Gem::Requirement
         | 
| 73 62 | 
             
                requirements:
         | 
| 74 63 | 
             
                - - ! '>='
         | 
| 75 64 | 
             
                  - !ruby/object:Gem::Version
         | 
| 76 65 | 
             
                    version: '0'
         | 
| 77 66 | 
             
                none: false
         | 
| 78 | 
            -
              requirement: * | 
| 67 | 
            +
              requirement: *2126
         | 
| 79 68 | 
             
              prerelease: false
         | 
| 80 69 | 
             
              type: :development
         | 
| 81 70 | 
             
            description: Daengine handles digital asset processing.
         | 
| @@ -103,7 +92,6 @@ files: | |
| 103 92 | 
             
            - lib/daengine/digital_asset_processor.rb
         | 
| 104 93 | 
             
            - lib/daengine/engine.rb
         | 
| 105 94 | 
             
            - lib/daengine/railtie.rb
         | 
| 106 | 
            -
            - lib/daengine/taxonomy_parser.rb
         | 
| 107 95 | 
             
            - lib/daengine/taxonomy_processor.rb
         | 
| 108 96 | 
             
            - lib/daengine/teamsite_metadata_parser.rb
         | 
| 109 97 | 
             
            - lib/daengine/version.rb
         | 
| @@ -1,60 +0,0 @@ | |
| 1 | 
            -
            module Daengine::TaxonomyParser
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              @@logger = nil
         | 
| 4 | 
            -
              @error_msg = []
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              def self.logger=(some_logger)
         | 
| 7 | 
            -
                @@logger = some_logger
         | 
| 8 | 
            -
                self
         | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              def self.log(args)
         | 
| 12 | 
            -
                @@logger.error(args) unless @@logger.blank?
         | 
| 13 | 
            -
              end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
              def self.parse_taxonomy_file(file)
         | 
| 16 | 
            -
                @error_msg=[]
         | 
| 17 | 
            -
                time do
         | 
| 18 | 
            -
                  doc = Nokogiri::XML(file) { |config| config.strict }
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                  TaxonomyTerm.purge! if doc.xpath('//taxonomy/facet')
         | 
| 21 | 
            -
                  doc.xpath('//taxonomy/facet').each do |i|
         | 
| 22 | 
            -
                    parse_taxonomy_term(i)
         | 
| 23 | 
            -
                  end
         | 
| 24 | 
            -
                end
         | 
| 25 | 
            -
              # rescue
         | 
| 26 | 
            -
              #   p "ERROR!  Unable to parse / update taxonomy file! #{$!.backtrace.join('\n')}"
         | 
| 27 | 
            -
              #   Daengine.log($!.backtrace.join('\n'), "error")
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
              def self.parse_taxonomy_term(entity)
         | 
| 31 | 
            -
                category = TaxonomyTerm.new
         | 
| 32 | 
            -
                category.label = entity.xpath('label').inner_html
         | 
| 33 | 
            -
                category.term_id = entity.xpath('@id')
         | 
| 34 | 
            -
                alternate_name = entity.xpath('altname/@type')
         | 
| 35 | 
            -
                unless alternate_name.blank?
         | 
| 36 | 
            -
                  a_text = entity.xpath('altname').inner_html
         | 
| 37 | 
            -
                  category.term_type = {alternate_name[0].value => a_text}
         | 
| 38 | 
            -
                end
         | 
| 39 | 
            -
                entity.xpath('term').each do |j|
         | 
| 40 | 
            -
                  a_term = parse_taxonomy_term(j)
         | 
| 41 | 
            -
                  # a_term.parent_term = category
         | 
| 42 | 
            -
                  category.child_terms << a_term
         | 
| 43 | 
            -
                end
         | 
| 44 | 
            -
                # end
         | 
| 45 | 
            -
                # begin
         | 
| 46 | 
            -
                  category.save!
         | 
| 47 | 
            -
                # rescue Exception => e
         | 
| 48 | 
            -
                  #puts "--**Exception**-- #{e}"
         | 
| 49 | 
            -
                  # p "Failed to add record #{category.try(:label)}, #{category.try(:errors).try(:full_messages)}"
         | 
| 50 | 
            -
                # end
         | 
| 51 | 
            -
                category
         | 
| 52 | 
            -
              end
         | 
| 53 | 
            -
             | 
| 54 | 
            -
              def self.time
         | 
| 55 | 
            -
                start = Time.now
         | 
| 56 | 
            -
                yield
         | 
| 57 | 
            -
                self.log "elapsed time was #{Time.now - start}"
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
            end
         |